Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Blinn, J. F. Simulation of wrinkled surfaces. In Computer Graphics (SIGGRAPH ’78 Proceedings) (Aug. 1978), vol. 12, pp. 286–292.
Cook, R.L. Shadetrees. In Computer Graphics (SIGGRAPH ’84 Proceedings) (July 1984), H. Christiansen, Ed., vol. 18, pp. 223–231.
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.
Glassner, A. E. An Introduction to Ray Tracing. Academic Press, 1989.
Greene, N., and Kass, M. Hierarchical Z-buffer visibility. In Computer Graphics Proceedings, Annual Conference Series, 1993 (1993), pp. 231–240.
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.
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.
Kajiya, J. T. New techniques for ray tracing procedurally defined objects. In Computer Graphics (SIGGRAPH ’83 Proceedings) (July 1983), vol. 17, pp. 91–102.
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.
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.
Max, N. L. Horizon mapping: shadows for bump-mapped surfaces. The Visual Computer 4, 2 (July 1988), 109–117.
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.
Patterson, J. W., Hoggar, S. G., and Logie, J. R. Inverse displacement mapping. Computer Graphics Forum 10, 2 (June 1991), 129–139.
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.
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.
Taillefer, F. Fast inverse displacement mapping and shading in shadow. In Graphics Interface ’92 Workshop on Local Illumination (May 1992), pp. 53–60.
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.
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.
Voorhies, D. Space-filling curves and a measure of coherence. In Graphics Gems II, J. Arvo, Ed. Academic Press, 1991, pp. 26–30.
Williams, L. Casting curved shadows on curved surfaces. In Computer Graphics (SIGGRAPH ’78 Proceedings) (Aug. 1978), vol. 12, pp. 270–274.
Woo, A., Poulin, P., and Fournier, A. A survey of shadow algorithms. IEEE Computer Graphics and Applications 10, 6 (Nov. 1990), 13–32.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1996 Springer-Verlag/Wien1996
About this paper
Cite this paper
Pharr, M., Hanrahan, P. (1996). Geometry Caching for Ray-Tracing Displacement Maps. In: Pueyo, X., Schröder, P. (eds) Rendering Techniques ’96. EGSR 1996. Eurographics. Springer, Vienna. https://doi.org/10.1007/978-3-7091-7484-5_4
Download citation
DOI: https://doi.org/10.1007/978-3-7091-7484-5_4
Published:
Publisher Name: Springer, Vienna
Print ISBN: 978-3-211-82883-0
Online ISBN: 978-3-7091-7484-5
eBook Packages: Springer Book Archive