computer graphics & visualization interactive terrain synthesis
TRANSCRIPT
computer graphics & visualization
Image Synthesis
Interactive Terrain Synthesis
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Fractal Terrain Synthesis• Goals:– Generation of fractal terrain– Non-repetitive, infinite extent– Interactive frame rates– Real-time editable
• Methods– Rescale & Add on GPU
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Fractal terrain synthesis• Stochastic Fractals– „Statistical“ Self-Similarity (Stochastic Fractals)
• If blown up in scale, any part appears statistically similar to the whole
– Simulation of Fractal Brownian motion (FBm)• Movement of small particles of solid matter in liquid• Probability as a tool for modelling
– Modelling of (dynamic) natural phenomena• Terrains, clouds, water etc.
– Modelling and rendering of solid textures• Marble, wood etc.• Procedural shaders
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Rescale-and-AddNoise synthesis by point evaluation – Summation of scaled and dilated noise functions
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Rescale-and-AddAdd weighted noise octaves to simulate 1/f-noise– 1/f noise: as frequency increases, amplitude decreases
25 24 23 22 21 20
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Rescale-and-AddAnother method to simulate 1/f-noise– Generate noisy copies on-the-fly from a base random
texture
=
20 21
22
23
24
• • •
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Rescale-and-Add
H(x,y): synthesized height fieldF(x,y): basis function n: number of octaves
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Rescale And Add• Basis function(s) F:
– Filtered white noise, Perlin noise, images, …– Affects basic appearance of terrain
• Reformulation yields more intuitive parameters:– r: roughness– l: lacunarity (fractal gap)– o: octaves
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Rescale And Add - ParametersRoughness r
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Rescale And Add - ParametersLacunarity l
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Rescale And Add - ParametersOctaves o
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Multifractals and other tricks…Substitute basis function by convex combination:
with and
More editing possibilities,more realism• Add low frequency base geometry
– Edit basic terrain via base geometry– Edit appearance via basis functions– Close to spatial and frequency domain
editing paradigm
• Use „odd“ lacunarity / roughness like2.173482... breaks up repetitions
),(),(),( yxFyxyxFi ii
yxyxi i ,1),( ii 0
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Rotations & Translations• Warp domain with pseudo-random rotations:– Substitutes height field H(x,y) H( Rot(x,y)+T(x,y) )
• Some basic math involved. Key ideas:– Rotation and Translation depend on octave
Levels are warped against each other
– Rotation and Translation depend on roughnessEmphasize or de-emphasize high roughness
– Avoid sine / cosine computationsRotation expressed via unit vector (no explicit angle)
Entries are treated as cos(),sin()
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Rotations & Translations
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Domain Warping
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
GPU Implementation• Tileable textures– Basis functions– Weights for multifractal– Low frequency basis height field– Final height field
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Demo
computer graphics & visualization
Image Synthesis – WS 07/08Dr. Jens Krüger – Computer Graphics and Visualization Group
Conclusion• Terrain visualization:
– Major challenge: data volume– GPU-friendly compression beyond S3TC needed– GPU-friendly geometry compression needed– In research…
• Terrain Synthesis:– So far, can achieve ~30fps– Faster soon due to improved vertex texture fetches– Powerful, interactive WYSIWYG editing tools
• Editing of basis functions makes sense, now– Future direction: fractal geotypical texture synthesis– Anti-aliasing for some cases still hard