Rendering complex scenes with memory-coherent ray tracing

Simulating realistic lighting and rendering complex scenes are usually considered separate problems with incompatible solutions. Accurate lighting calculations are typically performed using ray tracing algorithms, which require that the entire scene database reside in memory to perform well. Conversely, most systems capable of rendering complex scenes use scan-conversion algorithms that access memory coherently, but are unable to incorporate sophisticated illumination. We have developed algorithms that use caching and lazy creation of texture and geometry to manage scene complexity. To improve cache performance, we increase locality of reference by dynamically reordering the rendering computation based on the contents of the cache. We have used these algorithms to compute images of scenes containing millions of primitives, while storing ten percent of the scene description in memory. Thus, a machine of a given memory capacity can render realistic scenes that are an order of magnitude more complex than was previously possible. CR Categories: I.3.3 [Computer Graphics]: Picture/Image Generation; I.3.7 [Computer Graphics]: Three-Dimensional Graphics and Realism—Raytracing

[1]  Robert A. Schumacker,et al.  A Characterization of Ten Hidden-Surface Algorithms , 1974, CSUR.

[2]  Robert L. Cook,et al.  Shade trees , 1984, SIGGRAPH.

[3]  Brian Wyvill,et al.  Multiprocessor Ray Tracing , 1986, Comput. Graph. Forum.

[4]  Robert L. Cook,et al.  The Reyes image rendering architecture , 1987, SIGGRAPH.

[5]  Brian Wyvill,et al.  ADAPTIVE VOXEL SUBDIVISION FOR RAY TRACING , 1988 .

[6]  Pat Hanrahan,et al.  A language for shading and lighting calculations , 1990, SIGGRAPH.

[7]  Stuart A. Green,et al.  Parallel processing for computer graphics , 1991, Research monographs in parallel and distributed computing.

[8]  Alan Chalmers,et al.  Realism in Real Time , 1993 .

[9]  Gavin S. P. Miller,et al.  Hierarchical Z-buffer visibility , 1993, SIGGRAPH.

[10]  Seth J. Teller,et al.  Partitioning and ordering large radiosity computations , 1994, SIGGRAPH.

[11]  Leonidas J. Guibas,et al.  Bidirectional Estimators for Light Transport , 1995 .

[12]  Paul R. Wilson,et al.  Dynamic Storage Allocation: A Survey and Critical Review , 1995, IWMM.

[13]  Jay Torborg,et al.  Talisman: commodity realtime 3D graphics for the PC , 1996, SIGGRAPH.

[14]  Pat Hanrahan,et al.  Geometry Caching for Ray-Tracing Displacement Maps , 1996, Rendering Techniques.

[15]  Thomas A. Funkhouser Coarse-grained parallelism for hierarchical radiosity using group iterative methods , 1996, SIGGRAPH.

[16]  Erik Reinhard,et al.  Rendering Large Scenes Using Parallel Ray Tracing , 1997, Parallel Comput..

[17]  James T. Kajiya,et al.  The rendering equation , 1998 .