Have you ever watched a 3D movie and wondered how software winds up with such a true-to-life image? Unlike video games, which use complicated and math-intensive tricks for realtime rendering, pre-rendered movies like "Toy Story" or "Moana" use an elegant algorithm called "path tracing" which removes all that complexity at the cost of performance. Path tracers are slow to run, but simple to write and physically accurate. In this presentation, we'll build a short, powerful path tracer in JavaScript which is capable of truly beautiful results.

Though we'll end up with a working program, this presentation focuses on the elegant *idea* of path tracing over the details of its JavaScript implementation.  At its heart, path tracing is more of a physics simulation than a graphical process - it simulates the actual behavior of *photons* as they bounce around an environment, interacting with various materials. This is an idea that can be expressed in any language, yielding beautiful glimpses into a digitally-defined reality.