Browser port of the original C++/GLUT program (main.cpp). Caustics come from a photon shooting pass; the image is then ray traced and tone mapped.
main.cpp