Worley noise

Summary

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 nearest seed, and the seeds are distributed evenly through the region. Worley noise is used to create procedural textures.[1] [2]

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 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 orthogonal 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

  • Worley, Steven (1996). A cellular texture basis function (PDF). Proceedings of the 23rd annual conference on computer graphics and interactive techniques. acm.org. pp. 291–294. ISBN 0-89791-746-4.
  • David S. Ebert; F. Kenton Musgrave; Darwyn Peachey; Ken Perlin; Steve Worley (2002). Texturing and Modeling: A Procedural Approach. Morgan Kaufmann. pp. 135–155. ISBN 978-1-55860-848-1.

External links edit

  • Detailed description on how to implement cell noise
  • A version with the color plates appended at the end