<p>In truth, there is no mathematical maximum value for <span class="math-container">$\alpha$</span>. As you noted, microfacet slope is unbounded, so in principle you could have arbitrarily large slope values and hence arbitrarily large <span class="math-container">$\alpha$</span>. There's nothing wrong with that—the mathematics of the microfacet model keeps working fine.</p>
<p>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 <span class="math-container">$\alpha$</span>. As the roughness increases, the specular highlights become more broad and soft until the surface looks essentially Lambertian.</p>
<p>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 <span class="math-container">$\alpha$</span> 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.</p>
<p>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 <span class="math-container">$\alpha$</span>, 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.</p>

CC BY-SA 4.0
2021-09-05T04:03:09.120Z
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!
Shane Simms
CC BY-SA 4.0
2021-09-04T17:01:19.490Z
2021-09-04T17:01:19.490Z
Nathan Reed
<p>Recently I have been looking at pbrt, and was looking at their remapping from roughness to <span class="math-container">$\alpha$</span> values:
<a href="https://github.com/mmp/pbrt-v3/blob/master/src/core/microfacet.h#L86" rel="nofollow noreferrer">https://github.com/mmp/pbrt-v3/blob/master/src/core/microfacet.h#L86</a></p>
<p>I understand that it is quite common to use some non-linear remapping between roughness values and <span class="math-container">$\alpha$</span> values to make the changes in roughness perceptually linear and in the range <span class="math-container">$[0, 1]$</span>. To me this function looks like it could be some kind of polynomial approximation of the function:</p>
<p><span class="math-container">$\alpha = 1.62142\cdot\sqrt{roughness}$</span>.</p>
<p><a href="https://www.desmos.com/calculator/kcldap4yti" rel="nofollow noreferrer">(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).</a> If this is correct, it would seem to be a pretty standard remapping, using the square of <span class="math-container">$\alpha$</span> to get roughness values, and ensuring that the maximum value of <span class="math-container">$\alpha$</span> (which in this case is <span class="math-container">$1.62142$</span>) goes to <span class="math-container">$1$</span> in roughness.</p>
<p>What I'm really curious about is how this maximum value of <span class="math-container">$1.62142$</span> is chosen. In pbrt, <span class="math-container">$\alpha = \sqrt{2}\cdot(RMS slope)$</span>:</p>
<p><a href="https://pbr-book.org/3ed-2018/Reflection_Models/Microfacet_Models#eq:beckmann-isotropic" rel="nofollow noreferrer">https://pbr-book.org/3ed-2018/Reflection_Models/Microfacet_Models#eq:beckmann-isotropic</a> ,</p>
<p>meaning the maximum RMS slope is <span class="math-container">$\approx 1.14652$</span>. 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?</p>

<brdf><microfacet><pbrt>
How is the maximum value for alpha (roughness == 1) decided for microfacet models?
Shane Simms
# How is the maximum value for alpha (roughness == 1) decided for microfacet models?

(Asked by: username_0 on 2021-09-04)

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).](https://www.desmos.com/calculator/kcldap4yti) 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?

**Tags:** brdf, microfacet, pbrt


---

## 1 answers

### Answer by username_1 on 2021-09-04. Score: 1 | Accepted answer

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.

> **Comments:**
> **username_0**: 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!  

---

