adaptive streaming and rendering of large terrains l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Adaptive Streaming and Rendering of Large Terrains PowerPoint Presentation
Download Presentation
Adaptive Streaming and Rendering of Large Terrains

Loading in 2 Seconds...

play fullscreen
1 / 37

Adaptive Streaming and Rendering of Large Terrains - PowerPoint PPT Presentation


  • 86 Views
  • Uploaded on

Adaptive Streaming and Rendering of Large Terrains. Raphaël Lerbour. Advisors: Kadi Bouatouch (IRISA) Jean-Eudes Marvie (THOMSON). Terrain rendering. 2D maps of elevation and color samples 3D applications: games, GPS, virtual tourism…. Objectives. Render large terrain datasets

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

Adaptive Streaming and Rendering of Large Terrains


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
adaptive streaming and rendering of large terrains

Adaptive Streaming and Rendering of Large Terrains

Raphaël Lerbour

Advisors:

Kadi Bouatouch (IRISA)

Jean-Eudes Marvie (THOMSON)

terrain rendering
Terrain rendering
  • 2D maps of elevation and color samples
  • 3D applications: games, GPS, virtual tourism…
objectives
Objectives
  • Render large terrain datasets
    • Support huge maps (dozens of GB)
    • Remote loading
  • With good interactivity
    • Unpredicted user viewpoint moves
    • Speed requirements (e.g. 25 frames per second)
    • Real-time hardware 3D rendering
  • On multiple target devices and networks
    • Desktop PCs, handhelds…
    • Cannot transmit or display entire dataset
solutions
Solutions
  • Network limitations: adaptive client-server streaming
    • Progressive loading guided by rendering needs
    • Available subset of dataset is rendered while loading
  • Graphics hardware limitations: adaptive rendering
    • 3D mesh simplification (data selection)

Server

Client

Network

Server

database

File server

Streaming

controller

Partial

database

slide5
Plan
  • Introduction
  • Related Work
  • Contributions
    • Data Structure
    • Adaptive streaming and rendering
    • 3D terrain rendering features
    • Planetary terrains
    • Preprocessing
  • Conclusion
related work
Related work

Google Earth

  • Commercial software
    • Google Earth, NASA World Wind…
    • Flight simulators
    • Continuous levels of detail (LOD)[Lindstrom et al. 1996, Duchaineau et al. 1997, Hoppe 1998]
    • Focus on reducing mesh complexity at all costs
    • Every data sample is considered at each frame
    • Designed for slow 3D rendering hardware
  • Alternative approaches
    • Clipmap[Losasso et al. 2004]
    • Projective grid [Dachsbacher et al. 2004]

NASA World Wind

related work7
Related work
  • Blocks with discrete levels of detail[De Boer 2000, Pouderoux et al. 2005, Schneider et al. 2006]
    • Map subdivided into fixed-size blocks
    • Per-block selection between predefined LODs
    • Blocks can be loaded independently
    • All blocks needed to render entire map
  • Hierarchies of blocks[Levenberg 2002, Cignoni et al. 2003, Livny et al. 2007]
    • All blocks have the same resolution
    • Blocks organized in a tree
    • Changing LOD requires changing tree level
    • Tree can be loaded progressively

Split

discussion
Discussion
  • Related work
    • Few solutions support both streaming and rendering efficiently
    • Some are based on outdated considerations
    • Few support planetary terrains and solve corresponding issues
  • Our approach
    • Unify adaptive data streaming and selection

Same data structure and adaptive schemes, suited for both

    • But separate from 3D rendering

Generic streaming and selection for large 2D maps, then application to 3D terrains

    • Adapt to any database size and hardware capabilities

Favor speed, avoid data redundancy, support planetary terrains

    • Offer a complete and efficient solution
overview of our work
Overview of our work

Network

Preprocessing

File server

Adaptive

streaming

and selection

3D conversion

and rendering

  • Generic adaptive solution
    • Streaming and rendering of sample maps
  • Application to 3D terrain rendering
    • Support of planetary terrains
  • Offline preprocessing steps with support for huge maps

Server

database

Original

database

Partial client

database

slide10
Plan
  • Introduction
  • Related Work
  • Contributions
    • Data Structure
    • Adaptive streaming and rendering
    • 3D terrain rendering features
    • Planetary terrains
    • Preprocessing
  • Conclusion
