Procedural texture

Procedural texture

A procedural texture is a computer generated image created using an algorithm intended to create a realistic representation of natural elements such as wood, marble, granite, metal, stone, and others.

Usually, the natural look of the rendered result is achieved by the usage of fractal noise and turbulence functions. These functions are used as a numerical representation of the “randomness” found in everything that surrounds us.

In general, these noise and fractal functions are simply used to "“disturb”" the texture in a natural way such as the undulations of the veins of the wood. In other cases, like marbles' textures, they are based on the graphical representation of fractal noise.

Example of a procedural marble texture:

(Taken from The Renderman Companion Book, by Steve Upstill)

/* Copyrighted Pixar 1988 */ /* From the RenderMan Companion p.355 */ /* Listing 16.19 Blue marble surface shader*/ /* * blue_marble(): a marble stone texture in shades of blue * surface */ blue_marble( float Ks = .4, Kd = .6, Ka = .1, roughness = .1, txtscale = 1; color specularcolor = 1) { point PP; /* scaled point in shader space */ float csp; /* color spline parameter */ point Nf; /* forward-facing normal */ point V; /* for specular() */ float pixelsize, twice, scale, weight, turbulence; /* Obtain a forward-facing normal for lighting calculations. */ Nf = faceforward( normalize(N), I); V = normalize(-I); /* * Compute "turbulence" a la [PERLIN85] . Turbulence is a sum of * "noise" components with a "fractal" 1/f power spectrum. It gives the * visual impression of turbulent fluid flow (for example, as in the * formation of blue_marble from molten color splines!). Use the * surface element area in texture space to control the number of * noise components so that the frequency content is appropriate * to the scale. This prevents aliasing of the texture. */ PP = transform("shader", P) * txtscale; pixelsize = sqrt(area(PP)); twice = 2 * pixelsize; turbulence = 0; for (scale = 1; scale > twice; scale /= 2) turbulence += scale * noise(PP/scale); /* Gradual fade out of highest-frequency component near limit */ if (scale > pixelsize) { weight = (scale / pixelsize) - 1; weight = clamp(weight, 0, 1); turbulence += weight * scale * noise(PP/scale); } /* * Magnify the upper part of the turbulence range 0.75:1 * to fill the range 0:1 and use it as the parameter of * a color spline through various shades of blue. */ csp = clamp(4 * turbulence - 3, 0, 1); Ci = color spline(csp, color (0.25, 0.25, 0.35), /* pale blue */ color (0.25, 0.25, 0.35), /* pale blue */ color (0.20, 0.20, 0.30), /* medium blue */ color (0.20, 0.20, 0.30), /* medium blue */ color (0.20, 0.20, 0.30), /* medium blue */ color (0.25, 0.25, 0.35), /* pale blue */ color (0.25, 0.25, 0.35), /* pale blue */ color (0.15, 0.15, 0.26), /* medium dark blue */ color (0.15, 0.15, 0.26), /* medium dark blue */ color (0.10, 0.10, 0.20), /* dark blue */ color (0.10, 0.10, 0.20), /* dark blue */ color (0.25, 0.25, 0.35), /* pale blue */ color (0.10, 0.10, 0.20) /* dark blue */ ); /* Multiply this color by the diffusely reflected light. */ Ci *= Ka*ambient() + Kd*diffuse(Nf); /* Adjust for opacity. */ Oi = Os; Ci = Ci * Oi; /* Add in specular highlights. */ Ci += specularcolor * Ks * specular(Nf,V,roughness); }

"This article was taken from [http://www.photoshoproadmap.com The Photoshop Roadmap] with written authorization"

ee also

*Texture synthesis
*Procedural generation
*Perlin noise
* [http://illusions.hu/index.php?task=100&lang=0&statpage=114 Procedural wallpapers]


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Procedural generation — is a widely used term in the production of media, indicating the possibility to create content on the fly rather than prior to distribution. This is often related to computer graphics applications and video game level design.OverviewThe term… …   Wikipedia

  • Procedural animation — A procedural animation is a type of computer animation, used to automatically generate animation in real time to allow for a more diverse series of actions than could otherwise be created using predefined animations.Procedural animation is used… …   Wikipedia

  • Texture mapping — Texture maps redirects here. For the 2003 ambient album, see Texture Maps: The Lost Pieces Vol. 3. 1 = 3D model without textures 2 = 3D model with textures Texture mapping is a method for adding detail, surface texture (a bitmap or raster image) …   Wikipedia

  • Art of Illusion — Infobox Software name = Art Of Illusion caption = Screenshot of ArtOfIllusion v2.3.1 showing scene view and render developer = Peter Eastman latest release version = 2.6.1 latest release date = August 3, 2008 latest test release version = latest… …   Wikipedia

  • Displacement mapping — is an alternative computer graphics technique in contrast to bump mapping, normal mapping, and parallax mapping, using a (procedural ) texture or height map to cause an effect where the actual geometric position of points over the textured… …   Wikipedia

  • Perlin noise — is a procedural texture primitive, used by visual effects artists to increase the appearance of realism in computer graphics. This is a type of Gradient noise. The function has a pseudo random appearance, yet all of its visual details are the… …   Wikipedia

  • Value noise — is a type of noise commonly used as a procedural texture primitive in computer graphics. It is conceptually different, and often confused with gradient noise examples of which are the Perlin noise and Simplex noise. This method consists of a… …   Wikipedia

  • 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, which are then… …   Wikipedia

  • Процедурная анимация — Пример процедурной анимации, созданный в программе «TRUE» (Temporal Reasoning Universal Elaboration). На этом примере первое (самое левое, зелёное) колесо приводит в движение второе колесо, а второе  третье (самое правое, серое). Радиус и… …   Википедия

  • Outline of video games — See also: Category:Video games The following outline is provided as an overview of and topical guide to video games: Video game – electronic game that involves interaction with a user interface to generate visual feedback on a video device. The… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”