Worley noise

Last updated
Example picture generated with Worley noise's basic algorithm. Tweaking of seed points and colors would be necessary to make this look like stone. Worley.jpg
Example picture generated with Worley noise's basic algorithm. Tweaking of seed points and colors would be necessary to make this look like stone.

Worley noise is a noise function introduced by Steven Worley in 1996. In computer graphics it is used to create procedural textures, [1] i.e. textures that are created automatically with arbitrary precision and do not have to be drawn by hand. Worley noise comes close to simulating textures of stone, water, or biological cells.


Basic algorithm

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

See also

Related Research Articles

Computational geometry is a branch of computer science devoted to the study of algorithms which can be stated in terms of geometry. Some purely geometrical problems arise out of the study of computational geometric algorithms, and such problems are also considered to be part of computational geometry. While modern computational geometry is a recent development, it is one of the oldest fields of computing with a history stretching back to antiquity.

Voronoi diagram Type of plane partition

In mathematics, a Voronoi diagram is a partition of a plane into regions close to each of a given set of objects. In the simplest case, these objects are just finitely many points in the plane. For each seed there is a corresponding region, called Voronoi cells, consisting of all points of the plane closer to that seed than to any other. The Voronoi diagram of a set of points is dual to its Delaunay triangulation.

Perlin noise Type of gradient noise in computer graphics

Perlin noise is a type of gradient noise developed by Ken Perlin.

Fractal flame

Fractal flames are a member of the iterated function system class of fractals created by Scott Draves in 1992. Draves' open-source code was later ported into Adobe After Effects graphics software and translated into the Apophysis fractal flame editor.

Shader Type of program in a graphical processing unit (GPU)

In computer graphics, a shader is a type of computer program originally used for shading in 3D scenes. They now perform a variety of specialized functions in various fields within the category of computer graphics special effects, or else do video post-processing unrelated to shading, or even perform functions unrelated to graphics.

Procedural generation Method in which data is created algorithmically as opposed to manually

In computing, procedural generation is a method of creating data algorithmically as opposed to manually, typically through a combination of human-generated assets and algorithms coupled with computer-generated randomness and processing power. In computer graphics, it is commonly used to create textures and 3D models. In video games, it is used to automatically create large amounts of content in a game. Depending on the implementation, advantages of procedural generation can include smaller file sizes, larger amounts of content, and randomness for less predictable gameplay. Procedural generation is a branch of media synthesis.

Lloyds algorithm

In electrical engineering and computer science, Lloyd's algorithm, also known as Voronoi iteration or relaxation, is an algorithm named after Stuart P. Lloyd for finding evenly spaced sets of points in subsets of Euclidean spaces and partitions of these subsets into well-shaped and uniformly sized convex cells. Like the closely related k-means clustering algorithm, it repeatedly finds the centroid of each set in the partition and then re-partitions the input according to which of these centroids is closest. In this setting, the mean operation is an integral over a region of space, and the nearest centroid operation results in Voronoi diagrams.

Mathematical Applications Group, Inc. was an early computer technology company founded in 1966 by Dr. Philip Mittelman and located in Elmsford, New York, where it was evaluating nuclear radiation exposure. By modeling structures using combinatorial geometry mathematics and applying monte carlo radiation ray tracing techniques the mathematicians could estimate exposures at various distances and relative locations in and around fictional structures. In 1972, the graphics group called MAGI/SynthaVision was formed at MAGI by Robert Goldstein.

Simplex noise is a method for constructing an n-dimensional noise function comparable to Perlin noise but with fewer directional artifacts and, in higher dimensions, a lower computational overhead. Ken Perlin designed the algorithm in 2001 to address the limitations of his classic noise function, especially in higher dimensions.

Filter Forge

Filter Forge is a computer graphics program for Windows and Mac that allows users to create procedural textures and modify images. It can be used as a standalone application or as a plugin for compatible 8bf hosts such as Adobe Photoshop. It has been under continuous development by Filter Forge Inc. since its official release in March 2007.

Simulation noise is a function that creates a divergence-free field. This signal can be used in artistic simulations for the purposes of increasing the perception of extra detail.

Procedural modeling is an umbrella term for a number of techniques in computer graphics to create 3D models and textures from sets of rules. L-Systems, fractals, and generative modeling are procedural modeling techniques since they apply algorithms for producing scenes. The set of rules may either be embedded into the algorithm, configurable by parameters, or the set of rules is separate from the evaluation engine. The output is called procedural content, which can be used in computer games, films, be uploaded to the internet, or the user may edit the content manually. Procedural models often exhibit database amplification, meaning that large scenes can be generated from a much smaller number of rules. If the employed algorithm produces the same output every time, the output need not be stored. Often, it suffices to start the algorithm with the same random seed to achieve this.

Scenery generator Type of software

A scenery generator is software used to create landscape images, 3D models, and animations. These programs often use procedural generation to generate the landscapes. If not using procedural generation to create the landscapes, then normally a 3D artist would render and create the landscapes. These programs are often used in video games or movies. Basic elements of landscapes created by scenery generators include terrain, water, foliage, and clouds. The process for basic random generation uses a diamond square algorithm.

Value noise Type of noise in computer graphics

Value noise is a type of noise commonly used as a procedural texture primitive in computer graphics. It is conceptually different from, and often confused with gradient noise, examples of which are Perlin noise and Simplex noise. This method consists of the creation of a lattice of points which are assigned random values. The noise function then returns the interpolated number based on the values of the surrounding lattice points.

Gradient noise is a type of noise commonly used as a procedural texture primitive in computer graphics. It is conceptually different, and often confused with value noise. This method consists of a creation of a lattice of random gradients, dot products of which are then interpolated to obtain values in between the lattices. An artifact of some implementations of this noise is that the returned value at the lattice points is 0. Unlike the value noise, gradient noise has more energy in the high frequencies.

OPTICS algorithm Algorithm for finding density based clusters in spatial data

Ordering points to identify the clustering structure (OPTICS) is an algorithm for finding density-based clusters in spatial data. It was presented by Mihael Ankerst, Markus M. Breunig, Hans-Peter Kriegel and Jörg Sander. Its basic idea is similar to DBSCAN, but it addresses one of DBSCAN's major weaknesses: the problem of detecting meaningful clusters in data of varying density. To do so, the points of the database are (linearly) ordered such that spatially closest points become neighbors in the ordering. Additionally, a special distance is stored for each point that represents the density that must be accepted for a cluster so that both points belong to the same cluster. This is represented as a dendrogram.

Procedural texture

In computer graphics, a procedural texture is a texture created using a mathematical description rather than directly stored data. The advantage of this approach is low storage cost, unlimited texture resolution and easy texture mapping. These kinds of textures are often used to model surface or volumetric representations of natural elements such as wood, marble, granite, metal, stone, and others.

Line integral convolution Method for visualizing vector fields

In scientific visualization, line integral convolution (LIC) is a technique proposed by Brian Cabral and Leith Leedom to visualize a vector field, such as fluid motion. Compared to other integration-based techniques that compute field lines of the input vector field, LIC has the advantage that all structural features of the vector field are displayed, without the need to adapt the start and end points of field lines to the specific vector field. LIC is a method from the texture advection family.

This is a glossary of terms relating to computer graphics.

Noise refers to many types of random or unwanted signals, most commonly acoustic noise, but also including the following:


  1. Patrick Cozzi; Christophe Riccio (2012). OpenGL Insights. CRC Press. pp. 113–115. ISBN   978-1-4398-9376-0.

Further reading