diff --git a/src/pbrt/cpu/integrators.cpp b/src/pbrt/cpu/integrators.cpp index c2fffd02..64eaf983 100644 --- a/src/pbrt/cpu/integrators.cpp +++ b/src/pbrt/cpu/integrators.cpp @@ -420,6 +420,7 @@ SampledSpectrum SimplePathIntegrator::Li(RayDifferential ray, SampledWavelengths // Get BSDF and skip over medium boundaries BSDF bsdf = isect.GetBSDF(ray, lambda, camera, scratchBuffer, sampler); if (!bsdf) { + specularBounce = true; isect.SkipIntersection(&ray, si->tHit); continue; } @@ -677,6 +678,7 @@ SampledSpectrum PathIntegrator::Li(RayDifferential ray, SampledWavelengths &lamb // Get BSDF and skip over medium boundaries BSDF bsdf = isect.GetBSDF(ray, lambda, camera, scratchBuffer, sampler); if (!bsdf) { + specularBounce = true; // disable MIS if the indirect ray hits a light isect.SkipIntersection(&ray, si->tHit); continue; }