How it works
You're looking at a chess set of glass and gold pieces on a polished marble board, lit by a brass desk lamp and filmed through a wide-open lens. Everything is computed live on your GPU: the light, the caustics (the bright patterns the glass focuses onto the board), the reflections, and the depth of field. The renderer is paused while you read this.
Light as a wavefront
Most renderers send out huge numbers of independent rays or photons and average them, which leaves noise that takes time to clear. Here the lamp emits a mesh instead: a grid of points on the wavefront, each joined to its neighbours. Every point travels along its ray, reflecting off the gold and bending through the glass, and the mesh stays connected the whole way.
Because it stays connected, the light needs no averaging. Where a patch of the wavefront lands, its brightness is simply the light it carries divided by the area it covers. Focusing, fall-off and caustics come straight out of the geometry. Where the wavefront folds over itself, its area shrinks towards zero and the light concentrates: that's a caustic. The mesh refines itself wherever it bends sharply, so the caustics stay crisp.
Light that stays put
The light that lands is stored on the surfaces, along with an estimate of the light bouncing between them. None of it depends on where you're looking from, so moving the camera doesn't redo it: when you orbit, only the camera works. The thin bar along the top of the screen shows the lighting settling after the page loads.
The camera
The camera traces one ray per pixel through the scene (through the glass, off the gold and the board) and reads the stored light wherever it lands. Each frame is nudged by a fraction of a pixel, and frames are combined over time to rebuild a sharp image at your screen's resolution.
Depth of field is added afterwards from each pixel's depth, the way a real lens blurs what's nearer or farther than its focus. The board's reflections blur by the depth of what they reflect, as they would in a mirror. The lens focuses by itself on the nearest thing around the centre of the view, gliding there like a camera's focus motor.
Controls
Requirements
A browser with WebGPU: a recent Chrome or Edge, or Safari 26 (iOS 26 or later on iPhone and iPad). Phones run it too, at a lower resolution.
The chess pieces are Chess Set by Riley Queen from Poly Haven (CC0). The lamp, wine glass and board are built from simple shapes.