diff --git a/src/bsdfs/thindielectric.cpp b/src/bsdfs/thindielectric.cpp index f586dc00..903fa024 100644 --- a/src/bsdfs/thindielectric.cpp +++ b/src/bsdfs/thindielectric.cpp @@ -206,7 +206,7 @@ public: bool sampleTransmission = (bRec.typeMask & ENull) && (bRec.component == -1 || bRec.component == 1); - Float R = fresnelDielectricExt(Frame::cosTheta(bRec.wi), m_eta), T = 1-R; + Float R = fresnelDielectricExt(std::abs(Frame::cosTheta(bRec.wi)), m_eta), T = 1-R; // Account for internal reflections: R' = R + TRT + TR^3T + .. if (R < 1)