Geometry Caching for Ray-Tracing Displacement Maps

  • Matt Pharr
  • Pat Hanrahan
Part of the Eurographics book series (EUROGRAPH)


We present a technique for rendering displacement mapped geometry in a raytracing Tenderer. Displacement mapping is an important technique for adding detail to surface geometry in rendering systems. It allows complex geometric variation to be added to simpler geometry, without the cost in geometric complexity of completely describing the nuances of the geometry at modeling time and with the advantage that the detail can be added adaptively at rendering time.

The cost of displacement mapping is geometric complexity. Renderers that provide it must be able to efficiently render scenes that have effectively millions of geometric primitives. Scan-line renderers process primitives one at a time, so this complexity doesn’t tax them, but traditional ray-tracing algorithms require random access to the entire scene database, so any part of the scene geometry may need to be available at any point during rendering. If the displaced geometry is fully instantiated in memory, it is straightforward to intersect rays with it, but displacement mapping has not yet been practical in ray-tracers due to the memory cost of holding this much geometry.

We introduce the use of a geometry cache in order to handle the large amounts of geometry created by displacement mapping. By caching a subset of the geometry created and rendering the image in a coherent manner, we are able to take advantage of the fact that the rays spawned by traditional ray-tracing algorithms are spatially coherent. Using our algorithm, we have efficiently rendered highly complex scenes while using a limited amount of memory.


Computer Graphic Access Pattern Displacement Mapping Cache Size Triangle Mesh 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Blinn, J. F. Simulation of wrinkled surfaces. In Computer Graphics (SIGGRAPH ’78 Proceedings) (Aug. 1978), vol. 12, pp. 286–292.Google Scholar
  2. [2]
    Cook, R.L. Shadetrees. In Computer Graphics (SIGGRAPH ’84 Proceedings) (July 1984), H. Christiansen, Ed., vol. 18, pp. 223–231.Google Scholar
  3. [3]
    Cook, R. L., Carpenter, L., and Catmull, E. The Reyes image rendering architecture. In Computer Graphics (SIGGRAPH ’87 Proceedings) (July 1987), M. C. Stone, Ed., pp. 95–102.Google Scholar
  4. [4]
    Glassner, A. E. An Introduction to Ray Tracing. Academic Press, 1989.Google Scholar
  5. [5]
    Greene, N., and Kass, M. Hierarchical Z-buffer visibility. In Computer Graphics Proceedings, Annual Conference Series, 1993 (1993), pp. 231–240.Google Scholar
  6. [6]
    Hanrahan, P., and Lawson, J. A language for shading and lighting calculations. In Computer Graphics (SIGGRAPH ’90 Proceedings) (Aug. 1990), F. Baskett, Ed., vol. 24, pp. 289–298.Google Scholar
  7. [7]
    Jevans, D., and Wyvill, B. Adaptive voxel subdivision for ray tracing. In Proceedings of Graphics Interface ’89 (Toronto, Ontario, June 1989), Canadian Information Processing Society, pp. 164–72.Google Scholar
  8. [8]
    Kajiya, J. T. New techniques for ray tracing procedurally defined objects. In Computer Graphics (SIGGRAPH ’83 Proceedings) (July 1983), vol. 17, pp. 91–102.Google Scholar
  9. [9]
    Kajiya, J. T. The rendering equation. In Computer Graphics (SIGGRAPH ’86 Proceedings) (Aug. 1986), D. C. Evans and R. J. Athay, Eds., vol. 20, pp. 143–150.Google Scholar
  10. [10]
    Kolb, C., Hanrahan, P., and Mitchell, D. A realistic camera model for computer graphics. In SIGGRAPH 95 Conference Proceedings, R. Cook, Ed., pp. 317–324.Google Scholar
  11. [11]
    Max, N. L. Horizon mapping: shadows for bump-mapped surfaces. The Visual Computer 4, 2 (July 1988), 109–117.CrossRefGoogle Scholar
  12. [12]
    Musgrave, F. K., Kolb, C. E., and Mace, R. S. The synthesis and rendering of eroded fractal terrains. In Computer Graphics (SIGGRAPH ’89 Proceedings), J. Lane, Ed., vol. 23, pp. 41–50.Google Scholar
  13. [13]
    Patterson, J. W., Hoggar, S. G., and Logie, J. R. Inverse displacement mapping. Computer Graphics Forum 10, 2 (June 1991), 129–139.CrossRefGoogle Scholar
  14. [14]
    Reeves, W. T., Salesin, D. H., and Cook, R. L. Rendering antialiased shadows with depth maps. In Computer Graphics (SIGGRAPH ’87 Proceedings), M. C. Stone, Ed., vol. 21, pp. 283–291.Google Scholar
  15. [15]
    Snyder, J. M., and Barr, A. H. Ray tracing complex models containing surface tessellations. In Computer Graphics (SIGGRAPH ’87 Proceedings) (July 1987), M. C. Stone, Ed., vol. 21, pp. 119–128.Google Scholar
  16. [16]
    Taillefer, F. Fast inverse displacement mapping and shading in shadow. In Graphics Interface ’92 Workshop on Local Illumination (May 1992), pp. 53–60.Google Scholar
  17. [17]
    Teller, S., Fowler, C., Funkhouser, T., and Hanrahan, P. Partitioning and ordering large radiosity computations. In Proceedings of SIGGRAPH ’94 (July 1994), A. Glassner, Ed., pp. 443–450.Google Scholar
  18. [18]
    Teller, S. J., and Sequin, C. H. Visibility preprocessing for interactive walkthroughs. In Computer Graphics (SIGGRAPH ’91 Proceedings) (July 1991), T. W. Sederberg, Ed., vol. 25, pp. 61–69.Google Scholar
  19. [19]
    Voorhies, D. Space-filling curves and a measure of coherence. In Graphics Gems II, J. Arvo, Ed. Academic Press, 1991, pp. 26–30.Google Scholar
  20. [20]
    Williams, L. Casting curved shadows on curved surfaces. In Computer Graphics (SIGGRAPH ’78 Proceedings) (Aug. 1978), vol. 12, pp. 270–274.Google Scholar
  21. [21]
    Woo, A., Poulin, P., and Fournier, A. A survey of shadow algorithms. IEEE Computer Graphics and Applications 10, 6 (Nov. 1990), 13–32.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag/Wien1996 1996

Authors and Affiliations

  • Matt Pharr
    • 1
  • Pat Hanrahan
    • 1
  1. 1.Computer Science DepartmentStanford UniversityUSA

Personalised recommendations