Perlin noise is a procedural texturing
technique, widely used in movies to produce fire
, and other possible effects, in lieu of their physical counterparts.
It is produced by layering noises
of different frequencies
on top of each other. This is able to create a seemingly random
yet smooth effect, usable for mountainous, rocky heightmaps
or smooth plains. The technique is usable for any positive amount of dimensions wanted. This allows three dimensional heightmaps, which vary over time, and three or four dimensional fog
maps. (The last being time, again)
, who this method was named after, won an Oscar
for this technique, and developed it after working on TRON
A method of implementation for one dimensional noise is:
First, an array of random values is necessary. Assuming the value of x is a floating point, we must get the two neighbouring values in the random array: array[floor(x)] and array[floor(x + 1)]. Then, we interpolate those two values by the floating point part of x -- (x - floor(x)).
We can extend this method to two dimensions, also, and this requires interpolating between four neighbouring values. Three dimensions requires eight neighbours, and so on. 2n