10:00
Ken Perlin: Sample uses of noise
Ken Perlin invented the famous noise algorithm while working on the seminal movie Tron (see the Tron Sector fansite) in 1981. Tron was the first movie to use 3D computer graphics to a substantial degree, and remains possibly the classiest use of flat-shaded polygons ever. Despite the success, Perlin wanted to experiment with more natural-looking graphics than Tron’s famous mono-colored slabs.
Noise is an algorithm for generating non-random numbers that change continuously over a spatial continuum, typically 1-, 2- or 3-dimensional space. Noise is often superior to regular randomness since it produces numbers that change smoothly over time. The classic use of the noise is to create procedural textures, i.e. textures that are algorithmic in nature and not just images mapped onto a surface. As Perlin describes it in a talk given at GDC Hardcore in 1999:
Unlike traditional texture mapping, procedural texture doesn’t require a source texture image. As a result, the bandwidth requirements for transmitting or storing procedural textures are essentially zero.
Also, procedural texture can be applied directly onto a three dimensional object. This avoids the “mapping problem” of traditional texture mapping. Instead of trying to figure out how to wrap a two dimensional texture image around a complex object, you can just dip the object into a soup of procedural texture material. Essentially, the virtual object is carved out of a virtual solid material defined by the procedural texture. For this reason, procedural textures are sometimes called solid texture.
Noise is built into Processing. Perlin’s reference implementation in Java is online for anyone to play with.



