Source code for pbrt, the renderer described in the third edition of "Physically Based Rendering: From Theory To Implementation", by Matt Pharr, Wenzel Jakob, and Greg Humphreys.
I am wondering if MicrofacetTransmission::f is missing a check Dot(wo, wh) Dot(wi, wh)<0. I think right now it can produce nonzero results when Dot(wo, wh) Dot(wi, wh)>=0. I observed weird artifacts when I path traced Microfacet layers to render layered materials.
I am wondering if MicrofacetTransmission::f is missing a check Dot(wo, wh) Dot(wi, wh)<0. I think right now it can produce nonzero results when Dot(wo, wh) Dot(wi, wh)>=0. I observed weird artifacts when I path traced Microfacet layers to render layered materials.