Gradient noise

Last updated

Gradient noise is a type of noise commonly used as a procedural texture primitive in computer graphics. It is conceptually different from[ further explanation needed ], and often confused with, value noise. This method consists of a creation of a lattice of random (or typically pseudorandom) 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.

The first known implementation of a gradient noise function was Perlin noise, credited to Ken Perlin, who published the description of it in 1985. [1] Later developments were Simplex noise and OpenSimplex noise.

Related Research Articles

The RenderMan Interface Specification, or RISpec in short, is an open API developed by Pixar Animation Studios to describe three-dimensional scenes and turn them into digital photorealistic images. It includes the RenderMan Shading Language.

<span class="mw-page-title-main">Fractal landscape</span> Stochastically generated naturalistic terrain

A fractal landscape or fractal surface is generated using a stochastic algorithm designed to produce fractal behavior that mimics the appearance of natural terrain. In other words, the surface resulting from the procedure is not a deterministic, but rather a random surface that exhibits fractal behavior.

<span class="mw-page-title-main">Perlin noise</span> Type of gradient noise in computer graphics

Perlin noise is a type of gradient noise developed by Ken Perlin in 1983. It has many uses, including but not limited to: procedurally generating terrain, applying pseudo-random changes to a variable, and assisting in the creation of image textures. It is most commonly implemented in two, three, or four dimensions, but can be defined for any number of dimensions.

<span class="mw-page-title-main">Canny edge detector</span> Image edge detection algorithm

The Canny edge detector is an edge detection operator that uses a multi-stage algorithm to detect a wide range of edges in images. It was developed by John F. Canny in 1986. Canny also produced a computational theory of edge detection explaining why the technique works.

Dither is an intentionally applied form of noise used to randomize quantization error, preventing large-scale patterns such as color banding in images. Dither is routinely used in processing of both digital audio and video data, and is often one of the last stages of mastering audio to a CD.

<span class="mw-page-title-main">Ken Perlin</span> American computer scientist

Kenneth H. Perlin is a professor in the Department of Computer Science at New York University, founding director of the Media Research Lab at NYU, director of the Future Reality Lab at NYU, and the Director of the Games for Learning Institute. He holds a BA. degree in Theoretical Mathematics from Harvard University (7/1979), a MS degree in Computer Science from the Courant Institute of Mathematical Sciences, New York University (6/1984), and a PhD degree in Computer Science from the same institution (2/1986). His research interests include graphics, animation, multimedia, and science education. He developed or was involved with the development of techniques such as Perlin noise, real-time interactive character animation, and computer-user interfaces. He is best known for the development of Perlin noise and Simplex noise, both of which are algorithms for realistic-looking Gradient noise.

<span class="mw-page-title-main">Procedural generation</span> 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 content 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.

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.

<span class="mw-page-title-main">Plasma effect</span>

The plasma effect is a computer-based visual effect animated in real-time. It uses cycles of changing colours warped in various ways to give an illusion of liquid, organic movement.

<span class="mw-page-title-main">Simplex noise</span> Construction for n-dimensional noise functions

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

<span class="mw-page-title-main">Filter Forge</span> Computer graphics program

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, Affinity Photo, Corel PaintShop Pro. It has been under continuous development by Filter Forge OÜ since its official release in March 2007.

Simulation noise is a function that creates a divergence-free vector 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.

<span class="mw-page-title-main">Scenery generator</span> 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.

<span class="mw-page-title-main">Value noise</span> 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.

<span class="mw-page-title-main">Worley noise</span> Type of noise in computer graphics

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.

<span class="mw-page-title-main">Procedural texture</span> Computer graphics textures that are generated procedurally

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.

<span class="mw-page-title-main">OpenSimplex noise</span> N-dimensional gradient noise function

OpenSimplex noise is an n-dimensional gradient noise function that was developed in order to overcome the patent-related issues surrounding simplex noise, while likewise avoiding the visually-significant directional artifacts characteristic of Perlin noise.

This is a glossary of terms relating to computer graphics.

Noise refers to many types of random, troublesome, problematic, or unwanted signals.

References

  1. David Ebert, Kent Musgrave, Darwyn Peachey, Ken Perlin, and Worley. Texturing and Modeling: A Procedural Approach. Academic Press, October 1994. ISBN   0-12-228760-6