interactive editing of complex terrains on parallel graphics architectures n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
INTERACTIVE EDITING OF COMPLEX TERRAINS ON PARALLEL GRAPHICS ARCHITECTURES PowerPoint Presentation
Download Presentation
INTERACTIVE EDITING OF COMPLEX TERRAINS ON PARALLEL GRAPHICS ARCHITECTURES

Loading in 2 Seconds...

play fullscreen
1 / 52

INTERACTIVE EDITING OF COMPLEX TERRAINS ON PARALLEL GRAPHICS ARCHITECTURES - PowerPoint PPT Presentation


  • 95 Views
  • Uploaded on

INTERACTIVE EDITING OF COMPLEX TERRAINS ON PARALLEL GRAPHICS ARCHITECTURES. Ufuk Gün. Terrain Editing. What is terrain editing? Implementation Editing on paged data. Terrain Editing – What is it?.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'INTERACTIVE EDITING OF COMPLEX TERRAINS ON PARALLEL GRAPHICS ARCHITECTURES' - quanda


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
terrain editing
Terrain Editing
  • What is terrain editing?
  • Implementation
  • Editing on paged data
terrain editing what is it
Terrain Editing – What is it?
  • Terrain editing is the manipulation of terrain mesh which is controlled by the user of the application.
  • There are several brushes like:
    • Raise, Lower, Flat, Smooth, Noise
    • Paint Color
    • Paint Texture
implementation 1 changing the primitive set data
Implementation (1)Changing the primitive set data
  • Advantages
    • Easy to implement
  • Disadvantages
    • Slow because it needs to be recompiled.
implementation 2 sending height data as texture to the shaders
Implementation (2) Sending height data as texture to the shaders.
  • Advantages
    • Easy to implement
    • No recompilation
  • Disadvantages
    • Unefficient data transfer to GPU
    • Culling mechanism fails
implementation 3 editing vertices u sing v ertex b uffer o bject vbo
Implementation (3)Editing vertices using Vertex Buffer Object (VBO)
  • What is VBO?
    • A vertex buffer object is a feature that allows the program to store data in application memory.
implementation 3 editing vertices u sing v ertex b uffer o bject vbo1
Implementation (3)Editing vertices using Vertex Buffer Object (VBO)
  • Why it is chosen?
    • This method enables accessing and changing the vertex data from the application side
    • Decreases the amount of unnecesarily changing data
    • Faster because does not need to recompile
terrain editing on paged data
Terrain Editing on Paged Data
  • Terrain Paging
    • Number of All Pages : 6x6
    • Number of Viewing Pages : 3x3
    • Number of Active Page : 1x1
terrain editing on paged data1
Terrain Editing on Paged Data
  • Terrain Paging on Borders
    • Number of All Pages : 6x6
    • Number of Viewing Pages : 2x2
    • Number of Active Page : 1x1
terrain editing on paged data2
Terrain Editing on Paged Data
  • Moving the active page
    • Number of All Pages : 6x6
    • Number of Common Pages : 1x3
terrain texturing
Terrain Texturing
  • Texture Painting
  • Slope Based Texturing
  • Procedural Texturing
  • Texturing with Satellite Image
  • Lightmap
  • Other Colorings
texture painting brute force approach
Texture Painting – Brute Force Approach
  • Brute force aproach is texturing all the terrain with a very large image
    • Terrain size = 1024m x 1024m
    • Texture Resolution = 256 x 256 per meter^2

=>

    • Texture Size = 262144 x 262144
    • Size on Disk ~= 95GB
texture painting alphamap approach
Texture Painting – Alphamap Approach
  • Alphamaps are textures that shows the placement of detail textures
  • Each channel of alphamap image represents one detail texture placement
texture painting alphamap approach1
Texture Painting – Alphamap Approach

Result Image

  • Red : Grass.jpg
  • Green: Sand.jpg
  • Blue : Water.jpg
texture painting base texture
Texture Painting – Base Texture
  • Color terrain roughly
  • Decrease the effect of repeating detail textures

After

Before

texture painting base texture1
Texture Painting – Base Texture

Alphamap

Base Texture

Detail Textures

Result

slope based texturing
Slope Based Texturing
  • Slope Texture is used on terrain regions where slope is close to perpendicular to ground
  • Applied on shader with the normal value of vertices
precedural texturing
Precedural Texturing
  • Terrain texturing with the height values
    • Top : Snow.jpg
    • Middle : Sand.jpg
    • Bottom : Grass.jpg
  • Applied on CPU side
texturing with satellite images
Texturing with Satellite Images
  • Tiling texture with a satellite image
  • Satellite image can be retrieved by GIS tool
lightmaps
Lightmaps
  • Problem:
    • Light calculation is an expensive process especially when there are more than 8 lights
  • Solution:
    • Using a lightmap for static lights
    • Lightmap is a precalculated image that shows the illumination of the terrain
lightmaps1
Lightmaps

Lightmap Texture

Day

Sunset

Night

other colorings
Other Colorings
  • Coloring by Height
  • Terrain Grids
  • Contour Lines
  • Editing Circle&Square
coloring by height
Coloring by Height
  • Terrain coloring by height values
  • It is used for analysis
