Unformatted text preview:

Procedural Textures Jian Huang CS594 Fall 2002 This set of slides references slides used at Ohio State and Texturing and modeling by Ebert et al Procedural Textures Introduced by Perlin and Peachey Siggraph 1989 look for book by Ebert et al Texturing and Modeling A Procedural Approach it s a 3D texturing approach can be used in 2D of course What is procedural texture Procedural techniques are usually considered to be code segments or algorithms that specify some characteristic of a computer generated model or effect Example procedural texture for a marble surface does not use a scanned in image to define the color values Why Use That The most important and foremost reason abstraction Abstract complex scene into a function or an algorithm I e procedure Pros Storage savings for details compact No fixed resolution a great range of detail no matter how close you look Can cover arbitrarily large space Reduce the time of specifying the details from the programmer to computer Power to control parameters that meter meaningful concepts e g the roughness of a mountain Flexibility spend time on the essence of the object or phenomenon Cons Very difficult to build and debug an implicit pattern description Surprise Slow to compute Aliasing A stochastic process Procedural Textures Gets around a bunch of problems of 2D textures deformations compressions worrying about topology analogous to sculpting or carving Procedural Textures Object Density Function D x defines an object e g implicit description or inside outside etc Density Modulation Function DMF fi position dependent position independent geometry dependent Hyper texture H D x x fn f2 f1 D x Procedural Textures Base DMF s bias used to bend the Density function either upwards or downwards over the 0 1 interval The rules the bias function has to follow are bias b 0 0 b 0 25 bias b 5 b bias b 1 1 The following function exhibits those properties bias b t t ln b ln 0 5 b 0 75 Procedural Textures Gain The gain function is used to help shape how fast the midrange of an objects soft region goes from 0 to 1 A higher gain value means the a higher rate in change The rules of the gain function are as follows gain g 0 0 gain g 1 4 1 g 2 gain g 1 2 1 2 gain g 3 4 1 g 2 gain g 1 1 Procedural Textures Gain The gain function is defined as a spline of two bias curves gain g t if t 0 5 then bias 1 g 2 t else 1bias 1 g 2 2 2t 2 G 0 25 G 0 75 Source of Randomness Noise some strange realization that gives smoothed values between 1 and 1 creates a random gradient field G i j k using a 3 step monte carlo process separate for each coordinate Noise Set all integer lattice values to zero Randomly assign gradient tangent vectors Simple Noise Hermite spline interpolation Oscillates about once per coordinate Noisy but still smooth few high frequencies Procedural Textures Noise for an entry x y z he does a cubic interpolation step between the dot product of G and the offset of the 8 neighbors of G of x y z x 1 y 1 z 1 x i y i j k i x j y k z j z k i j k u v w u v w Gi j k u v w t 2 t 3 t 1 3 2 Procedural Textures turbulence creates higher order noise noise of higher frequency similar to the fractal brownian motion 1 i abs noise 2 x i i 2 Turbulence Increase frequency decrease amplitude Turbulence The abs adds discontinuities in the first derivative Limit the sum to the Nyquist limit of the current pixel sampling Density Function Models Radial Function 2D Slice Density Function Models Modulated with Noise function Density Function Models Thresholded iso contour or step function Density Function Models Volume Rendering of Hypertextured Sphere Procedural Textures Effects on colormap noise Procedural Textures Effects on colormap sum 1 f noise Procedural Textures Effects on colormap sum 1 f noise Procedural Textures Effects on colormap sin x sum 1 f noise Procedural Textures Effects noisy sphere 1 sphere x 1 noise fx f modify amplitude frequency Perlins fractal egg Procedural Textures Summary Procedural Textures Effects marble marble x m color sin x turbulence x fire sphere x 1 turbulence x Procedural Textures Effects clouds noise translates in x y Procedural Textures Many other effects Wood fur facial animation etc How do you render that Rendering solid textures keeps original surface map x y z to u v w hypertexture changes surface as well density function volume rendering approach I e discrete ray caster Simple mesh for tile So so marble Procedural Textures Threshold to provide a sharp transition Good Marble More bricks and other bumps Wood Better marble as well Knarly Marble Dude Decent Fire Other procedures


View Full Document

UTK CS 594 - Procedural Textures

Documents in this Course
Load more
Loading Unlocking...
Login

Join to view Procedural Textures and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Procedural Textures and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?