
|
Ray Tracing for the Movie 'Cars' Per H. Christensen, Julian Fong, David Laur, Dana Batali September 2006 This paper describes how we extended Pixar's RenderMan renderer with ray tracing abilities. In order to ray trace highly complex scenes we use multiresolution geometry and texture caches, and use ray differentials to determine the appropriate resolution. With this method we are able to efficiently ray trace scenes with much more geometry and texture data than there is main memory. Movie-quality rendering of scenes of such complexity had only previously been possible with pure scanline rendering algorithms. Adding ray tracing to the renderer enables many additional effects such as accurate reflections, detailed shadows, and ambient occlusion.
The ray tracing functionality has been used in many recent movies,
including Pixar's latest movie 'Cars'. This paper also describes some
of the practical ray tracing issues from the production of 'Cars'. | |
|
Ray Differentials and Multiresolution Geometry Caching for Distribution Ray
Tracing in Complex Scenes Per H. Christensen, David Laur, Julian Fong, Wayne Wooten, Dana Batali September 2003 When rendering only directly visible objects, ray tracing a few levels of specular reflection from large, low curvatures surfaces, and ray tracing shadows from point-like light sources, the accessed geometry is coherent and a geometry cache performs well. But in many other cases, the accessed geometry is incoherent and a standard geometry cache performs poorly: ray tracing of specular reflection from highly curved surfaces, tracing rays that are many reflection levels deep, and distribution ray tracing for wide glossy reflection, global illumination, wide soft shadows, and ambient occlusion. Fortunately, less geometric accuracy is necessary in the incoherent cases. This observation can be formalized by looking at the ray differentials for different typics of scattering: coherent rays have small differentials, while incoherent rays have large differentials. We utilize this observation to obtain efficient multiresolution caching of geometry and textures (including displacement maps) for classic and distribution ray tracing in complex scenes. We use an existing multiresolution caching scheme (originally developed for scanline rendering) for textures and displacement maps, and introduce a multiresolution geometry caching scheme for tessellated surfaces. The multiresolution geometry caching scheme makes it possible to efficiently render scenes that, if fully tessellated, would use 100 times more memory than the geometry cache size. Published as pp. pp. 543-552 in Computer Graphics Forum (Eurographics 2003 Conference Proceedings), Blackwell Publishers, September 2003. |