Adaptive Streaming and Rendering of Large Terrains a

  • Slides: 17
Download presentation
Adaptive Streaming and Rendering of Large Terrains: a Generic Solution WSCG 2009 Raphaël Lerbour

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 l Render large remote terrain datasets – Applications: GPS, games, weather… – 2

Objectives l Render large remote terrain datasets – Applications: GPS, games, weather… – 2 D maps of samples: elevation (relief) and color – Gigabytes of data l On multiple target devices and networks – Desktop PCs, handhelds… – Cannot transmit or display the dataset as a whole l With good interactivity – Unpredicted user viewpoint moves – Rendering quality and speed requirements 2

Overview l Solutions – Network limitations: adaptive client-server streaming – Graphics hardware limitations: adaptive

Overview l Solutions – Network limitations: adaptive client-server streaming – Graphics hardware limitations: adaptive rendering l 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 3

Adaptive Streaming and Rendering of Large Terrains: a Generic Solution l Data Structure l

Adaptive Streaming and Rendering of Large Terrains: a Generic Solution l Data Structure l Measure of importance l Adaptive streaming l Adaptive rendering 4

Data structure l Multi-resolution grid of square blocks of samples – Can be progressively

Data structure l 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 l Blocks have levels of detail (LOD) of increasing resolution – Adaptive LOD selection minimize amount of structure operations 5

Data structure l No data redundancy – LODs of a block share data (common

Data structure l No data redundancy – LODs of a block share data (common sample array) – Parent and children share one LOD (local copy when split/merge) l 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 6

Adaptive Streaming and Rendering of Large Terrains: a Generic Solution l Data Structure l

Adaptive Streaming and Rendering of Large Terrains: a Generic Solution l Data Structure l Measure of importance l Adaptive streaming l Adaptive rendering 7

Measure of importance l The base for adaptivity in both streaming and rendering –

Measure of importance l The base for adaptivity in both streaming and rendering – Importance represents desired quality for a block – We select LODs using importance thresholds l Any formula may be used – Based on application – Typical variables: l Distance from viewpoint l Area l Roughness 8

Adaptive Streaming and Rendering of Large Terrains: a Generic Solution l Data Structure l

Adaptive Streaming and Rendering of Large Terrains: a Generic Solution l Data Structure l Measure of importance l Adaptive streaming l Adaptive rendering 9

Adaptive streaming 0 s l Pre-computed server database for minimal activity – Only one

Adaptive streaming 0 s l Pre-computed server database for minimal activity – Only one file read per LOD request – File position for any LOD computed in constant time 10 s l Data are transmitted “as-is” – Conversion (ex: elevation 3 D vertices) on the client – Less data transmitted (quantization) – Same server and data with any client type 40 s l We always transmit the most important data – Solution implicitly adapts to the network speed – Rendering quality constantly improves 10

Adaptive streaming Server Requests management Network Client Request Reply (data) Adaptive streaming Importance Adaptive

Adaptive streaming Server Requests management Network Client Request Reply (data) Adaptive streaming Importance Adaptive rendering New LOD Complete database Partial database Rendering system Potential LOD requests come with an importance value l Restricted number of pending requests l – 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 11

Adaptive Streaming and Rendering of Large Terrains: a Generic Solution l Data Structure l

Adaptive Streaming and Rendering of Large Terrains: a Generic Solution l Data Structure l Measure of importance l Adaptive streaming l Adaptive rendering 12

Adaptive rendering 50 fps l Client database: incomplete tree of blocks – Dynamic and

Adaptive rendering 50 fps l Client database: incomplete tree of blocks – Dynamic and asynchronous update operations – Data on all leaves entire terrain can be rendered 100 fps 150 fps l User selects desired rendering speed – Adaptive “quality factor” in importance formula – Importance triggers update operations 13

Adaptive rendering l At each frame, we first: – Hierarchically cull invisible blocks –

Adaptive rendering l At each frame, we first: – Hierarchically cull invisible blocks – Compute importance to select a LOD for each block l Then we trigger update operations LOD 0 LOD 1 Importance LOD 0 LOD 1 used requested, used Splitused Merge. LOD 1 Children LOD 0 used l Finally, we render visible leaves at selected LOD – With pre-computed masks to extract LOD samples 14

Application: 3 D rendering l LOD masks as triangle strips – Applied directly in

Application: 3 D rendering l LOD masks as triangle strips – Applied directly in hardware, no additional data copy l Streamed data: elevation and color values – Bounded “flat” terrains: relative to a plane – Planets: relative to an ellipsoid l 15 Rendered data: textured 3 D polygonal models

Video 16

Video 16

Adaptive Streaming and Rendering of Large Terrains: a Generic Solution l Contributions – –

Adaptive Streaming and Rendering of Large Terrains: a Generic Solution l Contributions – – l 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 l Acknowledgements – Kadi Bouatouch, IRISA 17