CIS 781 Fractal Terrains.

Slides:



Advertisements
Similar presentations
CSCE 643 Computer Vision: Template Matching, Image Pyramids and Denoising Jinxiang Chai.
Advertisements

Texture Synthesis on [Arbitrary Manifold] Surfaces Presented by: Sam Z. Glassenberg* * Several slides borrowed from Wei/Levoy presentation.
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.
Spatial Information Systems (SIS)
Lapped Textures Emil Praun and Adam Finkelstien (Princeton University) Huges Hoppe (Microsoft Research) SIGGRAPH 2000 Presented by Anteneh.
Deformable Terrain Generation for Real-Time Simulation With Atmospheric and Geomorphological Processes By Peter Sbarski ( ) Supervisors: Jon McCormack.
Mesh Simplification Global and Local Methods:
Chapter 9: Recursive Methods and Fractals E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley Mohan Sridharan Based on Slides.
Fractal Mountains, Splines, and Subdivision Surfaces Jordan Smith UC Berkeley CS184.
1 Image filtering Hybrid Images, Oliva et al.,
Fractals Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts Director, Arts Technology Center University of New.
Course Website: Computer Graphics 11: 3D Object Representations – Octrees & Fractals.
Texture Synthesis on Surfaces Paper by Greg Turk Presentation by Jon Super.
Computer Modelling Of Fallen Snow Paul Fearing University of British Columbia Vancouver, Canada.
1 Image filtering Images by Pawan SinhaPawan Sinha.
1 Image filtering
1 Terrain Rendering and Level of Detail Week 7 Advanced Programming for 3D Applications CE
CS4395: Computer Graphics 1 Fractals Mohan Sridharan Based on slides created by Edward Angel.
Rendering of Realistic Landscapes K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology October 31, 2007.
Fractals and Terrain Synthesis
CSCE 441: Computer Graphics Image Filtering Jinxiang Chai.
11/30/04© University of Wisconsin, CS559 Fall 2004 Last Time More modeling: –Hierarchical modeling –Instancing and Parametric Instancing –Constructive.
10/21/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Terrain Dynamic LOD.
Procedural and Fractal Terrains
1 Texture. 2 Overview Introduction Painted textures Bump mapping Environment mapping Three-dimensional textures Functional textures Antialiasing textures.
Interactive Terrain Synthesis
National Center for Supercomputing Applications University of Illinois at Urbana-Champaign Image Features Kenton McHenry, Ph.D. Research Scientist.
CGMB 314 Intro to Computer Graphics Fill Area Primitives.
Modelling and Simulation Types of Texture Mapping.
4/15/04© University of Wisconsin, CS559 Spring 2004 Last Time More modeling: –Hierarchical modeling –Instancing and Parametric Instancing –Constructive.
Model Construction 김 성 남. Contents What is Modeling? Model Construction - Interactive modeling tools - Scanning tools - Computer vision -
Smoothed Particle Hydrodynamics (SPH) Fluid dynamics The fluid is represented by a particle system Some particle properties are determined by taking an.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 1 Shading (Shading) & Smooth Shading Graphics.
Texture Mapping Applications 2. Parallax Mapping with Slope  parallax mapping assumes that the surface is a single plane  a better approximation  surface.
Digital Image Processing
Fractals smooth surfaces and regular shapes - Euclidean-geometry methods -object shapes were described with equations natural objects - have irregular.
Subdivision Schemes Basic idea: Start with something coarse, and refine it into smaller pieces for rendering –We have seen how subdivision may be used.
1 Polygonal Techniques 이영건. 2 Introduction This chapter –Discuss a variety of problems that are encountered within polygonal data sets The.
Representation and modelling 3 – landscape specialisations 4.1 Introduction 4.2 Simple height field landscapes 4.3 Procedural modeling of landscapes- fractals.
CS324e - Elements of Graphics and Visualization Fractals and 3D Landscapes.
Game Programming, Math and the Real World Rolf Lakaemper, CIS, Temple University.
In the name of God Computer Graphics. Shortcomings So Far The representations we have looked at so far have various failings: –Meshes are large, difficult.
Fractals Ed Angel Professor Emeritus of Computer Science
Making waves Alain Fournier, UBC. Making Waves: What is the goal §Computable model §Geometry in familiar form §Realistic shape §Realistic motion §Depth.
第三课. Overview of this Section Concept of Texture Mapping ( 纹理映射 ) 2D Texture 3D Texture Environment Mapping Bump Mapping Others OpenGL Implementation.
Instructor: Mircea Nicolescu Lecture 5 CS 485 / 685 Computer Vision.
CS559: Computer Graphics Lecture 36: Subdivision Surfaces, Fractals, and Animation Li Zhang Spring 2008 Many slides from James Kuffner’s graphics class.
3D Object Representations. Introduction Line and circle and polygon algorithms- represented simple and smooth object. Some Natural object are neither.

