
Rendered a scene using photon mapping for indirect illumination only. Removed the diffuse component in the Blinn material to avoid double-counting, and disabled Monte-Carlo GI sampling. Render took 20s for 640x360 image.

Buggy result of rendering a scene using only photon mapping for illumination. Kind of reproduces what Cem shows in class. I believe the fault is in Cems photonmap.h, where we aggregate the light direction before taking the specular power. I think the fix is to pass in the glossiness and take the power before aggregation, but I might be wrong.

Diffuse component using photons directly coming out from the light, multiplied by a 4 coefficient. Matches OpenGL render. 1M photons, radius 1.0, ellipticity 0.2. The bright seam artifact is nicely removed by the ellipticity parameter. Render took 64s.

Final gathering with photon map and caustics map. 10M photons, 0.15 radius, render time 12:50.

The Monte Carlo GI reference. Missing caustics.

Visualization of photons. Reflective and refractive surfaces are left out.

Rendered with 5M photons from the light. Looks dark everywhere. Might be missing a 2 pi coefficient? The wall seams also looks brighter than they should be.