Multiple-Scattering Microfacet BSDFs with the Smith Model
Eric Heitz, Johannes Hanika, Eugene d’Eon and Carsten Dachsbacher
Modeling multiple scattering in microfacet theory is considered an important open problem because a non-negligible portion of the energy leaving rough surfaces is due to paths that bounce multiple times. In this paper, we are interested in pushing the Smith microsurface model forward and derive its missing multiple-scattering component.
We are interested specifically in the Smith model because, thanks to its simple assumptions and its accurate single-scattering predictions, it has received widespread industrial adoption and is considered the academic state of the art in computer graphics. But can it be extended to multiple scattering? If multiple scattering can be incorporated into the Smith model, what does it look like? Does it remain accurate compared to reference data or does it break down? And can it be practically incorporated into a classic BSDF plugin?
- Our main insight is that the Smith microsurface model can be derived as a special case of the microflake theory for volumes, with additional constraints to enforce the presence of a sharp interface, i.e. to transform the volume into a surface.
- We derive the new free-path distributions associated with this volumetric model, i.e. how long can a ray travel before finding an intersection? What is the height of this intersection?
- We derive the anisotropic microflake phase functions associated with this volumetric model for either diffuse, conductive, or dielectric materials, and common microfacet distributions such as Beckmann and GGX (both isotropic or anisotropic).
- We show that the expectation of the scattering process defined by these free-path distributions and phase functions is a distribution that has all of the expected properties of a classic BSDF (energy conservation and reciprocity). It is exactly the classic single-scattering BSDF based on the Smith microsurface model, but with the addition of higher-order scattering.
- In order to validate the predictions of our model, we compare them with results obtained by simulating multiple scattering on explicit Beckmann microsurfaces (i.e. triangulated).
- For a wide variety of materials, roughnesses, anisotropy and inclinations we found our BSDF model to accurately predict both the albedo and angular distribution of exitant energy among the scattering orders.
- We show how to use our multiple-scattering BSDFs with Monte Carlo physically based rendering frameworks by providing algorithms for analytic importance sampling and unbiased stochastic evaluation. Our implementation is analytic and does not use per-BSDF precomputed data, which makes our BSDFs usable with textured albedos, roughness, and anisotropy.
rough diffuse and rough dielectric microsurfaces
rough conductor (textured roughness)
- The evaluation of the multiple-scattering BSDF is stochastic and is thus not suitable for real-time rendering where the shading has to be smooth with one sample per pixel.
- Some integrators, most notably Metropolis Light Transport, may be less efficient with our stochastic random walk as they use a non-deterministic number of random values.
- slides with notes
- supplemental: plots and validation
- tutorial implementation (documentation, code and unit tests)
- supplemental: bidirectional random walks
- Mitsuba plugins and test scenes
- Our previous insights regarding the Smith model and the masking-shadowing function.
- We briefly discussed the connection between the normalization coefficient of microflake phase functions and the Smith masking function in our SGGX paper.
- The explicit Beckmann surfaces used to validate our model’s predictions were computed with this algorithm.
- The stochastic evaluation and importance sampling of our BSDFs make heavy use of our importance sampling technique based on the VNDF.