Skip to content

Commit ce56284

Browse files
author
Delio Vicini
committed
Implement null transmission evaluation for Mask BSDF
1 parent 799e3cd commit ce56284

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/bsdfs/mask.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,12 @@ class MaskBSDF final : public BSDF<Float, Spectrum> {
153153

154154
return result;
155155
}
156+
157+
Spectrum eval_null_transmission(const SurfaceInteraction3f &si,
158+
Mask active) const override {
159+
Float opacity = eval_opacity(si, active);
160+
return 1 - opacity * (1 - m_nested_bsdf->eval_null_transmission(si, active));
161+
}
156162

157163
MTS_INLINE Float eval_opacity(const SurfaceInteraction3f &si, Mask active) const {
158164
return clamp(m_opacity->eval_1(si, active), 0.f, 1.f);

0 commit comments

Comments
 (0)