We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent b35c56f commit 8ecf6efCopy full SHA for 8ecf6ef
Source/ZetaRenderPass/Common/BSDF.hlsli
@@ -421,7 +421,7 @@ namespace BSDF
421
{
422
float denom = mad(whdotwo, 1 / eta, whdotwi);
423
denom *= denom;
424
- float dwh_dwi = whdotwi / denom;
+ float dwh_dwi = denom > 0 ? whdotwi / denom : 0;
425
426
return dwh_dwi;
427
}
Source/ZetaRenderPass/Common/BSDFSampling.hlsli
@@ -142,7 +142,8 @@ namespace BSDF
142
// to 0 and the path-tracing loop is terminated.
143
144
ret.f = BSDF::DielectricBaseSpecularTr(surface, eval.Fr_g.x) * func_t;
145
- ret.bsdfOverPdf = ret.f / ret.pdf;
+ // if code reached here, pdf should > 0 unless dwh_dwi = 0
146
+ ret.bsdfOverPdf = ret.pdf > 0 ? ret.f / ret.pdf : 0;
147
ret.wi = wi_t;
148
ret.lobe = BSDF::LOBE::GLOSSY_T;
149
0 commit comments