An Approximate Global Illumination System for Computer Generated Films

An Approximate Global Illumination System for Computer Generated Films

An Approximate Global Illumination System for Computer Generated Films Eric Tabellion* Arnauld Lamorlette† PDI/DreamWorks Abstract Lighting models used in the production of computer generated feature animation have to be flexible, easy to control, and efficient to compute. Global illumination techniques do not lend themselves easily to flexibility, ease of use, or speed, and have remained out of reach thus far for the vast majority of images generated in this context. This paper describes the implementation and integration of indirect illumination within a feature animation production renderer. For efficiency reasons, we choose to partially solve the rendering equation. We explain how this compromise allows us to speed-up final gathering calculations and reduce noise. We describe an efficient ray tracing strategy and its integration with a micro-polygon based scan line renderer supporting displacement mapping and programmable shaders. We combine a modified irradiance gradient caching technique with an (a) direct and indirect lighting (b) direct lighting only approximate lighting model that enhances caching coherence and provides good scalability to render complex scenes into high- Figure 1: Example of a character in outside lighting conditions. (a) and resolution images suitable for film. We describe the tools that are (b) were rendered respectively with and without indirect lighting. made available to the artists to control indirect lighting in final elements within live action plates. Comparatively, very little renders. We show that our approach provides an efficient solution, animation work utilizes global illumination effects in its visuals. easy to art direct, that allows animators to enhance considerably Generally, simpler direct lighting models are used to render very the quality of images generated for a large category of production complex and highly detailed scenes. As a result, important light work. interactions between the elements of a scene are missing. Computer animation requires repeated rendering of a very large CR Categories: I.3.3 [Computer Graphics]: Picture/Image set of images, while simultaneously pursuing a highly stylized Generation; I.3.7 [Computer Graphics]: Three-Dimensional goal. To use global illumination in this image making process, the Graphics and Realism render times have to be minimized, and tools must be provided to enable flexible art direction with a very short feedback loop. Keywords: global illumination, distributed ray tracing, irradiance To address this need, we have developed an indirect caching, rendering, micro-polygon illumination tool, addressing critical constraints: workflow efficiency and controllability. We orient our efforts towards 1 Introduction rendering the global illumination effects that offer the most significant visual contribution without degrading performance, Typical production renderers use many principles of the Reyes using a number of techniques that speed-up calculations architecture [Cook et al. 1987]. They are designed primarily to significantly. We only consider a coarse geometric tessellation of handle the tremendous amount of geometry and textures used in the geometry during ray tracing, using an appropriate biasing production. These renderers tend to use techniques such as technique. Radiant exitance texture maps are used to accelerate streaming and caching because most scenes will not fit into the final gathering and to help reduce the noise of final renders. We computer's main memory. Such renderers usually offer a flexible use irradiance caching and enhance its efficiency and applicability interface through programmable shaders [Upstill 1990; Driemeyer to non-diffuse surfaces, by using it in conjunction with an and Herken 2003], that allows users to implement customized approximate lighting model. Falloff and color correction controls lighting and shading models. They also extend their feature set allow the user to make final shading adjustments. As a result, we and shading language to offer global illumination techniques, make visually acceptable approximations, and give the artist an providing strategies to ray trace complex geometry. efficient tool that greatly enhances creative possibilities. The special effects industry has been taking advantage of ray In this paper, we describe our rendering system and its tracing, to physically simulate and match the look of real underlying techniques. First, we outline the previous research that materials and lighting conditions [Apodaca et al. 2002]. Those inspired our work. A brief overview of our system is provided, techniques greatly facilitate the integration of computer-generated f o l l o w e d b y a d e s c r i p t i o n of the approximations we make and the -------------------------------------------- optimizations we apply. We describe the tool that we have *e-mail: [email protected] † developed, its usability and its workflow. Finally, images and e-mail: [email protected] render times resulting from using this tool during the production of an animated feature film are discussed. 2 Previous Work © ACM, (2004). This is the author’s version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive Global illumination has been the subject of much research in the version was published in Siggraph 2004 Proceedings, {VOL#, ISS#, 08/2004} past two decades. Solving a broader category of light paths than http://portal.acm.org/portal.cfm radiosity algorithms, Monte Carlo path tracing was first used by Kajiya [1986] to solve the rendering equation. Although very determines if a cached sample can be reused at a given location, general and simple to implement, this technique is very slow. For or if it should be disregarded. This technique greatly improves the solution to converge, the number of paths that need to be rendering efficiency since it avoids sampling indirect illumination sampled in the direction of the light is excessive. Alternative at every pixel in the rendered image. Unfortunately the technique methods such as light tracing use sample paths originating from does not apply well and loses its benefit when considering the light sources instead. Since the number of possible paths here surfaces with complex bidirectional reflectance distribution is also very large, efficient light tracing requires the use of functions (BRDFs). probability density functions to concentrate the effectiveness of The optimizations described in section 4 build upon this the random walk towards the camera [Dutré and Willems 1994]. research, following a set of approximations to a full global A natural extension called bidirectional path tracing combines illumination solution. paths from the camera and from the light, statistically weighting each paired path contribution to the final image [Lafortune and 3 System Overview Willems 1993; Veach and Guibas 1994]. Variance reduction techniques have also been highly studied, as Our system is designed to render images in five steps, as they are beneficial for most Monte Carlo sampling algorithms. illustrated in figure 2. Each step generates information that may They can greatly improve rendering performance by increasing be reused, and stored in the appropriate files. Each step can be run the convergence of the solution [Lafortune 1996; Veach and in a separate process, multiple times if needed. Texture and depth- Guibas 1995; Jensen 95]. map information are loaded on demand and handled by a texture Veach and Guibas [1997] propose an approach called cache memory-manager. metropolis light transport, which applies mutations to previously The first three steps generate shadow maps, radiosity maps and explored paths. The goal of this technique is to exploit the path a deep frame buffer respectively. Shadow maps are necessary to space coherence, to concentrate the computational effort on paths compute shadowing for direct illumination. Radiosity texture with great importance to the final image. Carefully weighting each maps are used optionally to accelerate the light gathering path and using intelligent mutation strategies lead to an algorithm computation, as described in section 4.4. The deep frame buffer that efficiently treats lighting situations difficult to solve contains all the micro-polygons visible from the camera, which otherwise. are rasterized and stored for further processing. To apply those algorithms to complex scenes, Pharr and The fourth step iterates over visible micro-polygons and Hanrahan [1996] propose a geometry-caching framework that computes indirect illumination using a light gathering ray tracing allows a ray tracing engine to handle scenes that do not fit entirely algorithm. It uses irradiance caching to avoid sampling indirect in the computer’s memory. Pharr et al. [1997] further enhance this illumination. The final step outputs a rendered image, after technique by reordering the operations of the rendering algorithm, shading each micro-polygon, using the approximate lighting so as to maximize caching coherence. model described in section 4.6. No ray tracing happens during Orthogonal research directions have explored caching final shading: only the irradiance cache is used to derive indirect strategies to avoid recomputing similar quantities that can be illumination. extrapolated without significantly affecting the final image. Jensen [1996] proposed using photon mapping in a two pass 4 Approximations and Optimizations rendering algorithm. In the first pass, photons are scattered through the scene following

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    8 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us