Implement photon mapping. I implemented photon mapping both ways ( storing the photon hits and searching them when rendering, and  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.
All images use 343 samples per pixel.
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 is an improved image, although the light
is too bright, causing the secondary caustic on
the wall. The artifacts are much reduced, but still
Last Modified: Thursday, Nov 15, 2001
Chris Wyman (firstname.lastname@example.org)