6
$\begingroup$

Perfect mirror's brdf is simple,

$F\frac{\delta(\omega_i-\omega_r)}{|\cos(\theta_r)|}$

as in http://www.pbr-book.org/3ed-2018/Reflection_Models/Specular_Reflection_and_Transmission.html

As shown in several articles, microfacet brdf can have zero roughness by definition then they should be able to represent a perfect mirror. But I cannot derive them to above correct perfect brdf.

For instance, when I put zero roughness into GGX model, (https://www.graphics.cornell.edu/~bjw/microfacetbsdf.pdf )

D(m) = D(H) goes to infinity by divided by 0 and G is just one. However, the brdf I got is,

$F\frac{DG}{4|N\cdot V||N\cdot L|}$

Then rendering equation is,

$\int F\frac{D(H)G(L,V, H)}{4|N\cdot V||N\cdot L|} \cos\theta_id\omega_i = \int F\frac{D(H)G(L,V, H)}{4|N\cdot V|} d\omega_i$

If this was correct, $\frac{D(H)G(L,V,H)}{4|N\cdot V|}$ should be a dirac delta function. But I don't think so.

Where am I wrong? How can I derive a perfect mirror from microfacet brdf?

UPDATE

I concluded that Cook-Torrance's brdf can not represent a perfect mirror. The equation has some small value greater than zero when H $\neq$ N even if roughness is zero. So, normalization factor $4|N\cdot V|$ should be not be removed.

Correct me if I was wrong.

$\endgroup$

2 Answers 2

2
$\begingroup$

If this was correct, $\frac{D(H)G(L,V,H)}{4|N⋅V|}$ should be a dirac delta function. But I don't think so.

Actually, you're close to your answer - you just are trying to find out, what the assumption was in the very beginning - if you're talking about a specular BRDF. The term $F\frac{DG}{4|N⋅V||N⋅L|}$ only works, if you start with the precondition, that you're dealing with a perfect mirror, otherwise this would be an integral itself. Have a look at PBR Diffuse Lighting for GGX+SmithMicrosurfaces by Earl Hammon Jr., where explains how to get to the specular BRDF. Especially have a look at slide 29:

  • Microfacet BRDF is a perfect mirror
    • I.e., light reflects if and only if $m = H$
      • Mathematically, BRDF is a scaled dirac delta $\delta_m(H, m)$

So the perfect mirror is your model in the beginning$^1$ - but only for the specular BRDF!

If you are trying to see, if including the diffuse BRDF into your BRDF is a perfect mirror, then this assumption does not hold any more and thus you don't have the dirac delta function.


$^1$ Note that he speaks about a microfacet being a perfect mirror. However, if all your microfacets are perfectly aligned, then your microgeometry "equals" your macrogeometry

$\endgroup$
0
1
$\begingroup$

I actually have stumbled at this same exact problem. I think I have found the solution in the pbr book: https://www.pbr-book.org/3ed-2018/Reflection_Models/Microfacet_Models#TheTorrancendashSparrowModel

Basically from what I understand, the derivation for a perfect mirror (without fresnel and geometry terms) goes like this:

$L(\omega_o)=\int \text{brdf}(\omega_i, \omega_o) \cos(\theta_i) d\omega_i=\int\frac{D(\omega_h) L_i(\omega_i)}{4\cos(\theta_i) \cos(\theta_o)}\cos(\theta_i)d\omega_i=\int\frac{D(\omega_h) L_i(\omega_i)}{4\cos(\theta_o)}d\omega_i$

However, the crucial detail is that the distribution function $D(\omega_h)=\delta(\omega_h)$ here is a function of $\omega_h$, but the integration happens over $\omega_i$. And according to formula 8.17 of the pbr book, $d\omega_h=\frac{d\omega_o}{4 \cos(\theta_h)}=\frac{d\omega_i}{4 \cos(\theta_h)}$, and for the case of integrating over a perfect mirror, $\theta_h=\theta_i=\theta_o$, which essentially means $d\omega_i=4 \cos(\theta_o)d\omega_h$.

And now, finally substituting this $d\omega_i$ and essentially integrating over $\omega_h$ instead, we get:

$L(\omega_o)=\int\frac{D(\omega_h) L_i(\omega_i(\omega_h))}{4\cos(\theta_o)}4 \cos(\omega_o)d\omega_h=\int\delta(\omega_h)L_i(\omega_i(\omega_h))d\omega_h=L(\omega_i)$

TL;DR it's because $D(\omega_h)$ is a function of $\omega_h$ and not a function of $\omega_i$. However, one can be converted to another via this "extra" term: $d\omega_h=\frac{d\omega_o}{4\cos(\omega_h)}$

$\endgroup$

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.