Computer Graphics

University of California - Berkeley

Frequency Domain Normal Map Filtering


Filtering is critical for representing image-based detail, such as textures or normal maps, across a variety of scales. While mipmapping textures is commonplace, accurate normal map filtering remains a challenging problem because of nonlinearities in shading--we cannot simply average nearby surface normals. In this paper, we show analytically that normal map filtering can be formalized as a spherical convolution of the normal distribution function (NDF) and the BRDF, for a large class of common BRDFs such as Lambertian, microfacet and factored measurements. This theoretical result explains many previous filtering techniques as special cases, and leads to a generalization to a broader class of measured and analytic BRDFs. Our practical algorithms leverage a significant body of previous work that has studied lighting-BRDF convolution. We show how spherical harmonics can be used to filter the NDF for Lambertian and low-frequency specular BRDFs, while spherical von Mises-Fisher distributions can be used for high-frequency materials.


Charles Han, Bo Sun, Ravi Ramamoorthi, and Eitan Grinspun. "Frequency Domain Normal Map Filtering". In proceedings of ACM SIGGRAPH 2007, July 2007.

Supplemental Material

Video: [AVI, 103MB]
Trailer: [MOV, 54MB]
Slides: [PPT]
Example GLSL code:
[Spherical Harmonics vertex shader]
[Spherical Harmonics fragment shader]
[vMF vertex shader]
[vMF fragment shader]