xingor行歌®
ABOUT ME ↗︎
xingor 行歌BACK TO WORK ×
03 / REALTIME 3D / PARTICLE SIMULATION

Rubber duck particle physics.

RUBBER DUCK / PARTICLE PHYSICS · 2026

VISIT PROJECT ↗︎
RUBBER DUCK — PARTICLE PHYSICS / 2026 · 1080P
PROJECT
Rubber duck particle physics.
TECH
  • Three.js
  • TSL
  • WebGPU

Physics that runs in the shader.

The idea was simple to say and hard to run: thousands of rubber ducks that fall, pile up and knock each other around like real particles — entirely on the GPU, with no CPU physics engine in the loop. If the simulation can't hold a steady frame rate, the toy stops being fun, so the budget was fixed from the start.

The whole behaviour is written in TSL. Each duck is an instanced particle; gravity, integration, and the collision response against neighbours and the floor are computed in WebGPU compute passes, and the same node graph feeds the render. Nothing about a duck is known to JavaScript at runtime — position, velocity and spin all live on the GPU between frames.

The scene is a Three.js WebGPU build. Emissive duck shading, a soft ground bounce and a light sweep make the pile read as one glowing body instead of ten thousand separate meshes. Because simulation and rendering share the same TSL materials, turning up gravity or changing restitution lands in the frame the moment you touch the slider.

NEXT PROJECTTransformer BumbleBee.↗︎