CS 5620/6620 - Fall 2025 - Rendering with Ray Tracing
Project 12 - Photon Mapping
In this project we will replace path tracing for indirect illumination with photon mapping.
Requirements
Implement photon mapping.
Render a scene using only photon mapping for illumination (direct and indirect).
Render a scene using photon mapping for indirect illumination only.
Make sure that point lights have inverse square fall-off.
Source Code
The following source code files are provided to help you with this and upcoming projects. You are not required to use them, but it is highly recommened that you use them and refrain from modifying them. Some of these files include additional code as compared to the same files in the previous project, so make sure to download them all again.
Test Scenes
The following scene files are provided to help you test your implementation. You can also prepare other scenes to show your work.
Optional Feature Suggestions
Add a Monte Carlo sampling bounce for indirect illumination.
Implement precomputed irradiances to achieve higher performance.
Implement final gathering using importance sampling based on the photon map information.
References
[Jensen 1996]
Henrik Wann Jensen. 1996. Global illumination using photon maps. In Proceedings of the eurographics workshop on Rendering techniques '96, Xavier Pueyo and Peter Schröder (Eds.). Springer-Verlag, London, UK, UK, 21-30.
[Jensen 2004]
Henrik Wann Jensen. 2004. A practical guide to global illumination using ray tracing and photon mapping. In ACM SIGGRAPH 2004 Course Notes (SIGGRAPH '04).