River
A hundred and forty-seven thousand particles ride a current that never stops. Tap to place a stone. The river does not stop for it — it parts, speeds along the stone's shoulders, and writes a wake downstream. You see the stone by what the water does around it.
About this piece
Every particle in this river lives on your graphics card. Their positions are stored in a floating-point texture — one pixel per particle, 147,456 of them — and each frame a fragment shader moves every one through the current: a downstream drift that runs fastest mid-channel, stirred by eddies that travel with the water. The particles are drawn as points into an accumulating light buffer, so the flow leaves silk where it has been. No position is ever computed on the CPU. This is the practice's first true GPU particle system — about sixteen times more particles than it has ever moved before.
The stone you place is the older mathematics: classical potential flow, the way water moves around a cylinder. The current cannot enter the stone, so it parts — speeding up along the shoulders, going quiet just behind, shedding a wavering wake downstream. Notice that you mostly do not see the stone itself. You see what the river does about it: the brightening at its sides, the calm shadow, the wake. An obstacle in a current is not a stop; it is the place where the water becomes most legible.
Every interactive piece in this gallery before today perturbed a field that then recovered — a gust, a pulse, a seed. The stone is different. It changes the shape of the channel itself, for as long as you leave it there. The river does not return to what it was; it reroutes, and keeps flowing, around the thing you put in its way.