TU Wien Rendering #35 - Stochastic Progressive Photon Mapping

Stochastic progressive photon mapping regenerates photon maps each pass and shrinks the search radius over time, avoiding the need for infinite photons. The method trades off initial radius size: larger radii blur details but speed coverage, smaller ones are precise but slow. Toshiya Hachizuka's technique handles specular-diffuse-specular transport better than classical photon mapping.
Chapters
Stochastic progressive photon mapping. What is this thing about? Well, you would need an infinite amount of photons to ensure consistency. You cannot do that. But what you could do is that you could from time to time, generate a new photon map and use that. And this means discarding previous samples and creating new ones. So we start out with a regular ray tracing pass that we call iPass and we use this photo map that we have and then we generate a new photo map and then we are going to use that from the next pass. There's also an addition and you start out with bigger photons, so to say, and the size or the radius of these photons would shrink in time. Why is this useful? Well, because you have practically an infinite number of photons and you can see how the rendered image evolves over time with progressive photo mapping. So this method is consistent. This is a big deal because you can make photo mapping consistent in practical cases. So this is our previous scene with heavy SDS transport and you can see how it converges in the first 10 minutes of the rendering process. With SVPM, Another set of results with the classical algorithms that we all know and love. And you can see that photo mapping kind of works. You don't have high frequency noise, but you can see that it over blurs many of the important features of the image. And this is the result with bpm. Much sharper images, slightly more noise, but it is practically consistent. What about this difficult previous scene with lots of SDS transport? Well, photo mapping kind of worked, but it again over blurred many of the important features. Progressive fotomapping takes care of this. You can read the papers here. So SPPM doesn't just render SDS light paths, but it does it efficiently. It is a wonderful previewing algorithm. So you can just fire it up and in a matter of seconds you can get a good idea on how your scene actually is going to look like. However, if you set this starting radius to a setting that's two too high, then you're going to have large photons for the longest time. And this means that the image will be again over blurred for a very long time in the rendering process. However, if you set it for too low, it will be a very sharp image, but it will take a very long time to fill the image. So as you can see, this is a more complex technique that can possibly outperform the algorithms that you have previously seen. But this comes at a cost. This is a more complex algorithm. This is slightly more difficult to implement and it has more parameters than previous methods. You can see that this is not like the large mutation probability with Metropolis Light transport. If you set up one of the parameters incorrectly, you may have to wait for way too long. And if you set up a simple photon mapper, not sppm, a simple photon mapper incorrectly, you may even get an incorrect image because you don't have enough photons at the most important regions of the image. This work was created by Toshiya Hachizuka and his colleagues, and it's a brilliant piece of work.