Course : T Computer Vision
Miguel Tavares Coimbra
Landforms and Oceans 5.E.3A.1 Construct explanations of how different landforms and surface features result from the location and movement of water on.
- photometric aspects of image formation gray level images
Game Design, Development, and Technology
Chapter 10 Image Segmentation
Image Morphing © Zooface Many slides from Alexei Efros, Berkeley.
Introduction to Functions of Several Variables
Linear Filters and Edges Chapters 7 and 8
Constructing Objects in Computer Graphics By Andries van Dam©
3D Object Representations
Mean Shift Segmentation
© University of Wisconsin, CS559 Fall 2004
Image filtering Hybrid Images, Oliva et al.,
Procedural Content Lab1
Midpoint Displacement for Terrain
Image filtering Images by Pawan Sinha.
APPLICATIONS of FRACTALS
(c) University of Wisconsin
Erosion and Weathering
Last Time B-splines Project 3 was made available
Presentation transcript:

CIS 781 Fractal Terrains

x and y are sampled on a 2D integer grid Terrain Map Height Map z = f(x, y) x and y are sampled on a 2D integer grid Real data : Satellite, Elevation maps Synthetic : Texture map, Noise functions

Terrain Map Connect samples into a mesh

Terrain Map Natural looking Use textures to model detail? Model high detail Size Storage (Millions of polygons) Rendering speed Zoom-in, zoom-out (does not scale well) Use textures to model detail? Not real geometry (bump mapping at silhouettes) Not scale independent Repeated textures do not work well

Fake Terrain Generate the heightfield Random process Reflects “realistic” terrain in some way

Random Terrain Simple: Next step: Terrain(x,y) = rand( MAX_HEIGHT ) 1 Results in random noise Next step: Smooth the terrain generated above FIR filter: 1 R

Filtering FIR (Finite Impulse Response) filter: Pass a “window” over the data Multiply data in window by weights Result = d1*w1 + d2*w2+ … + dN*wN Window + weights is called “filter kernel” Larger window grabs more data

Random Fault Lines Repeatedly: +dHeight Repeatedly: Create a line that crosses terrain Add dHeight offset on one side of line dHeighti = dHeight0 + (i/n)(dHeightn -dHeight0) Select random endpoints to generate line Compute “side of line” by plugging X,Y into line equation

More Realistic Faults Apply FIR filter to faulted heightmap Smooth out abrupt fault transitions: “Erosion”

Particle Deposition Drop particles in areas where you want volcanic mountains Particles flow downhill until they have cause to rest Move the drop point to create interesting peak

Particle Deposition Flow computation At given point, find lowest neighbor If local geometry is not flat enough, move new particle on top of lowest neighbor Roll down hill “Flat enough” = 27 degrees or so Check 3x3 pixel window or 5x5 to check neighbors.

Particle Deposition

Perlin Noise Using a sampling of 2D perlin Noise provides smooth hills.

Terrain Coloring Using a 1D texture map based on the altitude can provide many useful mapping.

Terrain Coloring Striped 1D texture map.

