Frequency Domain Normal Map Filtering
Abstract
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.
Citation
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]