other colorings1
Other Colorings

Terrain Grid

Contour Lines

paged terrain lod
Paged Terrain LOD
  • Simplification Algorithm
  • Tiled Block Methods
    • Paged Tiled Blocks
    • Merged Paged Tiled Blocks
  • Threaded Loading Simplified Pages
paged terrain lod simplification
Paged Terrain LOD - Simplification
  • What is simplified terrain?
    • It is a good representation of the original terrain which is produced by eliminating of vertices whose absence is not recognized.
  • Advantages
    • Loss is not recognized
  • Disadvantages
    • Simplification is an expensive process
    • All the detail levels should be calculated before the rendering process
    • Simplified terrains should be stored on disk (need memory)
paged terrain lod simplification1
Paged Terrain LOD - Simplification
  • An example of simplification
paged terrain lod tile blocks
Paged Terrain LOD – Tile Blocks
  • What is Tile Blocks
    • Aims to render square patches with different resolutions
    • The resolution decreases by the distance to the view point
    • Around the viewer, there are nested grids
    • Grid resolutions differ by a factor of two
paged terrain lod tile blocks1
Paged Terrain LOD – Tile Blocks
  • Advantages
    • Data structure is simple
    • Smooth transitions
    • Efficient compression
  • Disadvantages
    • Cracks may occur on the borders
    • Pages should be merged to use this algoritm
      • Long preprocess
      • Paging cannot be applied as it should be
paged terrain lod threaded simplified paged lod
Paged Terrain LOD Threaded Simplified Paged LOD
  • What is it?
    • A mechanism that loads terrain data in different details on another thread
    • All the terrain simplification and generation process is done on another thread without decreasing the frame rates
paged terrain lod threaded simplified paged lod1
Paged Terrain LOD Threaded Simplified Paged LOD
  • How does it work?
    • Send camera position to pages
    • Each page creates a thread that calculates new resolution
      • If resolution should be increased
        • Read data from disk
      • If resolution should be decreased
        • Simplify old page
      • Generate new terrain
    • If new terrain is generated
      • Load new terrain
paged terrain lod threaded simplified paged lod2
Paged Terrain LOD Threaded Simplified Paged LOD
  • Simplification
    • Elimination of vertices by discarding half of them
  • Advantages
    • Fast
    • Easy to handle
paged terrain lod threaded simplified paged lod3
Paged Terrain LOD Threaded Simplified Paged LOD
  • An example of LOD

LOD = 0

LOD = 1

LOD = 2

texture lod
Texture LOD
  • What is Texture LOD?
    • Using high resolution textures on regions that are close to the viewpoint and using low resolution textures that are farther from the camera.

256x256

128x128

64x64

32x32

1x1

texture lod1
Texture LOD
  • Advantages
    • Reduces memory consumption of the application
    • Increases rendering performance
    • Decreases the loading time
texture lod2
Texture LOD

No LOD

LOD

parallel rendering
Parallel Rendering
  • Why Parallel Rendering?
      • Increase visual quality
      • Inrease screen size
      • Create Dom or Cube display systems
  • Equalizer
  • OpenSceneGraph (OSG)
  • Configuration
  • Advantages
  • Results
equalizer
Equalizer
  • A toolkit for scalable parallel rendering based on OpenGL which provides an API to develop scalable graphics applications for wide range of systems.
  • Enables multiple graphic cards, processors or computers to scale rendering performance, visual quality and display size.
  • Scalable, flexible and compatible with less implementation overhead
  • Configurable
openscenegraph osg
OpenSceneGraph - OSG
  • An open source, cross-platform graphics toolkit for developing graphics applications.
  • Based on “Scene Graph” and Object Oriented Framework
  • Performance abilities:
    • View-FrustumCulling
    • OcclusionCulling
    • Small feature Culling
    • Level of Detail nodes
    • OpenGL state sorting
    • Vertex arrays
    • VertexBufferObjects
    • OpenGL Shader Language
    • Display lists
parallel rendering1
Parallel Rendering
  • Configuration
    • Multiple graphic cards
    • Multiple computers
  • Our configuration
    • 1 PC x 3 GPU x 2 Output = 6 Display
application
Application
  • Terrain Editor
  • Multi-Screen Terrain Viewer
terrain editor abilities
Terrain Editor - Abilities
  • Heightmap manipulation
  • Texture manipulation
  • Object Management
    • Model
    • Road
    • River
    • Water
    • Vegetation
  • GIS integration
  • Creating and editing of large area terrains
multi screen terrain viewer
Multi-Screen Terrain Viewer
  • Multi-Screen display
  • Rendering large area terrains
  • Paged LOD
  • Configurable setup
  • View-Frustum Culling
achievements
Achievements
  • Large Area Terrain Editor
  • GIS integration
  • Paged LOD Mechanism
  • Multi-Screen Display Viewing and Parallel Rendering of a Terrain
limitations
Limitations
  • Number of pages viewing at the same time
  • Camera speed
  • Area of the terrain
future work
Future Work
  • Multi-Resolution Terrain Editing
  • Crack Avoidance Mechanism
  • Editing on LOD
  • Real-Time Terrain Deformation
  • Number of Threads