Quadratic NDF Yields First Closed-Form Smith BRDF With Exact Multiple Scattering

An Elementary Expression for Multiple Scattering in Homogeneous Microflake Media

Jonathan Dupuy

cs.GR

2026-09-17

A parameter-free quadratic NDF sums every scattering order into (zi+zo)/π(1+ωi·ωo). Lambertian at normal incidence, mirror-concentrated at grazing, sampled with two uniforms.

What problem this solves

Smith microfacet theory treats a rough surface as a collection of tiny mirrors with random orientations. Under the now-standard Smith shadowing assumption, those orientations are statistically independent of where the facets sit. Surface reflection then becomes a random walk in a semi-infinite participating medium: a ray goes in, hits flakes, bounces, and eventually leaves through the boundary. The BRDF is the distribution of exit directions.

The full transport almost never has a closed form. Existing models split into two camps. Single-scattering formulas evaluate and sample in elementary terms, but they drop energy from inter-reflections. Stochastic multiple-scattering models keep the energy and lose the elementary formula. Heitz et al. (2016) used random walks, Bitterli and d'Eon used a position-free path integral, and Cui et al. used the invariance principle; all of them stop at a stochastic representation or a recurrence. Whether a Smith microfacet BRDF can carry every scattering order and still evaluate and sample in closed form was an open question.

Method

Dupuy models the surface as a homogeneous, semi-infinite, perfectly specular microflake medium. The normal distribution function (NDF) fully determines the walk: collisions follow Beer-Lambert, and directions change according to the specular phase function. Homogeneity parallel to the boundary means only vertical depth matters.

Two restrictions make the walk tractable.

The resulting BRDF is fr(ωi, ωo)=(zi+zo)/(π(1+ωi·ωo)), where zi and zo are the cosines of the incident and outgoing directions against the surface normal. At normal incidence, zi=1 and the dot product equals zo, so the formula reduces to 1/π, matching Lambert. Toward grazing, energy concentrates around the mirror direction.

Sampling reads the same expression as the Jacobian of a Poisson kernel. McCullagh's chordal map does the work: draw a radius on the orthographic disk, then warp the equal-radius circle through a pivot built from the incident direction. Two uniform random numbers hit the target density exactly. The same geometry samples the quadratic phase function.

The framework also recovers known results. The first two orders of isotropic flakes are the corresponding Chandrasekhar terms. A uniform one-sided NDF is GGX at roughness α=1; its first order is the known formula, and this paper supplies a closed form for the second. The uniform NDF does not sum the full series, which is why the quadratic one is needed.

Results

There is no RMSE or PSNR table. Validation is visual: random-walk histograms against the closed form, then renderings.

Figure 7 compares histograms from Algorithm 1 (quadratic NDF) with the formula at incident angles 0°, 45°, and 80°. At 0° the distribution is constant, matching Lambert. At 80° it is visibly asymmetric, with energy piled on the far side of the disk.

Figure 8 rotates a directional light around a sphere and compares four BRDFs: the closed form, a random walk with the same NDF, Lambert, and GGX at α=1 with perfectly reflecting facets (single- and multiple-scattering). Closed form and random walk match; the visible difference is walk variance. Relative to Lambert, grazing highlights tighten. Relative to single-scattering GGX, the latter is darker because it drops inter-reflections. Multiple-scattering GGX recovers that energy and looks closer to this BRDF, without an elementary formula.

Figure 9 uses image-based lighting from uffizi.hdr. The new BRDF reads as diffuse-like while still changing with incident direction. Single-scattering GGX is darker; multiple-scattering GGX brings the energy back.

Energy conservation is by construction. If the projected area σ stays positive for every downwelling direction, walks exit with probability one, and the series includes every order.

Why it matters

For a renderer, this is a formula that can go straight into a shader: a handful of arithmetic for evaluation, two uniforms plus a disk warp for sampling. No loop, no random walk, no lookup table. It shows that exact multiple scattering with an elementary closed form is not an empty set inside the Smith framework.

It does not replace a Disney or GGX material in production. The NDF has no roughness parameter, so appearance is locked to one curve: Lambert at normal incidence, tightening toward the mirror at grazing. If a closed form with roughness exists, the quadratic branch is the one that summed; unit-roughness GGX does not.

The acknowledgements are unusually blunt. The quadratic NDF was found by prompting ChatGPT 5.6 with notes from 2022. The author had assumed that if the simplest uniform one-sided NDF failed, no other NDF would work. That story does not change the formula. It does say that finding a distribution that integrates is a search problem models can already help with.

Limitations

The author states the hard limit: the quadratic NDF has no roughness, so the range of appearances is narrow. Whether a parametric model can keep this kind of closed form is left open.

The experiments are almost entirely visual. There is no numerical table of energy integrals, no error or variance comparison against Heitz 2016, Bitterli and d'Eon, or Cui 2023, and no shader-cycle or path-length numbers. The random-walk baseline uses the same quadratic NDF, so it checks the derivation rather than ranking this BRDF against other multiple-scattering models.

The BRDF also assumes perfectly specular flakes, a homogeneous semi-infinite medium, and the Smith independence hypothesis. Correlated heights, anisotropy, Fresnel, and transmission are out of scope. Sampling is given as pseudocode, with no accompanying implementation.

Terms

Source

What people are saying

Related papers

All paper explainers