Zen photon garden
A real-time interactive raytracer art-toy for sculpting with light.
In the course of designing a triangular pixel grid prototype for a larger project, I found myself building a little raytracing toy in Processing. I wanted to optimize the shape of my reflectors in order to get the smoothest and most uniform LED light. Before I could even use this tool for its intended purpose, I got distracted with using it to create art. Then I got distracted with making it run in web browsers, so anyone could use it to create art.
But I didn’t write it as a tech demo, I wrote it to try out an interaction model: sculpting with light.
Watch the video to see how a uniform circle of light can be sculpted into a unique shape. For more details about how the raytracer works, see the blog post:
Zen photon garden uses several great new HTML5 features. Currently Firefox nightly builds are the only browser to support every single one!
- Web Workers, for rendering on multiple CPU cores.
- Canvas, for drawing the results.
- Typed Arrays, for efficiently operating on large blocks of data.
This demo is released under the BSD license.