Figure 1: Rendering volumetric shadows in participating media requires integrating scattering over view rays. Left: The visibility component of this integral has a special structure: once a light ray hits an occluder, that light ray does not contribute to the integral along any view ray past the occluder. Middle: Our method exploits this structure by computing the integrals in an epipolar coordinate system, in which light rays (dashed grey) and view rays (solid black) are orthogonal and the integration can be performed asymptotically efficiently using a partial sum tree. Right: This enables us to compute high-quality scattering integrals much faster than the previous state of the art. Volumetric effects such as beams of light through participating media are an important component in the appearance of the natural world. Many such effects can be faithfully modeled by a single scattering medium. In the presence of shadows, rendering these effects can be prohibitively expensive: current algorithms are based on ray marching, i.e., integrating the illumination scattered towards the camera along each view ray, modulated by visibility to the light source at each sample. Visibility must be determined for each sample using shadow rays or shadow-map lookups. We observe that in a suitably chosen coordinate system, the visibility function has a regular structure that we can exploit for significant acceleration compared to brute force sampling. We propose an efficient algorithm based on partial sum trees for computing the scattering integrals in a single-scattering homogeneous medium. On a CPU, we achieve speedups of 17-120x over ray marching.
The algorithm of REF , (which we call "incremental integration"), uses epipolar rectification to reduce scattering integration to partial sums on a rectilinear grid and uses a partial sum tree to accelerate this computation.
A hierarchical volumetric shadow algorithm for single scattering
SIGGRAPH 2010
Computer Science