Ignis icon indicating copy to clipboard operation
Ignis copied to clipboard

Principled IOR mismatch

Open PearCoding opened this issue 3 years ago • 2 comments

The ior from the principled bsdf (aka. disney bsdf) does not work for all ior values. IOR=1 returns just black

PearCoding avatar Feb 03 '22 13:02 PearCoding

IOR=1 is a NaN causing corner-case for microfacet distributions. Because there's no such thing as a rough yet non-existent interface between two media ;)

You could add a special case that switches to a non-rough dielectric, or simply enforce a lower bound of 1.00001 or sth.

pgrit avatar Feb 03 '22 15:02 pgrit

True, but the behavior is inconsistent in the implementation. The rough dielectric bsdf has no problem dealing with it... the principled bsdf however does. So there is a "happy accident" somewhere

PearCoding avatar Feb 03 '22 16:02 PearCoding