Recently I have been looking at pbrt, and was looking at their remapping from roughness to $\alpha$ values: https://github.com/mmp/pbrt-v3/blob/master/src/core/microfacet.h#L86

I understand that it is quite common to use some non-linear remapping between roughness values and $\alpha$ values to make the changes in roughness perceptually linear and in the range $[0, 1]$. To me this function looks like it could be some kind of polynomial approximation of the function:

$\alpha = 1.62142\cdot\sqrt{roughness}$.

(Here is a Desmos link to show the match - if anyone knows if this is correct and also knows how they came up with this approximation I would love to find out, as it doesn't seem like a standard Taylor series expansion). If this is correct, it would seem to be a pretty standard remapping, using the square of $\alpha$ to get roughness values, and ensuring that the maximum value of $\alpha$ (which in this case is $1.62142$) goes to $1$ in roughness.

What I'm really curious about is how this maximum value of $1.62142$ is chosen. In pbrt, $\alpha = \sqrt{2}\cdot(RMS slope)$:

https://pbr-book.org/3ed-2018/Reflection_Models/Microfacet_Models#eq:beckmann-isotropic ,

meaning the maximum RMS slope is $\approx 1.14652$. This seems like a very specific value for maximum roughness - where does this limit come from? RMS slope has infinite bounds as far as I'm aware - is there some physical reason for the limit or some standard that they are conforming to?


In truth, there is no mathematical maximum value for $\alpha$. As you noted, microfacet slope is unbounded, so in principle you could have arbitrarily large slope values and hence arbitrarily large $\alpha$. There's nothing wrong with that—the mathematics of the microfacet model keeps working fine.

As a practical matter, beyond a certain point you don't really see a lot of perceptual change in the appearance of the surface with increasing $\alpha$. As the roughness increases, the specular highlights become more broad and soft until the surface looks essentially Lambertian.

I don't know what is the origin of the value 1.62142 or that particular roughness remapping curve, but I'd guess that the maximum $\alpha$ is mainly chosen to give a visually useful range of roughness values, with the maximum being about at the point where it becomes indistinguishable to a diffuse surface. As this is a fuzzy aesthetic judgement, there may be no significance to the exact value.

Also, from a PBR standpoint, typical BSDFs only model single scattering (no inter-reflection between microfacets), but as roughness increases, multiple scattering becomes more important to the surface appearance. So at some point with high $\alpha$, the accuracy of the model breaks down and it ceases to be really physically based, unless you incorporate multiple scattering in the BSDF. Materials with complex micro-geometry may also be better modeled by volumetric microflake distributions rather than (or in addition to) surface BSDFs.

  • 1
    $\begingroup$ Thank you very much for your response! This all makes sense, perhaps they've come up with some kind of acceptable match to a Lambertian surface or unacceptable loss of energy due to single scattering... but as you said, I suppose it's kind of arbitrary. Btw, your blog has been really helpful for understanding microfacet models, your explanation of the NDF is the only one that made it really click for me :) Thanks! $\endgroup$ Sep 5 at 4:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.