Geometry Caching for Ray-Tracing Displacement Maps
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.
KeywordsComputer Graphic Access Pattern Displacement Mapping Cache Size Triangle Mesh
Unable to display preview. Download preview PDF.
- Blinn, J. F. Simulation of wrinkled surfaces. In Computer Graphics (SIGGRAPH ’78 Proceedings) (Aug. 1978), vol. 12, pp. 286–292.Google Scholar
- Cook, R.L. Shadetrees. In Computer Graphics (SIGGRAPH ’84 Proceedings) (July 1984), H. Christiansen, Ed., vol. 18, pp. 223–231.Google Scholar
- 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
- Glassner, A. E. An Introduction to Ray Tracing. Academic Press, 1989.Google Scholar
- Greene, N., and Kass, M. Hierarchical Z-buffer visibility. In Computer Graphics Proceedings, Annual Conference Series, 1993 (1993), pp. 231–240.Google Scholar
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Williams, L. Casting curved shadows on curved surfaces. In Computer Graphics (SIGGRAPH ’78 Proceedings) (Aug. 1978), vol. 12, pp. 270–274.Google Scholar