Terrain Coloring Using a 2D texture map provides richer detail, but is independent of the terrain.

Terrain Coloring More advanced coloring is based on altitude and slope.

Rolling Hills Scaling in one dimension gives smooth rolling hills.

Procedural Modeling With Fractals Compute geometry “on-the-fly” Fractals Model Natural Phenomena - Self Similarity Mountains, fire, clouds, etc. Scales to infinity Add or “make up” natural looking details with mathematical tools

“Repetition of form over a variety of scales” Fractals “Repetition of form over a variety of scales” Mandelbrot set, Julia set

Two Fractal Properties Self-similarity

Two Fractal Properties Fractal Dimension Euclidean dimensions : 1, 2, 3, 4, … Fractal : 1.2342, 2.7656 Measure of detail or roughness of a fractal D = (ln N)/(ln 1/s)

Midpoint Subdivision Midpoint (recursive) subdivision

Midpoint Subdivision Brownian Motion Fractional Brownian Motion Describes random movement of particles in a gas or fluid Fractional Brownian Motion Brownian Motion + Fractal Dimension A useful model for natural phenomena

Fractional Brownian Motion Equations are compute intensive Approximate with “A family of 1D Gaussians ” Zero mean Standard Deviation : S = k2-iH H = fractal dimension (roughness)

Fractional Brownian Motion Fractal dimension = roughness, I.e. H

Terrain Modeling Criteria Input Initial coarse mesh + stochastic parameters Two criteria Internal Consistency Reproducibility : Model is independent of position and orientation Associate “random numbers” to point index External Consistency Continuity between adjacent primitives

Fractal Mountains Fournier & Fussell (1980) Recursively subdivide geometry by random number d: –dHeight/2 < d < dHeight/2 At each recursion: dHeight *= 2-r r=1 : self-similar r>1 : large features early r<1 : large features late A B A B A B

Triangle Subdivision Subdivide a triangle into 4 triangles at edge midpoint

Quadrilateral Subdivision Subdivide a quad into 4 quads at edge midpoints and a new center point.

Diamond-Square Subdivision Alternate subdivision

Fractal Terrain

Mesh Subdivision Square-square Subdivision Addresses “creasing problem” (slope discontinuities) Subdivide parametric patches

Mesh Subdivision Displacement is scaled by the recursion level. | b – a | -rn When do you stop the recursion? Pixel resolution Displace upward, or towards the normal to the surface?

Mesh Subdivision External Consistency Avoid tears between neighboring polygons How do we compute the normals? Average polygon normals at each vertex. Propagate normals down the recursion Cheaper : use the original mesh normals only

Ridged Fractal Terrains To create sharp peaks, add an absolute value and flip the surface upside down. Or, reflect about a maximum value. Provides a volcano-like effect.

Caldera

Multi-Fractal This produces a ridged multi-fractal

Add a 1D Texture

More Controls To create plateaus, add a min function to flatten out high areas.

More Controls To create a plain, add a max function to flatten out low areas.

More Controls Multiply by a Guassian to limit the mountain range.

More Controls To create valleys, create a lower amplitude and rather smooth terrain to use as the max operator.

max (Fractal, Smooth Noise)

max (Fractal, Smooth Noise)

Ridges Quantize a terrain to create ridges Use directly or as the min function. Can also be done as a transfer function that maps f(x)->g(x). New height height

Ridges

Other techniques Cracked terrains for dry lakes and riverbeds. Throw random points onto the plane. Construct the Voronoi diagram and use the graph to etch into the terrain.

Cracked Terrains Crawfis, 2002

Fractal Terrains Multifractals

Fractal Terrains Color, texture

Fractal Terrains

Erosion - Higher-level control Musgrave, et al. “The Synthesis and Rendering of Eroded Fractal Terrains”, Siggraph 1989. Hydraulic Erosion Water (rain) depositing to settle in height field Thermal Weathering “Any material that knocks material loose, which then falls down to pile up at the bottom of an incline.”

Erosion

Erosion by water

Erosion by wind and water