EN
Back to the archive

The encyclopedia · Engineering & Operations · Technical decision · 1982–1985

Perlin noise gave CGI a natural look from a tiny function

In 1985 Ken Perlin's gradient noise made computer graphics look natural without a library of textures.

Mathematical Applications Group (MAGI) · New York University

the move

Early computer-generated imagery looked flat and machine-like because surfaces were defined by perfectly smooth geometry or by bitmaps that had to be stored and could only repeat. Real things — smoke, clouds, water, rock — have believable irregularity, and reproducing it graphically was the problem Ken Perlin faced while working on Tron in the early 1980s.

Perlin's answer was a type of gradient noise. The function puts pseudo-random gradient vectors at the corners of a grid and interpolates the dot products, so any point in space returns a smooth, natural-looking value between random extremes. Because it is a function, not a stored picture, it can be evaluated anywhere and at any scale.

It gives a controllable pseudo-random appearance where the size of every detail stays constant, so scaled copies can be layered into a spot, wood, water or terrain pattern on demand. Perlin described it in a 1985 SIGGRAPH paper, and it became the primitive for believable procedural texture in computer graphics.

why it works

  • As a function, it generates texture procedurally so no bitmap has to be stored, which frees memory for more detail.
  • The output is deterministic yet pseudo-random, so it looks natural but is reproducible.
  • Scaling and summing copies produces rich, fractal-looking surfaces from one primitive.
the payoffMake randomness from one smooth deterministic functionclever

what transfers

Instead of storing a fixed texture, define one function that manufactures believable variation anywhere and infinitely, so memory stops being the limit on a scene's detail.

what came after

Perlin won an Academy Award for Technical Achievement in 1997 for the technique, which became ubiquitous in motion-picture visual effects, video games and demos, and its successor simplex noise is now built into many graphics processing units.

references

spotted an error? The archive wants to know.

same kind of clever