For the first time in nearly a year, I was able to render out the following image, which pretty much displays the worst case scenario for path-based methods, using the new SPPM algorithm.
The basic point is this, this image would be a nightmare for path-based algorithms to tackle due to a long thin light source being inside a hollow torus knot (made with the old 2.5 torus knot generator). It would need to render subtle lighting, shadow, and caustic effects throughout the entirety of the scene, which, using Lux 0.8’s fastest bidirectional path tracing settings (using metropolis and everything), I would estimate would take over a week providing I didn’t pause the rendering to do anything else.
However, once I started getting around the SPPM settings (including using 1 million photons per pass and setting the alpha to 0.40), I had it rendering out for about 44 hours in which I got to the point where nearly all of the lighting detail that can be revealed has been rendered and going any longer would not reveal much more.
So, despite the discovery that a lighting setup like this would take a while to render with any algorithm, I am quite happy with how the new SPPM was able to tackle it and shows how it can render about any time of image that bidirectional path tracing with metropolis sampling would fail on.
Found out I had the settings for the Glass2 material completely wrong (knowing how to make Glass2 render like proper glass was a little trickier than I thought due to the use of volume with optional fresnal textures instead of straight settings for things like IOR to make it more accurate)
Here’s the render with the proper glass material and some improved settings for other materials (rendering approx 30 hours with one billion photons, slight changes made in the Blender compositor after exporting it as an .exr)
To note, even after cleaning up any lingering fireflies in post-pro, getting the exact same result using Bidirectional path tracing may have easily taken well over 100 hours, noting this would be a difficult situation for pure path-based methods.
More precisely, it didn’t really have any at the time. Now it does. This was a glass test scene I have that was causing problems with the poor (lack of) filtering before (both with noise and aliasing), this time with the new build:
(oh, and avoid using the metropolis sampler or outlier rejection with the current SPPM code. The MLT sampler doesn’t actually do anything, but somehow it’s making the results come out all wrong. Outlier rejection just plain doesn’t work right, since the algorithm isn’t meant for SPPM, the latest luxblend25 will always export with it off when sppm is selected, so if you update your copy, you should be fine there (bonus: you can play with the sexy new render settings panel I added to it)