David RunyonLauren Stana
Kelsey VaughnMolly
Shelestak
OVERVIEW• Procedural Texturing
• Perlin Noise
– Kenneth Perlin
– How to Obtain
– Hardware
• Other Procedural Textures
• Future
• Discussion Questions
WHAT IS A PROCEDURAL TEXTURE?
•Procedural Texturing
•What is…
•Advantages
•Disadvantages
•Implicit vs Explicit
•Perlin Noise
•Other Procedural Textures
•Future
•Discussion Questions
• Function of a set of input parameters
• Synthetic
ADVANTAGES OVER NON PROCEDURAL• Compact
• No fixed resolution
• Unlimited coverage
• Parameterize
•Procedural Texturing
•What is…
•Advantages
•Disadvantages
•Implicit vs Explicit
•Perlin Noise
•Other Procedural Textures
•Future
•Discussion Questions
DISADVANTAGES OF NON PROCEDURAL• Difficult to build and debug
• Surprising results
• Processing time
• Aliasing
• Not good for:– Labels– Pictures– Detail
•Procedural Texturing
•What is…
•Advantages
•Disadvantages
•Implicit vs Explicit
•Perlin Noise
•Other Procedural Textures
•Future
•Discussion Questions
IMPLICIT VS. EXPLICIT• Explicit Procedure
– directly generates the point– creates texture in a fixed order
• Implicit Procedure– answers a query about a point– creates texture in random order– used for creating natural
simulations (fire, clouds, fog, etc.)
•Procedural Texturing
•What is…
•Advantages
•Disadvantages
•Implicit vs Explicit
•Perlin Noise
•Other Procedural Textures
•Future
•Discussion Questions
KENNETH PERLIN• Technical Achievement Award
• TRON
• Hardware Limitations
• Controlled Random Primitive
•Procedural Texturing
•Perlin Noise
•Kenneth Perlin
•How to Obtain
•Hardware
•Other Procedural Textures
•Future
•Discussion Questions
NOISE• White Noise
• Pseudo-Random
•Procedural Texturing
•Perlin Noise
•Kenneth Perlin
•How to Obtain•Noise
•Ideal Noise
•Lattice
•Octaves
•Smoothing
•Combining
•Hardware
•Other Procedural Textures
•Future
IDEAL NOISE FUNCTION• Repeatable function
• Known range
• Doesn’t exhibit patterns
• Stationary
•Procedural Texturing
•Perlin Noise
•Kenneth Perlin
•How to Obtain•Noise
•Ideal Noise
•Lattice
•Octaves
•Smoothing
•Combining
•Hardware
•Other Procedural Textures
•Future
• Stationary example
LATTICE• Most popular
•Procedural Texturing
•Perlin Noise
•Kenneth Perlin
•How to Obtain•Noise
•Ideal Noise
•Lattice
•Octaves
•Smoothing
•Combining
•Hardware
•Other Procedural Textures
•Future
OCTAVES• Lucunarity
• Gain
•Procedural Texturing
•Perlin Noise
•Kenneth Perlin
•How to Obtain•Noise
•Ideal Noise
•Lattice
•Octaves
•Smoothing
•Combining
•Hardware
•Other Procedural Textures
•Future
SMOOTHING•Procedural Texturing
•Perlin Noise
•Kenneth Perlin
•How to Obtain•Noise
•Ideal Noise
•Lattice
•Octaves
•Smoothing
•Combining
•Hardware
•Other Procedural Textures
•Future
COMBINING• Fractional Brownian Motion
– Noise(p) + ½ * Noise(2*p) + ¼ * Noise(4 * p) + …
•Procedural Texturing
•Perlin Noise
•Kenneth Perlin
•How to Obtain•Noise
•Ideal Noise
•Lattice
•Octaves
•Smoothing
•Combining
•Hardware
•Other Procedural Textures
•Future
HARDWARE• Graphic Processing Unit
• How it works1. Graphics processor renders colors
2. Colors store the state of the simulation
3. Colors read back in
•Procedural Texturing
•Perlin Noise
•Kenneth Perlin
•How to Obtain
•Hardware
•Other Procedural Textures
•Future
•Discussion Questions
Blue = 1D positionGreen = VelocityRed = ForceRGB1 = 3d positionRGB2 = 3d velocity
HARDWARE• Keep it all on the GPU!
• Geometry drives processing
• Pixel shaders
•Procedural Texturing
•Perlin Noise
•Kenneth Perlin
•How to Obtain
•Hardware
•Other Procedural Textures
•Future
•Discussion Questions
WHY???
WATER SIMULATION• Video/PC Games
• Coupling two simulations
•Procedural Texturing
•Perlin Noise
•Usage of Procedural Textures
•Water Simulation
•Terrains
•HyperTexturing
•Animation
•Future
•Discussion Questions
TERRAINS• Height Map
•Procedural Texturing
•Perlin Noise
•Usage of Procedural Textures
•Water Simulation
•Terrains
•HyperTexturing
•Animation
•Future
•Discussion Questions
HYPERTEXTURING• Density cloud
•Procedural Texturing
•Perlin Noise
•Usage of Procedural Textures
•Water Simulation
•Terrains
•HyperTexturing
•Animation
•Future
•Discussion Questions
ANIMATION• Facial Subtleties
•Procedural Texturing
•Perlin Noise
•Usage of Procedural Textures
•Water Simulation
•Terrains
•HyperTexturing
•AnimationAnimation
•Future
•Discussion Questions
FUTURE• Faster
• More Complex Simulations
• Animation
• Applications
•Procedural Texturing
•Perlin Noise
•Other Procedural Textures
•Future
•Discussion Questions
DISCUSSION QUESTIONS1) Should you be able to copyright procedural
equations?
2) Will graphical languages like OpenGL or DirectX implement common procedural textures such as clouds, fire, etc in their API?
3) In the future, will there be a program enabling users to scan a picture of a texture and have the computer create a matching procedural texture?
4) What are some ways the procedural texturing can be made easier in 3d graphics programs like Maya?
5) Will a video game ever strictly use procedural textures?
•Procedural Texturing
•Perlin Noise
•Other Procedural Textures
•Future
•Discussion Questions
David RunyonLauren Stana
Kelsey VaughnMolly
Shelestak