Rendering of Realistic Landscapes K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology October 31, 2007.

Slides:



Advertisements
Similar presentations
Efficient access to TIN Regular square grid TIN Efficient access to TIN Let q := (x, y) be a point. We want to estimate an elevation at a point q: 1. should.
Advertisements

Texture Synthesis on [Arbitrary Manifold] Surfaces Presented by: Sam Z. Glassenberg* * Several slides borrowed from Wei/Levoy presentation.
Extended Gaussian Images
WFM 6202: Remote Sensing and GIS in Water Management © Dr. Akm Saiful IslamDr. Akm Saiful Islam WFM 6202: Remote Sensing and GIS in Water Management Akm.
Developer’s Survey of Polygonal Simplification Algorithms Based on David Luebke’s IEEE CG&A survey paper.
CS 551 / CS 645 Antialiasing. What is a pixel? A pixel is not… –A box –A disk –A teeny tiny little light A pixel is a point –It has no dimension –It occupies.
The Global Digital Elevation Model (GTOPO30) of Great Basin Location: latitude 38  15’ to 42  N, longitude 118  30’ to 115  30’ W Grid size: 925 m.
Raster Based GIS Analysis
University of Wisconsin-Milwaukee Geographic Information Science Geography 625 Intermediate Geographic Information Science Instructor: Changshan Wu Department.
Spatial Information Systems (SIS)
3D and Surface/Terrain Analysis
Lapped Textures Emil Praun and Adam Finkelstien (Princeton University) Huges Hoppe (Microsoft Research) SIGGRAPH 2000 Presented by Anteneh.
CS447/ Realistic Rendering -- Solids Modeling -- Introduction to 2D and 3D Computer Graphics.
1 Further Terrain Rendering and Level of Detail Lecture 8 - Week 4 Advanced Programming for 3D Applications CE
Mesh Simplification Global and Local Methods:
Modelling. Outline  Modelling methods  Editing models – adding detail  Polygonal models  Representing curves  Patched surfaces.
Course Website: Computer Graphics 11: 3D Object Representations – Octrees & Fractals.
Content Subdivision First some basics (control point polygon, mesh)
Chapter 3 2D AND 3D SPATIAL DATA REPRESENTATIONS 김 정 준.
UNC Chapel Hill M. C. Lin Overview of Last Lecture About Final Course Project –presentation, demo, write-up More geometric data structures –Binary Space.
Continuum Crowds Adrien Treuille, Siggraph 王上文.
1 Terrain Rendering and Level of Detail Week 7 Advanced Programming for 3D Applications CE
Week 10. GIS Data structure II
1 University of Denver Department of Mathematics Department of Computer Science.
Using ESRI ArcGIS 9.3 3D Analyst T I N
ECS 289L A Survey of Mesh-Based Multiresolution Representations Ken Joy Center for Image Processing and Integrated Computing Computer Science Department.
Terrain Mapping and Analysis
Spatial data models (types)
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
Introduction --Classification Shape ContourRegion Structural Syntactic Graph Tree Model-driven Data-driven Perimeter Compactness Eccentricity.
1 Computer Graphics Week13 –Shading Models. Shading Models Flat Shading Model: In this technique, each surface is assumed to have one normal vector (usually.
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.
Noise Based Texture Noise Based Texture CMPS260 Presentation Guoping Xu Mar. 05, 2003.
Procedural and Fractal Terrains
Basics of Rendering Pipeline Based Rendering –Objects in the scene are rendered in a sequence of steps that form the Rendering Pipeline. Ray-Tracing –A.
Procedural Terrain with Stochastic Trees. WITH MAX MORRIS, CORY GAGEL, MARK WOULFE.
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
4/15/04© University of Wisconsin, CS559 Spring 2004 Last Time More modeling: –Hierarchical modeling –Instancing and Parametric Instancing –Constructive.
Adaptive Real-Time Rendering of Planetary Terrains WSCG 2010 Raphaël Lerbour Jean-Eudes Marvie Pascal Gautron THOMSON R&D, Rennes, France.
Main Goal Development of an application that allows flying virtually over El Hierro Island (Canary Islands), showing the building structures of a hydroelectric.
Chapter 3 Digital Representation of Geographic Data.
Raster Data Model.
Geometry Images Xiang Gu Harvard University Steven J. Gortler Harvard university Hugues Hoppe Microsoft Research Some slides taken from Hugues Hoppe.
Model Construction: interpolation techniques 1392.
Applied Mathematics 1 Do we have to see everything - all the time? …or is it at all possible? Dr. ing. Rune Aasgaard.
Copyright © Curt Hill Visualization of 3D Worlds How are these images described?
Subdivision Schemes Basic idea: Start with something coarse, and refine it into smaller pieces for rendering –We have seen how subdivision may be used.
CSE554Fairing and simplificationSlide 1 CSE 554 Lecture 6: Fairing and Simplification Fall 2012.
Introduction --Classification Shape ContourRegion Structural Syntactic Graph Tree Model-driven Data-driven Perimeter Compactness Eccentricity.
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.
1 Overview (Part 1) Background notions A reference framework for multiresolution meshes Classification of multiresolution meshes An introduction to LOD.
Raster Data Models: Data Compression Why? –Save disk space by reducing information content –Methods Run-length codes Raster chain codes Block codes Quadtrees.
Spatial Data Models Geography is concerned with many aspects of our environment. From a GIS perspective, we can identify two aspects which are of particular.
CDS 301 Fall, 2008 Domain-Modeling Techniques Chap. 8 November 04, 2008 Jie Zhang Copyright ©
3D Object Representations 2009, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
APE'07 IV INTERNATIONAL CONFERENCE ON ADVANCES IN PRODUCTION ENGINEERING June 2007 Warsaw, Poland M. Nowakiewicz, J. Porter-Sobieraj Faculty of.
UNC Chapel Hill David A. O’Brien Automatic Simplification of Particle System Dynamics David O’Brien Susan Fisher Ming C. Lin Department of Computer Science.
CIS 781 Fractal Terrains.
We propose a method which can be used to reduce high dimensional data sets into simplicial complexes with far fewer points which can capture topological.
Introduction to Graphics Modeling
UZAKTAN ALGIILAMA UYGULAMALARI Segmentasyon Algoritmaları
3D Object Representations
Spatial Data Models Raster uses individual cells in a matrix, or grid, format to represent real world entities Vector uses coordinates to store the shape.
Statistical surfaces: DEM’s
Domain-Modeling Techniques
CSE 381 – Advanced Game Programming Terrain
Spatial interpolation
Last Time B-splines Project 3 was made available
Presentation transcript:

Rendering of Realistic Landscapes K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology October 31, 2007

Introduction Creating detailed three dimensional landscapes manually is a costly and slow process. Creating detailed three dimensional landscapes manually is a costly and slow process. –Automatic generation of landscapes is needed. Features in a landscape Features in a landscape –Terrain with a varying topology and surface structure : the basis –Plants : forests, fields –Individual buildings, cities, roads, infrastructure –Rivers, lakes, seas, sky, clouds, the sun, stars –Animals and people, etc.

Introduction To create a realistic landscape To create a realistic landscape –It is not enough that the elements making up the landscape look realistic. –They should also be placed naturally in relation to each other. Mimicking the way real landscapes are structured. Mimicking the way real landscapes are structured. –Ecotopes provide a way to achieve this. A consistent landscape with variation both at local and global scales is more interesting than a completely random or homogeneous landscape. A consistent landscape with variation both at local and global scales is more interesting than a completely random or homogeneous landscape.

Introduction Applications Applications –Flight simulators, computer games, visualization in architecture, land use planning tools, geographical visualization, landscape design, background generation for movies, etc. –Dynamic and interactive landscapes but could be artificial Computer games Computer games –Static but accurate landscape Geographical information system Geographical information system

Procedural vs. Declarative Declarative Approach Declarative Approach –Define every details and properties of every object in the landscape. –The designer has absolute control over the landscape. –It requires a huge amount of storage space. –Creating a landscape takes time. –It is used for real world geographical system. Conformance to the real world geography is important. Conformance to the real world geography is important. The terrain height and object placement information can be obtained from measurement data. The terrain height and object placement information can be obtained from measurement data.

Procedural vs. Declarative Procedural Approach Procedural Approach –It generates the landscape using algorithms that produce varying, natural looking data. –This approach can be used if the landscape does not have to match any real life location. Almost no input data is required. Almost no input data is required. Specialized algorithms are used. Specialized algorithms are used. –Small disk storage and minimum work

Hybrid Both the procedural and declarative methods are combined. Both the procedural and declarative methods are combined. –Use the procedural approach by default –Allow exact definitions in places The landscape designer can accurately specify details where they are needed. The landscape designer can accurately specify details where they are needed.

Ecotopes Different areas in an extensive natural landscape may have very different appearances. Different areas in an extensive natural landscape may have very different appearances. –Rocky ground, forests, lakes, etc. Ecotopes are a way to implement this kind of variation. Ecotopes are a way to implement this kind of variation. Ecotopes provide a flexible framework that can be used to implement both macro and micro scale features Ecotopes provide a flexible framework that can be used to implement both macro and micro scale features –Macro scale features: forests –Micro scale features: tall grass They give landscape designers both controls over the characteristics of different types of landscape, as well as control over where to apply what type of landscape. They give landscape designers both controls over the characteristics of different types of landscape, as well as control over where to apply what type of landscape.

Ecotopes Landscape parameters of an ecotopes Landscape parameters of an ecotopes –Height functions –A number of different plant species and their densities –Rain amounts which affect the number of rivers and lakes generated. –Population density –Number of buildings –Etc.

Ecotopes Distribution Properties of Ecotopes Distribution Properties of Ecotopes –Terrain elevation, relative elevation, slope angle, proximity to sea, proximity to a river or lake, etc. –Randomly generated noise function

To Create a Landscape… Terrain Terrain Plants Plants –Trees, grass, etc. Buildings Buildings Cities Cities The Sky The Sky –Clouds, weather, climate, atmosphere, celestial bodies, etc.

Terrain It is the basis for a landscape, i.e. the shape of the ground. It is the basis for a landscape, i.e. the shape of the ground. For efficiency in modeling and rendering the ground, we may assume that For efficiency in modeling and rendering the ground, we may assume that –The ground surface has no overhangs. Any ray from the center of the planet intersects the planet surface exactly once. Any ray from the center of the planet intersects the planet surface exactly once. Under this assumption, the ground shape can be defined by a ground height function. Under this assumption, the ground shape can be defined by a ground height function. –When modeling and rendering only a small part of the planet surface, we treat the surface as planar.

Terrain For rendering a ground surface, it is often practical to only store samples of the ground height function at some intervals. For rendering a ground surface, it is often practical to only store samples of the ground height function at some intervals. –Called an elevation map or height map. –If the height is encoded as colors, it can be stored as an image.

Random Terrain Generators The simplest way is to assign each position on the ground a random height. The simplest way is to assign each position on the ground a random height. –The result of that bears little resemblance to natural terrain. –In fact the natural ground is more or less continuous, while still varying in height in complex ways depending on the position.

Random Terrain Generators Stochastic Subdivision Algorithms Stochastic Subdivision Algorithms –Iterative subdivision with pseudo-random midpoint displacement –Algorithm  The terrain starts with a single large square, with a height value of zero at each corner.  A pseudo-random height offset that is proportional to the size of the square, is added to each corner of the square.  The square is divided into four smaller ones, with the height of each new corner interpolated between the heights of neighboring corners of the original square.  The algorithm is repeated from step 2 for each square, until the squares are at the desired LOD.

Random Terrain Generators Height Map3D Rendering

Random Terrain Generators Stochastic Subdivision Algorithms Stochastic Subdivision Algorithms –Drawbacks It often produces unnatural looking regularities (sharp ridges or peaks) It often produces unnatural looking regularities (sharp ridges or peaks) The random variation varies linearly with the scale of the features. The random variation varies linearly with the scale of the features. –In nature terrain the amplitude of height variation does not depend linearly on the scale of the features.

Random Terrain Generators Stochastic Subdivision Algorithms Stochastic Subdivision Algorithms –Diamond Square Subdivision The algorithm divides a square into four smaller squares rotated 45 degrees in relation to the original square. The algorithm divides a square into four smaller squares rotated 45 degrees in relation to the original square. It eliminates some of the more visible artifacts, but has some quite noticeable point-like artifacts of its own. It eliminates some of the more visible artifacts, but has some quite noticeable point-like artifacts of its own.

Random Terrain Generators Stochastic Subdivision Algorithms Stochastic Subdivision Algorithms –Offset square subdivision It can avoid most of the artifacts, but with somewhat increased performance cost. It can avoid most of the artifacts, but with somewhat increased performance cost. The smaller squares are offset from the larger square corners, and the initial values for the smaller square corners are calculated with a weighted average. The smaller squares are offset from the larger square corners, and the initial values for the smaller square corners are calculated with a weighted average. –More smooth terrain

Random Terrain Generators Faulting Algorithms Faulting Algorithms –They generate fractal data by repeatedly dividing the terrain with a faulting edge. Raising the terrain on one side of the edge and lowering it at the other to achieve a height difference along the faulting edge. Raising the terrain on one side of the edge and lowering it at the other to achieve a height difference along the faulting edge. –Over time the height difference is reduced and when it arrives at zero the terrain is ready.

Random Terrain Generators Faulting Algorithms Faulting Algorithms –Very slow –Not suitable for applications where a small visible area of a larger terrain needs to be generated.

Random Terrain Generators Perlin Noise Perlin Noise –It approximates smooth white noise of a given frequency in one or more dimensions. –Combining several layers (called octaves) of noise at different frequencies and amplitudes, a natural looking fractal noise can be obtained. This combined noise is called Perlin turbulence, or just Perlin noise. This combined noise is called Perlin turbulence, or just Perlin noise. One layer

Random Terrain Generators Perlin Noise Perlin Noise –The characteristics of a terrain height field can be adjusted by changing the number of octaves, the amplitude and frequency of each octave.

Random Terrain Generators Perlin Noise Perlin Noise –It does not have any regular visible artifacts and is fast. It is a popular choice for random terrain generation. It is a popular choice for random terrain generation. –One variation of Perlin turbulence is the ridged multi-fractal noise. It uses absolute value functions to produce features with a ridged appearance. It uses absolute value functions to produce features with a ridged appearance. –Approximate eroded mountain ranges.

Random Terrain Generators Successive Mass Deposit Successive Mass Deposit –It is based on the idea of repeatedly adding some mass at a random location of the terrain. The mass has a Gaussian distribution profile around the addition point. The mass has a Gaussian distribution profile around the addition point. The addition is repeated with successively smaller masses. The addition is repeated with successively smaller masses.

Geological Effects on the Terrain A height field that statistically resemble the real landscape topographies visually lacks many of the distinct geological features found in real world landscapes. A height field that statistically resemble the real landscape topographies visually lacks many of the distinct geological features found in real world landscapes. –The result of various geological processes Topology building processes Topology building processes –Move the planet crust or allow magma to rise to the surface. Erosive processes Erosive processes –Wear down the planet crust to progressively more fine grained particles. –Transport these particles and deposit them in new places.

Terrain Level of Detail Level of Detail For Terrain Visualization Level of Detail For Terrain Visualization –Easier than arbitrary 3D models The geometry is more constrained, normally consisting of uniform grids of height values. The geometry is more constrained, normally consisting of uniform grids of height values. More specialized and potentially simpler algorithms could be possible. More specialized and potentially simpler algorithms could be possible. –More Difficult It is possible to have a large amount of terrain visible at any point. It is possible to have a large amount of terrain visible at any point. –LOD techniques are critical Terrain meshes can be extremely dense. Terrain meshes can be extremely dense. –The U.S. Geological Survey data: 30-arc-second resolution (roughly 1 kilometer at the equator) – 933 million points, 1.8 billion triangles over the entire planet.

Algorithms for Terrain (Top Down or Bottom Up) Top Down: Subdivision or Refinement methods Top Down: Subdivision or Refinement methods –Begin with two or four triangles for the entire region. –Progressively add new triangles until the desired resolution is achieved. Bottom Up: Decimation or Simplification Bottom Up: Decimation or Simplification –Begins with the highest-resolution mesh –Iteratively removes vertices from the triangulation until the desired level of simplification is gained.

Bottom-up approaches tend to be able to find the minimal number of triangles required for a given accuracy. Bottom-up approaches tend to be able to find the minimal number of triangles required for a given accuracy. However, they necessitate the entire model being available at the first step. However, they necessitate the entire model being available at the first step. –Higher memory and computational demands. Algorithms for Terrain (Top Down or Bottom Up)

Bottom-up approaches are almost always used during the initial offline hierarchy construction. Bottom-up approaches are almost always used during the initial offline hierarchy construction. At run-time, a top-down approach might be favored. At run-time, a top-down approach might be favored. –It offers support for view culling. Algorithms for Terrain (Top Down or Bottom Up)

The use of regular grid height fields The use of regular grid height fields –Regular (uniform) grids use an array of height values at regularly spaced x and y coordinates. Triangulated Irregular Networks (TINs) Triangulated Irregular Networks (TINs) –TINs allow variable spacing between vertices. Algorithms for Terrain (Regular Grids and TINs)

Advantages of TINs Advantages of TINs –They can approximate a surface to a required accuracy with fewer polygons. Large flat regions are represented with a coarse sampling. Large flat regions are represented with a coarse sampling. Higher sampling is reserved for more bumpy regions. Higher sampling is reserved for more bumpy regions. –They offer great flexibility in the range and accuracy of features. Ridges, valleys, coastlines, caves, etc. Ridges, valleys, coastlines, caves, etc. Disadvantages of TINS Disadvantages of TINS –They make implementing related functions (view culling, terrain following, collision detection and dynamic deformation) more complex. Due to the lack of a simple overarching spatial organization. Due to the lack of a simple overarching spatial organization. –The applicability of TINs to run-time view-dependent LOD is less efficient than regular gridded systems. Algorithms for Terrain (Regular Grids and TINs)

Disadvantages of Regular Grids Disadvantages of Regular Grids –They tend to be far less optimal than TINs. The same resolution is used across the entire terrain. The same resolution is used across the entire terrain. Advantages of Regular Grids Advantages of Regular Grids –They are simple to store and manipulate. –They are easily integrated with raster databases and file formats DEM, DTED, GeoTIFF, etc. DEM, DTED, GeoTIFF, etc. –They require less storage for the same number of points. An array of z values needs to be stored rather than full (x,y,z) coordinates. An array of z values needs to be stored rather than full (x,y,z) coordinates. Algorithms for Terrain (Regular Grids and TINs)

For these reasons, many contemporary terrain LOD systems favor regular grids over TINs. For these reasons, many contemporary terrain LOD systems favor regular grids over TINs. Algorithms for Terrain (Regular Grids and TINs)

For multiresolution representation we use quadtrees or bintrees. For multiresolution representation we use quadtrees or bintrees. Quadtree Structure Quadtree Structure –A rectangular region is divided uniformly into four quadrants. –Each of these quadrants can then be successively divided into four smaller regions. Algorithms for Terrain (Quadtrees and Bintrees)

A binary triangle tree structure works the same way as a quadtree. A binary triangle tree structure works the same way as a quadtree. –But it segments a triangle into two halves. The root triangles is normally defined to be a right- isosceles triangle. The root triangles is normally defined to be a right- isosceles triangle. The subdivision is performed by splitting this along the edge formed between its apex vertex and the midpoint of its base edge. The subdivision is performed by splitting this along the edge formed between its apex vertex and the midpoint of its base edge. Algorithms for Terrain (Quadtrees and Bintrees)

Advantages of Bintrees Advantages of Bintrees –They make it easy to avoid cracks and T- junctions. –Exhibit the useful feature that triangles are never more than one resolution level away from their neighbors. Algorithms for Terrain (Quadtrees and Bintrees) Subdivision progression example. The root triangle is A

When adjacent triangles exist at different levels of detail, When adjacent triangles exist at different levels of detail, –It is possible to introduce cracks along the edge. The higher LOD introduces an extra vertex that does not lie on the lower LOD edge. The higher LOD introduces an extra vertex that does not lie on the lower LOD edge. When rendered, these cracks can cause holes in the terrain, allowing the background to peak through. When rendered, these cracks can cause holes in the terrain, allowing the background to peak through. Algorithms for Terrain (Tears, Cracks and T-Junctions)

When adjacent triangles exist at different levels of detail, When adjacent triangles exist at different levels of detail, –Another undesirable artifact is the T- junction. It is caused when the vertex from a higher LOD triangle does not share a vertex in the adjacent lower LOD triangle. It is caused when the vertex from a higher LOD triangle does not share a vertex in the adjacent lower LOD triangle. It can result in bleeding tears in the terrain and visible lighting and interpolation differences across the edges. It can result in bleeding tears in the terrain and visible lighting and interpolation differences across the edges. Algorithms for Terrain (Tears, Cracks and T-Junctions)

How to deal with cracks… How to deal with cracks… –The triangles around the crack are recursively split to produce a continuous surface. It is often used in bintree-based system. It is often used in bintree-based system. Algorithms for Terrain (Tears, Cracks and T-Junctions)

After generating and rendering the geometry of the landscape, we still need to texture it. After generating and rendering the geometry of the landscape, we still need to texture it. –It means covering the triangles making up the landscape with images of the ground in that area. Method 1 Method 1 –Just repeat a texture over the landscape. Results in visible tiling artifacts, and a quite boring landscape. Results in visible tiling artifacts, and a quite boring landscape. Terrain Texturing

Method 2 Method 2 –Use a number of different textures which match each other along some edges. We fill the plane with these textures, making sure adjacent texture edges match each other. We fill the plane with these textures, making sure adjacent texture edges match each other. –Still somewhat boring landscape. Method 3 Method 3 –To make the landscape more varying, we can texture different ecotopes with different textures. Mountain tops and hill slopes can be bare while valley floors can be more lush. Mountain tops and hill slopes can be bare while valley floors can be more lush. –We blend between different textures based on the strength of different ecotopes. Terrain Texturing

Texture Blending Texture Blending –Instead of simply blending between different terrain textures, more natural edges can be achieved by using custom textures for the edges between textures. Terrain Texturing

Texture Blending Texture Blending –The edge tiles can be drawn so that the underlying area is left transparent, allowing the topmost texture to be simply drawn on top of underlying textures. Terrain Texturing

Examples of Terrain Rendering & Texturing