Interactive demo

Worley Noise

Also known as cell noise: Steven Worley's cellular texture function from 1996, computed pixel by pixel in your browser. It is a classic building block for stone, scales, biological cells or water caustics.

Your browser does not support the HTML5 canvas tag.

The dots are the feature points, one per grid cell. Switch the output to F2 − F1 to see the borders between the cells.

Controls

Legend

  • Feature point

Noise types compared

NoiseOutputBuilt fromWork per sampleSmooth
Value NoiseScalar fieldRandom values on a grid4 grid pointsYes
Perlin NoiseScalar fieldRandom gradients on a grid4 grid pointsYes
Simplex NoiseScalar fieldGradients on a triangle grid3 cornersYes
Worley Noise this pageScalar fieldRandom feature points9 to 25 cellsNo
Blue NoisePoint setRandom candidates around existing pointsUp to 30 tries per point–
Fractal NoiseScalar fieldOctaves of a base noise1 base noise per octaveYes
Diamond-SquareHeightmapDisplaced midpoints of a grid4 neighbors per pointNo
Colors of NoiseSignal or imageWhite noise filtered by frequency1 FFT for all samples–
Domain WarpingScalar fieldFractal noise at warped positionsUp to 5 fractal noisesYes
Curl NoiseVector fieldDerivatives of a noise field4 noise samplesYes
Noise Terrain GeneratorHeightmapStacked noise layersLayers × octaves–

1. One point per cell

The image is divided into a grid, and every cell gets one feature point at a random position. The jitter sets how far it may move away from the center of its cell: at 0 the points form a regular grid.

2. Distances F1 and F2

Every pixel measures the distance to the nearest feature point (F1) and to the second nearest one (F2). Only the points of the surrounding cells have to be checked, which keeps it fast.

3. Outputs and metrics

F1 forms dark spots around the points, F2 − F1 draws the borders between the cells, like cobblestones or cracked mud. The Manhattan and Chebyshev distances turn the round shapes into diamonds and squares.