epipolar sampling for shadows and crepuscular rays in participating media with single scattering
Scattering in participating media, such as fog or haze, generates volumetric lighting effects known as crepuscular or god rays. Rendering such effects greatly enhances the realism in virtual scenes, but is inherently costly as scattering events occur at every point in space and thus it requires costly integration of the light scattered towards the observer. This is typically done using ray marching which is too expensive for every pixel on the screen for interactive applications. We propose a rendering technique for textured light sources in single-scattering media, that draws from the concept of epipolar geometry to place samples in image space: the inscattered light varies orthogonally to crepuscular rays, but mostly smoothly along these rays. These are epipolar lines of a plane of light rays that projects onto one line on the image plane. Our method samples sparsely along epipolar lines and interpolates between samples where adequate, but preserves high frequency details that are caused by shadowing of light rays. We show that our method is very simple to implement on the GPU, yields high quality images, and achieves high frame rates.
participating media gpu global illumination