Thursday, June 4, 2009

Progressive Photon Mapping 2.

(After about 15 million samples and 7 hours)

The code for the progressive photon mapping is finally written. For the same number of samples, the algorithm does look better than path tracing, but the sample speed is far worse. While I am not quite doing it in the same way as the paper describes, my method has the same, if not better big-O time per sample. A proof has yet to be done for that. Right off the bat I can think of a couple of optimizations: the first two nodes on the photon can be ignored and not added to the map, and the direct lighting can be computed explicitly. I say this because it seems as though this algorithm is much slower for direct lighting, where graininess and complex lighting is not a problem, and fails completely for antialiasing, which is only really important under direct lighting.

4000 samples:

17000 samples:

1million samples:


  1. I suspect you are right, direct lighting will probably help a great deal. Then you will have a lot less photons to gather and your direct lighting will look better. Great job so far though. Good luck!

  2. Nice to see new unbiased engine growing as Kerkythea and Indigo went commercional. Good luck! I'll be following :)