170 likes | 301 Views
Adaptive Streaming and Rendering of Large Terrains: a Generic Solution. WSCG 2009 Raphaël Lerbour Jean-Eudes Marvie Pascal Gautron THOMSON R&D, Rennes, France. Objectives. Render large remote terrain datasets Applications: GPS, games, weather… 2D maps of samples: elevation (relief) and color
E N D
Adaptive Streaming and Rendering of Large Terrains: a Generic Solution WSCG 2009Raphaël LerbourJean-Eudes MarviePascal GautronTHOMSON R&D, Rennes, France
Objectives • Render large remote terrain datasets • Applications: GPS, games, weather… • 2D maps of samples: elevation (relief) and color • Gigabytes of data • On multiple target devices and networks • Desktop PCs, handhelds… • Cannot transmit or display the dataset as a whole • With good interactivity • Unpredicted user viewpoint moves • Rendering quality and speed requirements
Overview • Solutions • Network limitations: adaptive client-server streaming • Graphics hardware limitations: adaptive rendering • We propose • A generic system for adaptive streaming and rendering • Single data structure suited for both parts • Favor speed from one end to the other
Adaptive Streaming and Rendering ofLarge Terrains: a Generic Solution • Data Structure • Measure of importance • Adaptive streaming • Adaptive rendering
Data structure • Multi-resolution grid of square blocks of samples • Can be progressively loaded as a tree, starting with the root • Hierarchical block selection minimize amount of rendered blocks • Blocks have levels of detail (LOD) of increasing resolution • Adaptive LOD selection minimize amount of structure operations
Data structure • No data redundancy • LODs of a block share data (common sample array) • 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
Adaptive Streaming and Rendering ofLarge Terrains: a Generic Solution • Data Structure • Measure of importance • Adaptive streaming • Adaptive rendering
Measure of importance • The base for adaptivity in both streaming and rendering • Importance represents desired quality for a block • We select LODs using importance thresholds • Any formula may be used • Based on application • Typical variables: • Distance from viewpoint • Area • Roughness
Adaptive Streaming and Rendering ofLarge Terrains: a Generic Solution • Data Structure • Measure of importance • Adaptive streaming • Adaptive rendering
Adaptive streaming 0 s • Pre-computed server database for minimal activity • Only one file read per LOD request • File position for any LOD computed in constant time • Data are transmitted “as-is” • Conversion (ex: elevation 3D vertices) on the client • Less data transmitted (quantization) • Same server and data with any client type • We always transmit the most important data • Solution implicitly adapts to the network speed • Rendering quality constantly improves 10 s 40 s
Adaptive streaming Network Server Client Request • Potential LOD requests come with an importance value • Restricted number of pending requests • Potential request with highest importance is transmitted to server • Others need to update their importance for next time • At reception, another request can be transmitted Importance Requests management Adaptive streaming Adaptive rendering Reply (data) New LOD Complete database Partial database Rendering system
Adaptive Streaming and Rendering ofLarge Terrains: a Generic Solution • Data Structure • Measure of importance • Adaptive streaming • Adaptive rendering
Adaptive rendering 50 fps • Client database: incomplete tree of blocks • Dynamic and asynchronous update operations • Data on all leaves entire terrain can be rendered • User selects desired rendering speed • Adaptive “quality factor” in importance formula • Importance triggers update operations 100 fps 150 fps
LOD0 used Split Merge Children used LOD1 requested, LOD0 used LOD1 used Adaptive rendering • At each frame, we first: • Hierarchically cull invisible blocks • Compute importance to select a LOD for each block • Then we trigger update operations • Finally, we render visible leaves at selected LOD • With pre-computed masks to extract LOD samples LOD0 LOD1 LOD1 Importance
Application: 3D rendering • LOD masks as triangle strips • Applied directly in hardware, no additional data copy • Streamed data: elevation and color values • Bounded “flat” terrains: relative to a plane • Planets: relative to an ellipsoid • Rendered data: textured 3D polygonal models
Adaptive Streaming and Rendering ofLarge Terrains: a Generic Solution • Contributions • Single data structure, generic mechanisms • Any network and rendering speeds • Any terrain data and rendering routines • Low CPU overhead • Future work • Rendering optimizations • Validate the solution on handheld devices • Areas with different maximum resolution • Acknowledgements • Kadi Bouatouch, IRISA