1.1. Related Work
We will only include a quick survey of recent related techniques here. See the references for more comprehensive surveys of older related work. In this paper we are specifically building on the render cache approach10, but researchers have also proposed a number of related techniques. Indeed the idea of layering interactive display processes over high quality but slow renderers is becoming increasingly popular.
Much of the recent work has concentrated on display representations that can be directly displayed using standard graphics hardware. This allows for very high frame rates and image resolutions by taking advantage of the considerable amount of specialized graphics hardware that is easily and cheaply available. For example, both the Holodeck11 and Tapestry4 systems construct a display mesh by projecting rendering results onto the sphere of directions surrounding the current viewpoint. These points are then triangulated to create a Gouraud-shaded mesh for hardware display.
Corrective texturing6 starts with a conventional hardware rendering of the scene and then constructs view-dependent projective textures to "correct" the appearance of objects when the hardware does not match that produced by the underlying renderer (e.g., on reflective or refractive objects).
Another approach7 constructs a Gouraud-shaded display mesh by refining the input geometry mesh in a prioritized, view-dependent, and lazy manner as rendering results become available. It also provides automatic de-refinement of the mesh when shading changes are detected.
Each of these approaches has its strengths. Using a Gouraud-shaded display mesh allows the output image to be generated at any resolution and provides better interpolation when the samples are very sparse. However inserting new results into such meshes is expensive compared to the render cache, thus they work best at very low sampling rates (e.g., when the underlying renderer would take several minutes or longer to produce an image on its own). Corrective texturing works best when the hardware shading matches the true shading for most surfaces.
Another approach to achieve interactivity is to create a highly optimized ray tracing engine9, but while this certainly helps, it is not currently sufficient for interactive performance on complex models with complex shading models. The optimized ray engine can accelerate the underlying renderer while still using a separate interactive display process such as the render cache.