## Geometry Caching for Ray-Tracing Displacement Maps

Matt Pharr and Pat Hanrahan

To appear in the proceedings of the 1996 Eurographics Workshop on
Rendering, Porto, Portugal, June 17-19, 1996.

Images too dark? Try the
gamma corrected pages. There is also more information on
gamma correction.

### Abstract

We present a technique for rendering displacement mapped geometry in a
ray-tracing renderer. 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.

### Additional information

PostScript version of paper (281kb).
High-resolution color figures:

- Plate 1. Displacement
shaders applied to a box and a sphere in a simple scene. Accurate
computation of shadows and refractions is illustrated.
TIFF (1.0Mb), JPEG
(55kb).
- Plate 2. Building facade
in late afternoon, without any shadows, as would be rendered by
renderers that can't trace rays to compute shadows.
TIFF (1.4Mb), JPEG
(176kb).
- Plate 3. Building facade,
with shadows computed by ray-tracing. Note the importance of shadows
in bringing out the detail of the craggy stonework.
TIFF (1.1Mb), JPEG
(126kb).