DOC PREVIEW
UTK CS 594 - Procedural Textures

This preview shows page 1-2-3-19-20-38-39-40 out of 40 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 40 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 40 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 40 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 40 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 40 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 40 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 40 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 40 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 40 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Procedural TexturesSlide 2What is procedural textureWhy Use That?Pros?Cons?Slide 7Slide 8Slide 9Slide 10Slide 11Source of RandomnessNoiseSimple NoiseSlide 15Slide 16TurbulenceSlide 18Density Function ModelsSlide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27Slide 28Slide 29Slide 30Slide 31How do you render that?Simple mesh for tile.Slide 34Good MarbleMore bricks and other bumps.WoodKnarly Marble Dude!!Decent FireOther proceduresProcedural TexturesJian Huang, CS594, Fall 2002This set of slides references slides used at Ohio State and “Texturing and modeling” by Ebert, et. alProcedural 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 valuesWhy 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 phenomenonCons?•Very difficult to build and debug an implicit pattern description•Surprise•Slow to compute•AliasingA stochastic processProcedural Textures•Gets around a bunch of problems of 2D textures–deformations/compressions–worrying about topology•analogous to sculpting or carvingProcedural 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 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.25b = 0.75Procedural 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)=1Procedural 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 1-bias(1-g,2-2*2t)/2G = 0.25 G = 0.75Source 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) vectorsSimple 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):                132),,(,,,,23,,,,1 1 1,,  tttwvuGwvuwvukzjyixkjikjixxiyyjzzkkjiProcedural Textures–turbulence•creates “higher order” noise - noise of higher frequency, similar to the fractal brownian motion:))2(21( xnois eabsiiiTurbulence•Increase frequency, decrease amplitudeTurbulence•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 SphereProcedural 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•modify amplitude/frequency•(Perlins fractal egg)))(11(( fxnoisefxsphere Procedural Textures•Summary:Procedural Textures•Effects:–marble•marble(x) = m_color(sin(x+turbulence(x)))–fire)))(1(( xturbul encexsp here Procedural Textures•Effects:–clouds•noise translates in x,yProcedural 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 casterSimple mesh for tile.So-so marbleProcedural TexturesThreshold to provide asharp transition.Good MarbleMore bricks and other bumps.WoodBetter marbleas well.Knarly Marble Dude!!Decent FireOther


View Full Document

UTK CS 594 - Procedural Textures

Documents in this Course
Load more
Download Procedural Textures
Our administrator received your request to download this document. We will send you the file to your email shortly.
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 2 2 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?