An Efficient Representation for Irradiance Environment Maps


Ravi Ramamoorthi Computer Graphics Laboratory ,
Pat Hanrahan Stanford University

Abstract

We consider the rendering of diffuse objects under distant illumination, as specified by an environment map. Using an analytic expression for the irradiance in terms of spherical harmonic coefficients of the lighting, we show that one needs to compute and use only 9 coefficients, corresponding to the lowest-frequency modes of the illumination, in order to achieve average errors of only 1%. In other words, the irradiance is insensitive to high frequencies in the lighting, and is well approximated using only 9 parameters. In fact, we show that the irradiance can be procedurally represented simply as a quadratic polynomial in the cartesian components of the surface normal, and give explicit formulae. These observations lead to a simple and efficient procedural rendering algorithm amenable to hardware implementation, a prefiltering method up to three orders of magnitude faster than previous techniques, and new representations for lighting design and image-based rendering.


Summary

Lighting in most real scenes is complex, coming from a variety of sources including area lights and large continuous lighting distributions like skylight. But current graphics hardware only supports point or directional light sources. One reason is the lack of simple procedural formulas for general lighting distributions. Instead, an integration over the upper hemisphere must be done for each pixel.

We present such a simple formula for diffuse objects, i.e. for the irradiance. The key to our approach is the rapid computation of an analytic approximation to the irradiance environment map. For rendering, we demonstrate a simple procedural algorithm that runs at interactive frame rates, and is amenable to hardware implementation. No texture-mapping is required for the irradiance with our approach.

The main ingredient is the derivation of an analytic formula for the irradiance in terms of spherical harmonic coefficients of the lighting. For rendering, the key observation is that the Lambertian BRDF behaves sufficiently closely to a low-pass filter that we need consider only the first 2 orders of spherical harmonics, i.e. 9 parameters. The simple form of the first 9 spherical harmonics makes implementation straightforward.

Results

The images on the right illustrate some of our results. More information is found in the paper. Clicking on each of these figures will bring up a high-resolution version.

Figure 1 The diffuse shading on all objects in computed procedurally using our method. This is one frame from an interactive session using the Stanford Real-Time Programmable Shading system, in which our rendering algorithm can trivially be implemented.

Figure 2 Another scene used to compare interactively images obtained from our method to those obtained by computing irradiance environment maps in the traditional way. It can be seen that there is no perceptible difference. The left sphere is rendered using a 128x128 irradiance environment map texture, while the right sphere is rendered procedurally using our method. The top (projection of lighting) and bottom (mirror) spheres give an idea of the incident illumination.

Figure 3 A different form of comparison, where we compare the actual irradiance maps. The coordinate mappings are explained by Paul Debevec and the light probes are taken from his gallery. This figure shows the Eucalyptus Grove light probe.

Figure 4 Similar to figure 3, but for the Grace Cathedral light probe.

Figure 5 Source lightprobes for figures 3 and 4. These are tone-mapped high-dynamic range images. On a linear scale, the images are bluish because of blue stained glass windows and skylight respectively. This accounts for the bluish tinge in the irradiance environment maps.


Relevant Links

Siggraph 2001 paper in Gzipped Postscript (3.4M) or PDF (1M)
Related JOSA Paper that derives the theory

Source Code
  • prefilter.c : Code to find spherical harmonic coefficients.
  • envmaprender.in : Shader file for rendering with the Stanford Real-Time Programmable Shading System.
  • grace.scene : Scene file for simplified Grace Cathedral scene.
The material on the Siggraph CDROM (essentially the same as above), also available as a tar file (3.1M).

Video
Slides (PPT 1.8M) for Siggraph talk.

Acknowledgements


Figure 1. A scene showing off our algorithm.

Figure 2. A comparison of images from our approach to those obtained using standard texture-mapping.

Figure 3. A comparison of irradiance environment maps computed using the standard approach (left) and our technique (right) for the Eucalyptus Grove environment.

Figure 4. Same for Grace Cathedral.

Figure 5. The source lightprobes for the Grace Cathedral (left) and Eucalyptus Grove (right).

Ravi Ramamoorthi
Last modified: Wed Aug 29 10:39:30 PDT 2001