diff --git a/src/integrators/bdpt/bdpt_proc.cpp b/src/integrators/bdpt/bdpt_proc.cpp index 95cbe554c..013f27f3f 100644 --- a/src/integrators/bdpt/bdpt_proc.cpp +++ b/src/integrators/bdpt/bdpt_proc.cpp @@ -310,7 +310,7 @@ class BDPTRenderer : public WorkProcessor { wr->putLightSample(samplePos, value * miWeight); } } - wr->putSample(initialSamplePos, sampleValue); + wr->putSample(initialSamplePos, sampleValue, sensorSubpath.vertexCount() > 2 ? 1.0f : 0.0f); } ref clone() const { diff --git a/src/integrators/bdpt/bdpt_wr.h b/src/integrators/bdpt/bdpt_wr.h index 28a6bc1d3..cf43f2873 100644 --- a/src/integrators/bdpt/bdpt_wr.h +++ b/src/integrators/bdpt/bdpt_wr.h @@ -63,8 +63,8 @@ class BDPTWorkResult : public WorkResult { } #endif - inline void putSample(const Point2 &sample, const Spectrum &spec) { - m_block->put(sample, spec, 1.0f); + inline void putSample(const Point2 &sample, const Spectrum &spec, Float alpha) { + m_block->put(sample, spec, alpha); } inline void putLightSample(const Point2 &sample, const Spectrum &spec) {