SPPM does not handle hitpoints on litted surfaces.
This diff may correct it :
- Code: Select all
diff -r 3ee98fe779df renderers/sppmrenderer.cpp
--- a/renderers/sppmrenderer.cpp Tue Feb 22 11:58:41 2011 +0100
+++ b/renderers/sppmrenderer.cpp Tue Feb 22 13:31:26 2011 +0100
@@ -446,6 +446,9 @@
alpha *= alpha2;
alpha /= lightPdf;
+ // Handle zero bounce, ie. when hitpoints are stored on surfaces
+ renderer->hitPoints->AddFlux(photonRay.o, photonRay.d, sw, alpha);
+
if (!alpha.Black()) {
// Follow photon path through scene and record intersections
Intersection photonIsect;
(on top of 3ee98fe779df)
See attached image
