Afterglowscreensavers

Curl Noise Screensaver

Curl Noise is a free, in-browser screensaver where particles follow the curl of a noise potential. Because the curl of any scalar field is divergence-free, the particles behave like an incompressible fluid: they never pile up in sinks or drain out of sources, so coverage stays even and the motion reads as smoke drifting in still air. Nothing to download, and ESC exits at any time.

Live preview

Curl Noise screensaver — Incompressible smoke that never pools.

Press ESC to leave fullscreen. Settings are saved in your browser only.

How the Curl Noise screensaver works

Start with a scalar noise potential: a smooth random height at every point. Instead of reading that value as an angle, the saver takes its gradient by finite differences — how fast it changes in x and in y — and rotates the gradient ninety degrees. That rotated gradient is the curl, and it always runs along the contour lines of the potential.

Following contour lines has a physical consequence. Contours never start or end, so a particle can never be funnelled into a sink or pushed out of a source; the flow is divergence-free, the same property real incompressible fluids have. Raw noise fields form pools and bare patches over time. Curl noise stays evenly covered indefinitely.

The potential drifts along its third axis at the Evolve rate, so the contour lines slowly deform and the smoke keeps moving. Detail sets the spatial frequency — how many eddies fit across the screen — and Trail how long each particle’s path lingers before fading into the background.

Colour is assigned from a low-frequency noise field at spawn, so regions of the smoke share a hue, and strokes are drawn additively in every palette except the light Bone one, so where streams cross they brighten.

Divergence-free noise for smoke

Curl noise comes from the paper “Curl-Noise for Procedural Fluid Flow” by Robert Bridson, Jim Hourihan and Marcus Nordenstam, presented at SIGGRAPH 2007 and published in ACM Transactions on Graphics. The authors, from the University of British Columbia, Tweak Films and Double Negative, build turbulent velocity fields from Perlin noise in a way that is divergence-free, so the flow is incompressible.

In two dimensions the construction is easy to picture. The noise acts as a landscape, and particles move along its contour lines, as water would follow the level lines on a map without flowing up or down. Because contour lines never begin or end, the flow cannot pile particles into a sink or drain them from a source, which is the property of an incompressible fluid.

This is a procedural trick, not a simulation. The method is aimed at everyday fluids and avoids solving fluid equations, so the field does not respond to heat or to other particles and has no inertia. The look is credible because real incompressible flow shares the divergence-free property, but the motion should not be taken as physically accurate.

A worked example

At the defaults — Aurora, 2200 particles, Trail 62, Detail 1.2 — the frame fills with slow, closed eddies in teal and violet that keep their even density no matter how long you watch. Set Evolve to 0 and the eddies freeze into fixed rings; particles orbit them forever. Raise Detail to 2.5 and the rings shrink to fine curls the size of a coin.

Settings & tips

Frequently asked questions

What is curl noise?
Curl noise is the curl (rotated gradient) of a noise potential. It was popularised for fluid-like particle effects in games and film because it gives smoke and fluid motion without solving the fluid equations, and it is divergence-free, so particles neither bunch up nor thin out.
Why does the coverage stay so even?
Because the field is divergence-free. A raw noise field has points where the flow converges, and particles pile up there; the curl of a noise field has none, so every particle keeps circulating and the distribution stays uniform.
Is the Curl Noise screensaver free?
Yes. It runs free in your browser with nothing to download or install, and it works offline once the page has loaded.
What does the Seed setting do?
Everything is deterministic from the seed: the noise table, where the field’s features land and the order particles spawn in. Leave it blank for a fresh random layout on every run, or type any short word or number to get the same layout back each time.
How do I exit the Curl Noise screensaver?
Press the ESC key at any time to leave fullscreen and return to the page.
Is curl noise a fluid simulation?
No. It generates a velocity field that has one property of real incompressible fluids, being divergence-free, but it does not solve the equations that govern fluid motion.
Why does it avoid clumping when plain noise does not?
A divergence-free flow carries no net flow into or out of any region, so particles cannot accumulate or empty out the way they can in an arbitrary field.
Who invented curl noise?
Robert Bridson, Jim Hourihan and Marcus Nordenstam, in a 2007 paper presented at SIGGRAPH, as a quick way to give particles fluid-like motion.

← All Generative screensavers