data structure base
Data structure: base
  • Hierarchy of square blocks [Levenberg et al. 2002]
    • Can be progressively loaded as a tree, starting with the root
    • Hierarchical block selection  minimize amount of rendered blocks
  • Blocks have sets of regular levels of detail (LOD) [De Boer 2000]
    • Adaptive LOD selection  minimize amount of structure operations
data structure new properties
Data structure: new properties
  • No data redundancy:less to store and transmit
    • LODs of a block share data (common sample grid)
    • Parent and children share one LOD (local copy when split/merge)
  • New LOD: samples interleaved between existing ones
    • Possible to render a block with not all LODs loaded
    • Possible to render a block and load one of its LODs in parallel
slide13
Plan
  • Introduction
  • Related Work
  • Contributions
    • Data Structure
    • Adaptive streaming and rendering
    • 3D terrain rendering features
    • Planetary terrains
    • Preprocessing
  • Conclusion
measure of importance
Measure of importance
  • The base for adaptivity in both streaming and rendering
    • Importance represents desired quality for a block
    • Thresholds to select LODs and trigger update requests
    • Defines priority for triggered requests
  • Any factors may be used
    • Based on application, nature of the data
    • Typical factors for 3D terrain rendering:
      • Distance from viewpoint
      • Surface area
      • Roughness
adaptive streaming
Adaptive streaming

0.1 s (at 1Mbps)

  • Pre-computed server database for minimal activity
    • Only one file read per LOD request
    • File position for any LOD known from previous LOD
  • Data are loaded “as-is”
    • Conversion on the client, in parallel with rendering
    • Possible quantization, pre-compression
    • Same server and data with any client type
  • We always transmit the most important data
    • Implicit adaptation to the network speed
    • Rendering quality constantly improves

10 s

40 s

adaptive streaming16
Adaptive streaming

Network

Server

Client

Request

  • Restricted number of pending requests
  • Potential LOD loading requests come with an importance value
  • Requests with highest importance are transmitted to server
  • Others are discarded, need to update importance for next selection
  • At reception, database is updated and new request is transmitted

Importance

File server

Adaptive

streaming

Adaptive

rendering

Reply (data)

New LOD

Complete

database

Partial

database

Rendering

system

client database
Client database
  • Incomplete tree of blocks
    • Data on all leaves  entire surface can be rendered
    • Asynchronous update operations
    • Tree update requests selected the same way as loading requests

Adaptive

streaming

Tree

update

Adaptive

rendering

Requests

Requests

Adaptive

selection

Server

Refine

Split &

merge

Rendering

Partial

database

adaptive rendering
Adaptive rendering
  • At each frame, we:
    • Hierarchically cull blocks that are not visible
    • Compute importance for each block to select LOD to be rendered
    • Trigger requests when unavailable LODs are selected
    • Select most important requests from triggered ones
    • Render visible leaf blocks at selected LOD using sample masks
adaptive selection

LOD1 used

Split

Merge

Children used

LOD0 requested, LOD1 used

LOD0 used

Adaptive selection

50 frames/s

  • User selects desired rendering speed
    • Adaptive quality factor in importance formula
    • Guides selection of LODs and triggering of operations

100 frames/s

150 frames/s

LOD1

LOD0

LOD0

LOD-1

Importance

results
Results
  • Tested with 3D terrain rendering application
    • CPU usage: about 5-10% of each frame time
    • No stutters due to database updates (asynchronous)
    • Rendering quality improves as fast as network allows
    • Stable frame rate as long as enough data are loaded
  • Scales well from high to low performance clients (set-top box)

Puget Sound database

(Washington state, USA)

slide21
Plan
  • Introduction
  • Related Work
  • Contributions
    • Data Structure
    • Adaptive streaming and rendering
    • 3D terrain rendering features
    • Planetary terrains
    • Preprocessing
  • Conclusion
hardware 3d rendering
Hardware 3D rendering
  • We render 3D geometry with triangles
    • Conversion from elevation in refine operation
    • Adapted measure of importance
    • 3D culling with bounding boxes
  • Geometry caching in graphics hardware
    • Well suited for discrete LODs
    • Saves memory transfers (up to +40% rendering speed)
  • Sample masks as triangle strips
    • Applied directly in hardware
    • Need to solve cracks on block edges
fixing geometry cracks
Fixing geometry cracks
  • Additional triangle strip masks on block edges
    • Block with higher definition adapts
    • No new samples required
    • Neighbor knowledge: one per edge
    • No adaptation needed when more than one
  • There are unsolvable cases
    • Split and merge constraints
