CS 6620 Final Project
Photon Mapping

Spring 2003
University of Utah
Jenny Simpson



Description:

Photon mapping is a two pass lighting algorithm. The first pass involves creating two photon maps, one representing the diffuse light in a scene and the other representing the caustic light. The second pass involves rendering the scene using standard ray tracing, but getting color values from the photon map instead of calculating them on the fly.

Rather than explaining photon mapping in detail, I'll point you to some helpful documentation.

  • Jensen's book: Realistic Image Synthesis Using Photon Mapping
  • Henrik Wann Jensen: "Global Illumination using Photon Maps". In "Rendering Techniques '96". Eds. X. Pueyo and P. Schröder. Springer-Verlag, pp. 21-30, 1996
  • Justin Hansen's Photon Mapping project description (diffuse photon mapping only)

I have implemented photon mapping for diffuse surfaces. The next step is to implement caustics, which hopefully I will get to soon. The only place I deviated from Jensen's algorithm was to check hit point normals against photon normals to make sure not to add in the photon power if they are perpendicular. This gets rid of "false" photons on the edges of objects, but it causes dark outlines where walls intersect because less photons are being counted.


Samples/pixel: 100
Size: 256x256
Number of emitted photons: 5,000
Search radius for photons: 5
Maximum # photons used in estimate: 300



Samples/pixel: 100
Size: 256x256
Number of emitted photons: 500,000
Search radius for photons: 5
Max # photons used in estimate: 300



Samples/pixel: 100
Size: 256x256
Number of emitted photons: 5,000,000
Search radius for photons: 5
Max # photons used in estimate: 300



Samples/pixel: 100
Size: 256x256
Number of emitted photons: 5,000
Search radius for photons: 5
Max # photons used in estimate: 1000



Samples/pixel: 100
Size: 256x256
Number of emitted photons: 500,000
Search radius for photons: 5
Max # photons used in estimate: 1000



Samples/pixel: 100
Size: 256x256
Number of emitted photons: 5,000,000
Search radius for photons: 5
Max # photons used in estimate: 1000



Samples/pixel: 100
Size: 256x256
Number of emitted photons: 5,000
Search radius for photons: 5
Max # photons used in estimate: 1000



Samples/pixel: 100
Size: 256x256
Number of emitted photons: 500,000
Search radius for photons: 5
Max # photons used in estimate: 1000



Samples/pixel: 100
Size: 256x256
Number of emitted photons: 5,000,000
Search radius for photons: 5
Max # photons used in estimate: 1000




Last Updated: Fri May 2 13:41:12 MDT 2003
simpson@cs.utah.edu