“Rendering complex scenes with memory-coherent ray tracing” by Pharr, Kolb, Gershbein and Hanrahan

  • ©Matt Pharr, Craig E. Kolb, Reid Gershbein, and Patrick (Pat) Hanrahan




    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.


    1. Tony Apodaca. Personal communication. 1996.
    2. J. G. Cleary, B. M. Wyvill, G. M. Birtwistle, and R. Vatti. Multiprocessor ray tracing. Computer Graphics Forum, 5(1):3-12, March 1986.
    3. Robert L. Cook. Shade trees. In Hank Christiansen, editor, Computer Graphics (SIGGRAPH ’84 Proceedings), volume 18, pages 223-231, July 1984.
    4. Robert L. Cook, Loren Carpenter, and Edwin Catmull. The Reyes image rendering architecture. In Maureen C. Stone, editor, Computer Graphics (SIGGRAPH ’87 Proceedings), pages 95-102, July 1987.
    5. Julie Dorsey, Hans Kohling Pedersen, and Pat Hanrahan. Flow and changes in appearance. In Holly Rushmeier, editor, SIGGRAPH 96 Conference Proceedings, pages 411-420. Addison Wesley, August 1996.
    6. Thomas A. Funkhouser. Coarse-grained parallelism for hierarchical radiosity using group iterative methods. In Holly Rushmeier, editor, SIGGRAPH 96 Conference Proceedings, pages 343-352. Addison Wesley, August 1996.
    7. Stuart Green. Parallel Processing for Computer Graphics. Research Monographics in Parallel and Distributed Computing. The MIT Press, 1991.
    8. Ned Greene and Michael Kass. Hierarchical Z-buffer visibility. In Computer Graphics (SIGGRAPH ’93 Proceedings), pages 231-240, August 1993.
    9. Eric Haines and John Wallace. Shaft culling for efficient raytraced radiosity. In Eurographics Workshop on Rendering, 1991.
    10. Pat Hanrahan and Jim Lawson. A language for shading and lighting calculations. In Forest Baskett, editor, Computer Graphics (SIGGRAPH ’90 Proceedings), volume 24, pages 289-298, August 1990.
    11. Frederik W. Jansen and Alan Chalmers. Realism in real time? In Michael F. Cohen, Claude Puech, and Francois Sillion, editors, Fourth Eurographics Workshop on Rendering, pages 27- 46. Eurographics, June 1993.
    12. David Jevans and Brian Wyvill. Adaptive voxel subdivision for ray tracing. In Proceedings of Graphics Interface ’89, pages 164-72, Toronto, Ontario, June 1989. Canadian Information Processing Society.
    13. James Kajiya. A ray tracing arthitecture, unpublished manuscript, 1991.
    14. James T. Kajiya. The rendering equation. In David C. Evans and Russell J. Athay, editors, Computer Graphics (SIG- GRAPH ’86 Proceedings), volume 20, pages 143-150, August 1986.
    15. Doug Lea. A memory allocator. Available on the web at http://g.oswego.edu/dl/html/malloc.html, 1996.
    16. Darwyn R. Peachey. Texture on demand, unpublished manuscript, 1990.
    17. Matt Pharr and Pat Hanrahan. Geometry caching for ray tracing displacement maps. In Xavier Pueyo and Peter Sch,0″der, editors, Eurographics Workshop on Rendering, pages 31-40, 1996.
    18. E. Reinhard and E W. Jansen. Rendering large scenes using parallel ray tracing. In A. G. Chalmers and F. W. Jansen, editors, First Eurographics Workshop of Parallel Graphics and Visualization, pages 67-80, September 1996.
    19. Ivan E. Sutherland, Robert E Sproull, and R. A. Schumacker. A characterization of ten hidden-surface algorithms. Computing Surveys, 6(1):1-55, March 1974.
    20. Seth Teller, Celeste Fowler, Thomas Funkhouser, and Pat Hanrahan. Partitioning and ordering large radiosity computations. In Andrew Glassner, editor, Proceedings of SIG- GRAPH ’94, pages 443-450, July 1994.
    21. Jay Torborg and Jim Kajiya. Talisman: Commodity Realtime 3D graphics for the PC. In Holly Rushmeier, editor, SIGGRAPH 96 Conference Proceedings, pages 353-364. Addison Wesley, August 1996.
    22. Eric Veach and Leonidas Guibas. Bidirectional estimators for light transport. In Fifth Eurographics Workshop on Rendering, pages 147-162, Darmstadt, Germany, June 1994.
    23. Paul R. Wilson, Mark S. Johnstone, Michael Neely, and David Boles. Dynamic storage allocation: A survey and critical review. In International Workshop on Memo~7 Managemen~ September 1995. held in Kinross, Scotland, UK.

ACM Digital Library Publication:

Overview Page: