Jump to content

Worley noise

From Wikipedia, the free encyclopedia
Example picture generated with Worley noise's basic algorithm.
When computing Worley noise, each seed is located within its own grid square. (Grid is not a part of the noise)
Worley noise can be differentiated once to generate a normal map. (Grid is not a part of noise)

Worley noise, also called Voronoi noise and cellular noise, is a noise function introduced by Steven Worley in 1996. Worley noise is an extension of the Voronoi diagram that outputs a real value at a given coordinate that corresponds to the Distance of the nth nearest seed (usually n=1) and the seeds are distributed evenly through the region. Worley noise is used to create procedural textures.[1] [2]

Worley noise of Euclidean distance is differentiable and continuous everywhere except on the edges of the Voronoi diagram of the set of seeds and on the location of the seeds.

Basic algorithm

[edit]

The algorithm chooses random points in space (2- or 3-dimensional) and then for every location in space takes the distances Fn to the nth-closest point (e.g. the second-closest point) and uses combinations of those to control color information (note that Fn+1 > Fn). More precisely:

  • Randomly distribute feature points in space organized as grid cells. In practice this is done on the fly without storage (as a procedural noise). The original method considered a variable number of seed points per cell so as to mimic a Poisson disc, but many implementations just put one. This is an optimization that limits the number of terms that will be compared
  • At run time, extract the distances Fn from the given location to the closest seed point. For F1 It is only necessary to find the value of the seeds location in the grid cell being sampled and the grid cells adjacent to that grid cell.
  • Noise W(x) is formally the vector of distances, plus possibly the corresponding seed ids, user-combined so as to produce a color.[2]

See also

[edit]

References

[edit]
  1. ^ Patrick Cozzi; Christophe Riccio (2012). OpenGL Insights. CRC Press. pp. 113–115. ISBN 978-1-4398-9376-0.
  2. ^ a b Worley, Steven (August 1996). "A cellular texture basis function". Proceedings of the 23rd annual conference on Computer graphics and interactive techniques. pp. 291–294. doi:10.1145/237170.237267. ISBN 0897917464. S2CID 2759214 – via ACM Digital Library.

Further reading

[edit]
[edit]