A Practical Analytic Single Scattering Model for Real Time Rendering
Bo Sun
Columbia University
Ravi Ramamoorthi
Columbia University
Srinivasa Narasimhan
Carnegie Mellon University
Shree Nayar
Columbia University


We consider real-time rendering of scenes in participating media, capturing the effects of light scattering in fog, mist and haze. While a number of sophisticated approaches based on Monte Carlo and finite element simulation have been developed, those methods do not work at interactive rates. The most common real-time methods are essentially simple variants of the OpenGL fog model. While easy to use and specify, that model excludes many important qualitative effects like glows around light sources, the impact of volumetric scattering on the appearance of surfaces such as the diffusing of glossy highlights, and the appearance under complex lighting such as environment maps. In this paper, we present an alternative physically
based approach that captures these effects while maintaining real-time performance and the ease-of-use of the OpenGL fog model. Our method is based on an explicit analytic integration of the single scattering light transport equations for an isotropic point light source in a homogeneous participating medium. We can implement the model in modern programmable graphics hardware using a few small numerical lookup tables stored as texture maps. Our model can also be easily adapted to generate the appearances of materials with arbitrary BRDFs, environment map lighting, and precomputed radiance transfer methods, in the presence of participating media. Hence, our techniques can be widely used in real-time rendering applications.


In this paper, we take a significant step towards improving the realism of rendered images with participating media, while maintaining the real-time performance and ease of use of the OpenGL fog model. The specific technical contributions of this work are

Explicit Compact Formula for Single Scattering
One of the main contributions of this work is the derivation of an explicit compact formula (the airlight model) for the single scattering from an isotropic point source in a homogeneous participating medium, by analytically integrating the single scattering equations. We can also use the model to calculate the effects of scattering on surface shading. These calculations are very expensive even for numerical integration, because we must consider incident airlight from the entire visible hemisphere. However, they can be directly implemented using our explicit surface radiance model.

Implementation on Programmable Graphics Hardware
In this paper, we reduce the complexity of single scattering integral to a combination of analytic functions that depends only on the physical parameters of the problem, and a few lookups of tabulated 2D functions, that have no simple analytic form, but are smooth and purely numerical-independent of the physical parameters. The numerical functions can be precomputed and stored as 2D texture maps, and the entire computation and table lookups  can be implemented in simple pixel or vertex shaders in modern programmable graphics hardware.

Extensions to Complex Lighting and BRDFs
Mathematically, we derive a point-spread function(PSF) to represent the glow around a light source. We can use a frequency domain spherical harmonic representation to enable rendering with natural lighting, arbitrary BRDFs, and add in shadows and interreflections with precomputed radiance transfer methods.

[ PDF 1.2 MB
[ bib ]

[ low quality Quick time MP4 17.2 MB ]  [ high quality Quick time MP4 74.1 MB ]

[ Paper Slides PPT 9.19 MB ]  [ Sketch Slides PPT 6.92 MB ]

-2D tables-
format: CSV file, header includes XResolu, YResolu, XBegin, XEnd, YBegin, YEnd. For F table, X corresponds to v, Y corresponds to u as specified in paper. For G table, X corresponds to Tsp, Y corresponds to theta_s as specified in paper.
[ F.zip 2.1 MB ]  [ G0.zip 40 KB ]  [ G20.zip 40 KB ]

-Prefiltered Environment Maps-
format: 1000x1000, 32Bit Floating Point, 
RGB, Latitude/Longitude.
[ Grace Cathedral 20.0 MB ]  [ St. Peter's Basilica 19.6 MB ]

-Sample Fragment Shader CG Code-
note: not optimized, illustration purpose only.
[ fragment shader 4.8 KB ]

-Maya Plug-in Beta version, developed by Matthew Schulkind -
Please contact Matthew for questions regarding this plug-in.
Maya Plug-in ]

-High Resolution Images
[ high resolution.zip ]



Copyright Notice: This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders.