Frequency Space Environment Map Rendering

Ravi Ramamoorthi Computer Graphics Laboratory ,
Pat Hanrahan Stanford University


We present a new method for real-time rendering of objects with complex isotropic BRDFs under distant natural illumination, as specified by an environment map. Our approach is based on spherical frequency space analysis and includes three main contributions. Firstly, we are able to theoretically analyze required sampling rates and resolutions, which have traditionally been determined in an ad-hoc manner. We also introduce a new compact representation, which we call a spherical harmonic reflection map (SHRM) , for efficient representation and rendering. Finally, we show how to rapidly prefilter the environment map to compute the SHRM ---our frequency domain prefiltering algorithm is generally orders of magnitude faster than previous angular (spatial) domain approaches.


Our goals are real-time rendering with complex natural illumination and realistic, possibly measured, BRDFs. This paper introduces a new frequency space paradigm for prefiltering and rendering environment mapped images with general isotropic BRDFs. Our approach is based on recent theoretical results by Basri and Jacobs and Ramamoorthi and Hanrahan, wherein they formalize the notion of reflection as a spherical convolution of the illumination and BRDF. We show that frequency space analysis allows for setting sampling rates accurately, and enables compact representations. Further, just as image convolutions are often computed in the Fourier rather than the spatial domain, prefiltering is more efficient in frequency rather than angular space. Our main contributions are:
  • Theoretical analysis of sampling rates and resolutions. We are able to determine the number of coefficients and resolutions. One consequence is the empirical fact that for most BRDFs after reparameterization, the high-frequency behavior is confined to one dimension with a low-order expansion sufficing over the other two.
  • Efficient representation and rendering with Spherical Harmonic Reflection Maps.
  • Fast prefiltering. Several orders of magnitude faster than previous angular-space methods, both by computational complexity analysis and empirically. Allows for future possibilities of real-time prefiltering.


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 This figure includes real lighting (measured in the Grace Cathedral, courtesy of Paul Debevec) and many different BRDF models including krylon blue (using McCool et al.'s reconstruction from measurements at Cornell) and the LaFortune model. These images were each rendered at approximately 30 frames per second using our Spherical Harmonic Reflection Map (SHRM) representation.

Figure 2 An illustration of the reflective reparameterization used by us. Reparameterization involves recentering about the reflection vector. BRDFs become more compact, and in special cases (Phong) become 1D functions.

Figure 3 An Overview of our entire pipeline. The inputs are measured illumination and BRDF values. We then find their spherical harmonic coefficients, perform convolution by multiplication in the frequency domain and output the spherical harmonic reflection map or SHRM.

Figure 4 An illustration of SHRMs. Each pixel in a standard reflection cubemap actually stores a low-frequency distribution, making it a view-dependent reflection map. For rendering, we use a dynamic cubemap.

Relevant Links

Siggraph 2002 paper in Gzipped Postscript (4.2M) or PDF (3.3M)
Source Code
  • Prefiltering code (gzipped tar 3.1M) to find spherical harmonic coefficients.
  • For our viewer, we have integrated SHRMs into the Stanford real-time programmable shading system. The modified system will be available soon.

Figure 1. A scene showing off our algorithm.

Figure 2. An illustration of the reflective reparameterization used by us.

Figure 3. An overview of the entire pipeline.

Figure 4. An illustration of SHRMs

Ravi Ramamoorthi
Last modified: Sat Jun 29 22:13:41 PDT 2002