texture maps
Texture maps
  • Color maps rendered using textures
    • 1 LOD = 1 mipmap
    • Hardware caching and selection
  • Distinct but linked geometry and texture trees
    • Specific measures of importance
    • Single texture coordinates mask for all geometry blocks
    • Only one texture per geometry block: split and merge constraints
  • Data filtering for down-sampling
    • Improved quality for low definition LODs
    • Progressive Texture Map [Marvie03]
slide25
Plan
  • Introduction
  • Related Work
  • Contributions
    • Data Structure
    • Adaptive streaming and rendering
    • 3D terrain rendering features
    • Planetary terrains
    • Preprocessing
  • Conclusion
modeling a planet
Modeling a planet

Google Earth (global, cylindrical)

    • Datum to support ellipsoid reference shape
  • Sphere projected onto a bounding cube
    • Produces square maps
    • Saves most redundant data compared toclassical solution (25% global)
    • Avoids visual “stretching” on poles

Our solution (cube, gnomonic)

projection adjustment
Projection adjustment
  • Base: gnomonic 2D map projection
    • Fast reverse projection (normalization)
    • 75% less surface on corners than center
  • New adjusted sampling
    • Planet surface instead of plane of projection
    • Steps = independent angles of rotation
    • Two tangent values computed per sample
    • 33% less surface on corners than center

Plane of

projection:

solving specific planet issues
Solving specific planet issues

0

  • Crack fixing on edges of the cube
    • Faces specifically numbered and oriented
    • Implicit and transparent management
  • Runtime adaptive clipping planes
    • Good rendering precision, from any distance
    • Culls hidden parts of the planet (behind the horizon)
    • No additional comparison

1

2

3

4

5

results29
Results
  • Tested on GeForce 9800 GTX+, all features turned on
    • 140 FPS when asking for 2 million triangles

Earth database

from NASA

slide30
Plan
  • Introduction
  • Related Work
  • Contributions
    • Data Structure
    • Adaptive streaming and rendering
    • 3D terrain rendering features
    • Planetary terrains
    • Preprocessing
  • Conclusion
preprocessing
Preprocessing
  • Huge input, huge output
    • Memory constraints for loading input files
    • Linear writing to output files preferred
  • First step: re-projection of a planetary map
    • Project specific points of output window to find input window
    • Recursive output map subdivision
    • Load input window when fits in memory and re-project samples

1 global input

cylindric map

1 of 6 output

gnomonic maps

preprocessing32
Preprocessing
  • Second step: generation of a server database
    • Direct input window computation
    • Top-down subdivision into complete tree of blocks
    • Load input for any sub-tree when fits in memory
    • Bottom-up construction of block LODs and linear file writing

Input map

Tree of blocks

results33
Results
  • Support for input and output maps of arbitrary size
    • Projection on a cube: -25% database size
    • LOD compression with Zlib: up to -75% database size

740 MB

2mn

Puget Sound

1.25 GB

14.9 GB

5h

9h

SRTM

174 GB

126 GB

6.8 GB

35mn

1h30

TrueMarble

41.7 GB

31 GB

slide34
Plan
  • Introduction
  • Related Work
  • Contributions
    • Data Structure
    • Adaptive streaming and rendering
    • 3D terrain rendering features
    • Planetary terrains
    • Preprocessing
  • Conclusion
conclusion
Conclusion
  • Generic adaptive solution
    • Sample maps with any size and type
    • Adapts to network and rendering speeds
    • Single data structure, generic methods
    • No redundant data, fast handling
  • Application to 3D terrain rendering
    • Optimizations for 3D graphics hardware
    • Most rendering artifacts avoided
    • Uniformly sampled planet surface
    • Improved rendering precision
  • Offline generation of huge databases
future work
Future work
  • Enhance current work
    • Validate the solution on handheld devices
    • Use GPU shaders for fast and flexible 3D conversion
    • Further improve precision with local coordinate systems
    • Find more specific factors for measure of importance
  • Add new features
    • Generation of procedural details
    • Fix for popping artifacts
    • Advanced LOD compression
    • Self-shadowing of the terrain
    • Alternate rendering system with projective grid
publications
Publications
  • Adaptive Streaming and Rendering of Large Terrains: A Generic Solution. Raphaël Lerbour, Jean-Eudes Marvie, Pascal Gautron. In WSCG 2009.
  • Adaptive Real-time Rendering of Planetary Terrains. Raphaël Lerbour, Jean-Eudes Marvie, Pascal Gautron. Accepted, to be presented at WSCG 2010.