# Can microfacet BRDF (including ggx) represent perfect mirror?

Perfect mirror's brdf is simple,

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

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.

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

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)}$$