s-ray: caustics through photon mapping

John Tsiombikas nuclear@mutantstargoat.com

2 September 2009

The main feature set that I had planned for my new s-ray renderer is almost complete. The renderer is now capable of producing caustics), that is light being focused on surfaces by curved mirrors or lenses (or otherwise transmission through refractive objects).

Standard recursive ray tracing is incapable of producing caustics; instead a two-pass algorithm called photon mapping is used. Photon mapping works by tracing random photons as they leave the light sources and bounce around the scene, finally ending up on various surfaces. The second pass works just like regular ray tracing, with the difference that on every ray hit, the density of stored photons around that point is used to estimate the amount of light that has arrived there after being reflected or refracted.

Here are a couple of images produced by s-ray, showing both reflective and refractive caustics:

reflective caustics refractive caustics
reflective causticsrefractive caustics

This was initially posted in my old wordpress blog. Visit the original version to see any comments.

Discuss this post

Back to my blog