190 likes | 384 Views
Image Synthesis. Interactive Terrain Synthesis. Fractal Terrain Synthesis. Goals: Generation of fractal terrain Non-repetitive, infinite extent Interactive frame rates Real-time editable Methods Rescale & Add on GPU. Fractal terrain synthesis. Stochastic Fractals
E N D
Image Synthesis Interactive Terrain Synthesis
Fractal Terrain Synthesis • Goals: • Generation of fractal terrain • Non-repetitive, infinite extent • Interactive frame rates • Real-time editable • Methods • Rescale & Add on GPU
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
Rescale-and-Add Noise synthesisbypointevaluation • Summation ofscaledanddilatednoisefunctions
Rescale-and-Add Add weighted noiseoctaves to simulate 1/f-noise • 1/f noise: asfrequencyincreases, amplitudedecreases 25 24 23 22 21 20
Rescale-and-Add Another method to simulate 1/f-noise • Generate noisy copies on-the-fly from a base random texture 20 21 22 = • • • 23 24
Rescale-and-Add H(x,y): synthesized height field F(x,y): basis function n: number of octaves
Rescale And Add • Basis function(s) F: • Filteredwhitenoise, Perlinnoise, images, … • Affectsbasicappearanceofterrain • Reformulationyieldsmore intuitive parameters: • r: roughness • l: lacunarity (fractalgap) • o: octaves
Rescale And Add - Parameters Roughness r
Rescale And Add - Parameters Lacunarity l
Rescale And Add - Parameters Octaves o
Multifractalsandother tricks… Substitute basisfunctionbyconvexcombination: withand More editingpossibilities, morerealism • Add lowfrequencybasegeometry • Edit basicterrain via basegeometry • Edit appearance via basisfunctions • Close tospatialandfrequencydomaineditingparadigm • Use „odd“ lacunarity / roughnesslike2.173482... breaksuprepetitions
Rotations & Translations • Warp domainwith pseudo-randomrotations: • Substitutes heightfield H(x,y) H( Rot(x,y)+T(x,y) ) • Somebasicmathinvolved. Key ideas: • Rotation and Translation depend on octave • Levels arewarpedagainsteachother • Rotation and Translation depend on roughness • Emphasizeor de-emphasizehighroughness • Avoid sine / cosinecomputations • Rotation expressed via unitvector (no explicit angle) Entriesaretreatedas cos(),sin()
GPU Implementation • Tileable textures • Basis functions • Weights for multifractal • Low frequency basis height field • Final height field
Conclusion • Terrain visualization: • Major challenge: datavolume • GPU-friendlycompressionbeyond S3TC needed • GPU-friendlygeometrycompressionneeded • In research… • Terrain Synthesis: • So far, canachieve ~30fps • Fastersoon due toimprovedvertextexturefetches • Powerful, interactive WYSIWYG editingtools • Editingofbasisfunctionsmakes sense, now • Future direction: fractalgeotypicaltexturesynthesis • Anti-aliasingforsomecases still hard