Microfacet-based normal mapping for robust Monte Carlo path tracing

Normal mapping enhances the amount of visual detail of surfaces by using shading normals that deviate from the geometric normal. However, the resulting surface model is geometrically impossible and normal mapping is thus often considered a fundamentally flawed approach with unavoidable problems for Monte Carlo path tracing, such as asymmetry, back-facing normals, and energy loss arising from this incoherence. These problems are usually sidestepped in real-time renderers, but they cannot be fixed robustly in a path tracer: normal mapping breaks either the appearance (black fringes, energy loss) or the integrator (different forward and backward light transport); in practice, workarounds and tweaked normal maps are often required to hide artifacts. We present microfacet-based normal mapping, an alternative way of faking geometric details without corrupting the robustness of Monte Carlo path tracing. It takes the same input data as classic normal mapping and works with any input BRDF. Our idea is to construct a geometrically valid microfacet surface made of two facets per shading point: the one given by the normal map at the shading point and an additional facet that compensates for it such that the average normal of the microsurface equals the geometric normal. We derive the resulting microfacet BRDF and show that it mimics geometric detail in a plausible way, although it does not replicate the appearance of classic normal mapping. However, our microfacet-based normal mapping model is well-defined, symmetric, and energy conserving, and thus yields identical results with any path tracing algorithm (forward, backward, or bidirectional).

[1]  Alexander Keller,et al.  The iray light transport simulation and rendering system , 2017, SIGGRAPH Talks.

[2]  Pascal Barla,et al.  Multi-scale rendering of scratched materials using a structured SV-BRDF model , 2016, ACM Trans. Graph..

[3]  Carsten Dachsbacher,et al.  Multiple-scattering microfacet BSDFs with the Smith model , 2016, ACM Trans. Graph..

[4]  Steve Marschner,et al.  Position-normal distributions for efficient rendering of specular microstructure , 2016, ACM Trans. Graph..

[5]  Steve Marschner,et al.  Rendering glints on high-resolution normal-mapped specular surfaces , 2014, ACM Trans. Graph..

[6]  E. Heitz Understanding the Masking-Shadowing Function in Microfacet-Based BRDFs , 2014 .

[7]  Pierre Poulin,et al.  Linear efficient antialiased displacement and reflectance mapping , 2013, ACM Trans. Graph..

[8]  Marc Olano,et al.  LEAN mapping , 2010, I3D '10.

[9]  R. Ramamoorthi,et al.  Frequency domain normal map filtering , 2007, ACM Trans. Graph..

[10]  Michael Toksvig Mipmapping Normal Maps , 2005, J. Graph. Tools.

[11]  Eric Veach,et al.  Non-symmetric Scattering in Light Transport Algorithms , 1996, Rendering Techniques.

[12]  Andrew Pearce,et al.  It's really not a rendering bug, you see , 1996, IEEE Computer Graphics and Applications.

[13]  Leonidas J. Guibas,et al.  Optimally combining sampling techniques for Monte Carlo rendering , 1995, SIGGRAPH.

[14]  Donald P. Greenberg,et al.  Modeling the interaction of light between diffuse surfaces , 1984, SIGGRAPH.

[15]  James F. Blinn,et al.  Simulation of wrinkled surfaces , 1978, SIGGRAPH.

[16]  K. Torrance,et al.  Theory for off-specular reflection from roughened surfaces , 1967 .

[17]  Eric Veach Robust Monte Carlo methods for light transport simulation , 1997 .

[18]  Marc Ouellette,et al.  It's Really Not a Rendering Bug, , 1996 .