CS6620 - Ray Tracing for Graphics

Project 13 - Photon Mapping

Duong Hoang


Intel Core i7-3610QM 2.3GHz (4 hardware cores, 8 with hyper-threading)
Nvidia GeForce GTX 660M / 2GB GDDR5 (does not matter)
Windows 8.1 Professional x64
Visual Studio 2013

Running on 8 threads, each works on a block of 8x8 pixels

Cornell box scene
Light power: 1000 (W), radius used for radiance estimation: 0.6 (m). Number of photons emitted: 1 million.
Final gathering used with 32 monte carlo samples, 8-16 samples per pixel.
Rendering time: ~6 minutes.

NOTE: There were two bugs in my program (which had not been there before - they were introduced by my stupid decision to rewrite a large part of the code from the last project). The diffuse photon bounce is too biased in the normal direction, and the photons don't bounce enough times. I have fixed both of these bugs (and some more) in the code used for the Teapot Rendering Comptetition. I may re-render this scene and update this page some time in the future, though I'm too lazy for that now :)

Indirect illumination only

Original cornell box using a point light

Failure cases:

Problem: sampling for caustic from both the photon map and the backward path tracing

Problem: Fresnel reflection not working...

Problem: Color bleeding is gone due to using the incorrect material to do shading

Global Photon map (307979 photons):

Caustic photon map: