In
computer graphics
Computer graphics deals with generating images and art with the aid of computers. Computer graphics is a core technology in digital photography, film, video games, digital art, cell phone and computer displays, and many specialized applications. ...
, a procedural texture is a
texture
Texture may refer to:
Science and technology
* Image texture, the spatial arrangement of color or intensities in an image
* Surface texture, the smoothness, roughness, or bumpiness of the surface of an object
* Texture (roads), road surface c ...
created using a mathematical description (i.e. an
algorithm
In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algo ...
) rather than directly stored data. The advantage of this approach is low storage cost, unlimited texture resolution and easy
texture mapping
Texture mapping is a term used in computer graphics to describe how 2D images are projected onto 3D models. The most common variant is the UV unwrap, which can be described as an inverse paper cutout, where the surfaces of a 3D model are cut ap ...
. These kinds of textures are often used to model surface or volumetric representations of natural elements such as
wood
Wood is a structural tissue/material found as xylem in the stems and roots of trees and other woody plants. It is an organic materiala natural composite of cellulosic fibers that are strong in tension and embedded in a matrix of lignin t ...
,
marble
Marble is a metamorphic rock consisting of carbonate minerals (most commonly calcite (CaCO3) or Dolomite (mineral), dolomite (CaMg(CO3)2) that have recrystallized under the influence of heat and pressure. It has a crystalline texture, and is ty ...
,
granite
Granite ( ) is a coarse-grained (phanerite, phaneritic) intrusive rock, intrusive igneous rock composed mostly of quartz, alkali feldspar, and plagioclase. It forms from magma with a high content of silica and alkali metal oxides that slowly coo ...
,
metal
A metal () is a material that, when polished or fractured, shows a lustrous appearance, and conducts electrical resistivity and conductivity, electricity and thermal conductivity, heat relatively well. These properties are all associated wit ...
,
stone
In geology, rock (or stone) is any naturally occurring solid mass or aggregate of minerals or mineraloid matter. It is categorized by the minerals included, its Chemical compound, chemical composition, and the way in which it is formed. Rocks ...
, and others.
Usually, the natural look of the rendered result is achieved by the usage of
fractal noise and
turbulence
In fluid dynamics, turbulence or turbulent flow is fluid motion characterized by chaotic changes in pressure and flow velocity. It is in contrast to laminar flow, which occurs when a fluid flows in parallel layers with no disruption between ...
functions. These functions are used as a
numerical representation of the "
randomness
In common usage, randomness is the apparent or actual lack of definite pattern or predictability in information. A random sequence of events, symbols or steps often has no order and does not follow an intelligible pattern or combination. ...
" found in nature.
Solid texturing
Solid texturing is a process where the texture generating function is evaluated over
at each visible surface point of the model so the resulting material properties (like color, shininess or normal) depends only on their 3D position, not their parametrized 2D surface position like in traditional 2D texture mapping. Consequently, solid textures are unaffected by distortions of the surface parameter space, such as you might see near the poles of a sphere. Also, continuity between the surface parameterization of adjacent patches isn't a concern either. Solid textures will remain consistent and have features of constant size regardless of distortions in the surface coordinate systems.
Initially these functions were based on simple combination of procedural noise functions like
Simplex noise
Simplex noise is the result of an ''n''-dimensional noise function comparable to Perlin noise ("classic" noise) but with fewer directional artifacts, in higher dimensions, and a lower computational overhead. Ken Perlin designed the algorithm in ...
or
Perlin noise
Perlin noise is a type of gradient noise developed by Ken Perlin in 1983. It has many uses, including but not limited to: Scenery generator, procedurally generating terrain, applying pseudo-random changes to a variable, and assisting in the creat ...
. Currently a vast arsenal of techniques are available, ranging from structured regular texture (like a brick wall), to structured irregular textures (like a stonewall), to purely stochastic textures.
Cellular texturing

Cellular texturing differs from the majority of other procedural texture generating techniques as it does not depend on noise functions as its basis, although it is often used to complement the technique. Cellular textures are based on feature points which are scattered over a three-dimensional space. These points are then used to split up the space into small, randomly tiled regions called cells. These cells often look like "lizard scales", "pebbles", or "flagstones". Even though these regions are discrete, the cellular basis function itself is continuous and can be evaluated anywhere in space.
Worley noise is a common type of cellular texture.
Genetic textures
Genetic texture generation is an experimental approach to generate textures. It is an automated process guided by a human moderator. The flow of control usually has a computer generate a set of texture candidates. From these, a user picks a selection. The computer then generates another set of textures by mutating and crossing over elements of the user selected textures. For more information on exactly how this mutation and cross over generation method is achieved, see
Genetic algorithm
In computer science and operations research, a genetic algorithm (GA) is a metaheuristic inspired by the process of natural selection that belongs to the larger class of evolutionary algorithms (EA). Genetic algorithms are commonly used to g ...
. The process continues until a suitable texture for the user is generated.
As the outcome is difficult to control, this method is typically used only for experimental or abstract textures.
Self-organizing textures
Starting from a simple
white noise
In signal processing, white noise is a random signal having equal intensity at different frequencies, giving it a constant power spectral density. The term is used with this or similar meanings in many scientific and technical disciplines, i ...
,
self-organization
Self-organization, also called spontaneous order in the social sciences, is a process where some form of overall order and disorder, order arises from local interactions between parts of an initially disordered system. The process can be spont ...
processes can lead to structured patterns while preserving some randomness.
Reaction–diffusion systems are one way of generating such textures. Realistic textures can be generated by simulating complex chemical reactions within fluids. These systems may show behaviors similar to real processes (
Morphogenesis
Morphogenesis (from the Greek ''morphê'' shape and ''genesis'' creation, literally "the generation of form") is the biological process that causes a cell, tissue or organism to develop its shape. It is one of three fundamental aspects of deve ...
) found in nature, such as animal markings (shells, fish, wild cats...).
Programs for creating textures
*
Substance Designer
*
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, Affin ...
*
TexRD
TexRD is a specialized graphics software, designed to simulate reaction–diffusion processes and to produce animated random textures through the underlying mathematical models.
Principles
Complex chemical reactions between several fluids are s ...
(based on reaction-diffusion: self-organizing textures)
*Material Maker (based on
Godot Engine)
Besides specialized programs, others, such as
Blender
A blender (sometimes called a mixer (from Latin ''mixus, the PPP of miscere eng. to Mix)'' or liquidiser in British English) is a kitchen and laboratory appliance used to mix, crush, purée or emulsify food and other substances. A stationary ...
,
CorelDRAW
CorelDRAW is a vector graphics editor developed and marketed by Alludo (formerly Corel Corporation). It is also the name of the Corel graphics suite, which includes the bitmap-image editor Corel Photo-Paint as well as other graphics-related progr ...
, contain procedural texture subsystems that can be used to generate textures.
See also
*
Perlin noise
Perlin noise is a type of gradient noise developed by Ken Perlin in 1983. It has many uses, including but not limited to: Scenery generator, procedurally generating terrain, applying pseudo-random changes to a variable, and assisting in the creat ...
*
Pixel shader
In computer graphics, a shader is a computer program that calculates the appropriate levels of light, darkness, and color during the rendering of a 3D scene—a process known as '' shading''. Shaders have evolved to perform a variety of s ...
*
Procedural generation
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. I ...
*
Self-organization
Self-organization, also called spontaneous order in the social sciences, is a process where some form of overall order and disorder, order arises from local interactions between parts of an initially disordered system. The process can be spont ...
*
Simplex noise
Simplex noise is the result of an ''n''-dimensional noise function comparable to Perlin noise ("classic" noise) but with fewer directional artifacts, in higher dimensions, and a lower computational overhead. Ken Perlin designed the algorithm in ...
*
Texture artist
A texture artist is an individual who develops textures for digital media, usually for video games, movies, web sites and television shows or things like 3D posters. These textures can be in the form of 2D or (rarely) 3D art that may be overlaid ...
*
Texture synthesis
Texture synthesis is the process of algorithmically constructing a large digital image from a small digital sample image by taking advantage of its structural content. It is an object of research in computer graphics and is used in many fields, amo ...
References
{{Reflist
3D computer graphics
Texture mapping
Procedural generation
de:Prozedurale Synthese
nl:Procedurele generatie