PN.26.014. 3D. Studio project, 2026.
Slow Light
A real path tracer running in your browser. The picture starts as noise and keeps getting truer for as long as you stay.

The brief
Make an experimental WebGL experience that does something a browser is not expected to do.
The idea
Most graphics on the web are a fast approximation. Slow Light traces actual paths of light, one per pixel per frame, and averages them. Waiting is the point: a long exposure you can watch developing, which is also how photography began.
Decisions
- Scenes are pure signed distance functions, with no models or textures.
- Water is a true Fresnel interface with refraction, so reflections and depth are earned.
- The doorway in Door, Salt Flat toggles the sky as rays cross it, so the reflection agrees with the impossibility.
- Long shaders compile asynchronously so the page never freezes.
How it came together
- Wrote a progressive accumulator with tiled rendering so long frames do not hit the GPU watchdog.
- Added thin-lens depth of field, soft sun, volumetric fog and a dielectric water surface.
- Found and replaced a blocky bloom kernel after inspecting the finals at full size.
How it works
A fragment shader marches each ray through a signed distance field, bounces it with a BRDF, and adds the sample to a floating-point buffer. Dividing by the sample count gives the image.
Want something like this?
Tell us what you are making. A few lines is enough to start.
Hanging nearby

Impossible RoomsFive surreal interiors and landscapes, each rendered for thousands of light paths per pixel.PN.26.001. Print series.
MurmurationA flock of 160,000 birds at dusk, simulated on your graphics card. You are the falcon.PN.26.007. Interactive simulation.
Halden TideA dive watch modelled entirely in code that you can turn, reconfigure and take apart. It is telling the real time.PN.26.017. Interactive 3D viewer.