Skip to content
GR003

Lucerna

A lamp you carry across a dark floor of drifting ink, which cannot be seen until the light reaches it — and which the light disturbs by arriving.

2026interactivevgpu, WebGPU, WGSL

Move the lamp. The screen is black and the ink cannot be seen until light reaches it, so what you find is only ever what you are pointing at.

The cursor carries the only light in the room. Moving it stirs the ink it is trying to show, which means the piece resists being read: the closer you look, the more you disturb. Press and hold to pour more ink at the lamp, and a weak outward push from the light spreads it into rings.

Nothing here is drawn. The ink is a fluid simulation running on compute, and the light is solved by radiance cascades — a jump-flooded distance field feeding six levels of merged radiance — so the shadows have real penumbrae and soften with distance the way shadows do. Stop moving and the ink keeps drifting, so the shadows go on changing while the lamp is still. No arrangement of them can be produced twice.

Leave it alone and it takes the frame back, walking a lamp of its own until you return.

WebGPU only, and honestly so: where WebGPU is missing the page plays the rendered loop rather than a black rectangle — a lighting piece held still loses the only thing it does. No camera, and nothing leaves the machine.