World-Space Sample Caching for Efficient Ray Tracing of Highly Complex Scenes
Ray tracing is known for its photorealistic image quality and logarithmic scalability with scene size. In particular, ray tracing is considered output sensitive and only weakly dependent on scene complexity, because only (indirectly) visible parts of the scene are considered in the computations. However, ray tracing is still tightly coupled to the complexity of the visible parts of the scene, including their geometric complexity, which might require high oversampling to avoid spatial and temporal aliasing. Additionally, photorealistic images often require highly complex and costly shading and lighting computations that can dramatically increase the cost of each ray.
We propose a novel world-space sample cache that leverages spatial index structures already present for ray tracing for temporarily storing the results of expensive visibility, shading, and illumination computations. By creating and adaptively updating the cache during rendering, no preprocessing is required. Reusing these samples in later frames minimizes these costly computations, and allows for significantly increasing image quality as well as rendering performance in both offline and interactive applications.