live

Particle Storm

65,536 GPU-simulated particles driven by 3D curl noise, collapsing into mathematical forms — Lorenz attractor, Möbius strip, neural network diagrams, runes.

What it is

A GPU particle simulation running entirely in the browser. 256×256 particles are stored as RGBA32F textures and updated each frame via a ping-pong WebGL shader.

The simulation applies:

  • 3D divergence-free curl noise — particles flow in smooth, swirling patterns that never converge or diverge
  • Attraction toward target shapes — during the “collapse” phase, each particle is pulled toward a point on the target geometry
  • Trail accumulation — particle paths are accumulated on a render target with slow decay, producing ink-like streaks

Shapes

The storm can collapse into:

  • Lorenz attractor (chaotic system)
  • Möbius strip (topological surface)
  • Lissajous figures (parametric math curves)
  • Feedforward neural network diagram
  • Elder Futhark runes
  • Any SVG or 3D GLB model (via file upload)

Technical notes

Particles are rendered as GL_LINES (tail → head per particle) rather than point sprites. Line length is proportional to particle speed, so stationary particles are invisible. This produces directional streaks rather than round blobs.

The trail accumulation uses a white background (white = empty after blit), so the final output is dark marks on light background — matching the site’s visual identity.

Try it

The interactive version is embedded on the homepage. A full-control version is available at /demo/.