Image Synthesis Class

Homework 12:

Implement photon mapping. I implemented photon mapping both ways ([1] storing the photon hits and searching them when rendering, and [2] storing photon hits in a texture map).

Since storing individual photon hits is quite slow without acceleration (and the fact I couldn't get my acceleration to work) means that the following images all use the texture mapping method.

NOTE: All images are gamma corrected with gamma 2.


Simple Cornell box scene with 343 samples
per pixel and 10 million photons.

Cornell box on acid with 343 samples per
pixel and 10 million photons.

Effect of Changing the Number of Photons:

All images use 343 samples per pixel.

1,000,000 photons
100,000 photons
10,000 photons

Buggy Images Created By Storing Each Photon:

So, just to show my attempt at storing each photon... Mainly because my buggy images are so cool, I'll show the results of using my defective acceleration structure (which is a grid...as if you couldn't tell).


This was the first image I produced... It was so cool that
I made a larger version. I don't remember how many photons I used.



This is an improved image, although the light
is too bright, causing the secondary caustic on
the wall. The artifacts are much reduced, but still
quite noticable.


Last Modified: Thursday, Nov 15, 2001

Chris Wyman (wyman@cs.utah.edu)