Radiance interpolants for accelerated bounded-error ray tracing
Ray tracers, which sample radiance, are usually regarded as offline rendering algorithms that are too slow for interactive use. In this article we present a system that exploits object-space, ray-space, image-space, and temporal coherence to accelerate ray tracing. Our system uses per-surface interpolants to approximate radiance while conservatively bounding error. The techniques introduced in this article should enhance both interactive and batch ray tracers. Our approach explicitly decouples the two primary operations of a ray tracer-shading and visibility determination-and accelerates each of them independently. Shading is accelerated by quadrilinearly interpolating lazily acquired radiance samples. Interpolation error does not exceed a user-specified bound, allowing the user to control performance/quality tradeoffs. Error is bounded by adaptive sampling at discontinuities and radiance nonlinearities. Visibility determination at pixels is accelerated by reprojecting interpolants as the user's viewpoint changes. A fast scan-line algorithm then achieves high performance without sacrificing image quality. For a smoothly varying viewpoint, the combination of lazy interpolants and reprojection substantially accelerates the ray tracer. Additionally, an efficient cache management algorithm keeps the memory footprint of the system small with negligible overhead.
rendering interactive visibility data structures error bounds 4d interpolation interval arithmetic radiance approximation rendering systems