Smooth view-dependent LOD control and its application to terrain rendering Hugues Hoppe Microsoft...
-
date post
15-Jan-2016 -
Category
Documents
-
view
224 -
download
0
Transcript of Smooth view-dependent LOD control and its application to terrain rendering Hugues Hoppe Microsoft...
Smooth view-dependent LOD control Smooth view-dependent LOD control and its application to terrain renderingand its application to terrain rendering
Hugues HoppeHugues HoppeMicrosoft ResearchMicrosoft Research
IEEE Visualization 1998IEEE Visualization 1998
Terrain modelTerrain model
triangle meshtriangle mesh texture imagetexture image
Complex terrain modelComplex terrain model
Grand Canyon dataGrand Canyon data
4,097 x 2,049 vertices4,097 x 2,049 vertices
~16.7 million triangles~16.7 million triangles
Rendering bottlenecksRendering bottlenecks
Rasterization:Rasterization: depth complexitydepth complexity
(~1-2 is OK) (~1-2 is OK) typically not a problemtypically not a problem
Geometric processing (transform, …):Geometric processing (transform, …): mesh complexitymesh complexity
(should be ~20,000 triangles) (should be ~20,000 triangles) bottleneck! bottleneck! e.g. 20,000 << 17,000,000e.g. 20,000 << 17,000,000
Locally adapt mesh complexityLocally adapt mesh complexity
Given viewpoint, find coarse meshGiven viewpoint, find coarse meshthat satisfies a that satisfies a screen-spacescreen-space projected error projected error
e.g. maximum error is 3 pixelse.g. maximum error is 3 pixels
View-dependent LOD controlView-dependent LOD control
actual viewactual view overhead viewoverhead view
finerfiner
coarsercoarser
Related LOD workRelated LOD work
Regular subdivisionRegular subdivision– [Lindstrom-etal96][Lindstrom-etal96]– [Duchaineau-etal97][Duchaineau-etal97] … …
Delaunay triangulationsDelaunay triangulations– [CohenOr-Levanoni96][CohenOr-Levanoni96]– [Cignoni-etal97][Cignoni-etal97] … …
Arbitrary triangulationsArbitrary triangulations– [Xia-Varshney96][Xia-Varshney96]– VDPMVDPM [Hoppe97] [Hoppe97]– [De Floriani-etal97][De Floriani-etal97]
• satisfies error tolerancesatisfies error tolerance with coarser mesh with coarser mesh
• generalizes togeneralizes to arbitrary meshes in 3D arbitrary meshes in 3D
VideoVideo
Progressive meshesProgressive meshes
View-dependent refinement ofView-dependent refinement ofprogressive meshesprogressive meshes
[SIGGRAPH 97][SIGGRAPH 97]
[SIGGRAPH 96][SIGGRAPH 96]
View-dependent progressive meshView-dependent progressive mesh
[Xia-Varshney96][Xia-Varshney96]
vsplitvsplit
vv22
vsplvspl00MM00 vsplvspl11 vsplvspl22 vsplvspl33 vsplvspl44 vsplvspl55
vv11 vv33MM00
vv1010 vv1111
vsplvspl33
vv11 vv22
vv44 vv55
vsplvspl00
vv88 vv99
vsplvspl22
vv33
vv66 vv77
vsplvspl11
vv55
vv1212 vv1313
vsplvspl44
vv1010
vsplvspl55
vv1414 vv1515
vv66
PM:PM:
MMnn
MM00
[Hoppe97][Hoppe97]
[Hoppe96][Hoppe96]
Runtime algorithmRuntime algorithm
selectively selectively refined meshrefined mesh
vv55vv1010 vv1111 vv44 vv88 vv99
vv77vv1212 vv1313
vv11 vv22 vv33MM00
vv66
vv1414 vv1515
vv1212 vv1313vv1212
vv1010 vv1111vv1010 vv1111 vv44vv44
vv66
vv1414 vv1515
vv66
vv1414 vv1515
vv88 vv99
vv33
vv1515
vv77vv77
vv88vv88 vv99vv99
new meshnew mesh
dependencydependency
ContributionsContributions
Runtime geomorphsRuntime geomorphs
Compact data structuresCompact data structures
Specialize for terrains:Specialize for terrains: accurate error during simplificationaccurate error during simplification scalabilityscalability
Runtime geomorphsRuntime geomorphs
Flythrough: temporal continuityFlythrough: temporal continuity (avoid “popping”) (avoid “popping”)
When refining & coarsening,When refining & coarsening, interpolate geometry over several frames interpolate geometry over several frames
VideoVideo
geomorphsgeomorphsno geomorphs <> geomorphsno geomorphs <> geomorphs
Two casesTwo cases
Forward motion: geomorph refinement,Forward motion: geomorph refinement, easy easy
Backward motion: geomorph coarsening,Backward motion: geomorph coarsening, more difficult more difficult
Forward viewer motionForward viewer motion
model viewedfrom above viewer motion path
prev. view frustumnew view frustum
geomorphrefinement instantaneous
coarseninginstantaneous
refinement
Geomorph refinementGeomorph refinement
vv77vv66
vv55vv1010 vv1111 vv44 vv88 vv99
vv1212 vv1313
vv11 vv22 vv33MM00
vv1414 vv1515
vv77vv66
vv55
vv1515vv1414
vv77
Backward viewer motionBackward viewer motion
viewer motion path
prev. view frustumnew view frustum
geomorphcoarsening instantaneous
refinementinstantaneous
coarsening
Geomorph coarseningGeomorph coarsening
gradually interpolate vertex to parent’s positiongradually interpolate vertex to parent’s position when complete, modify mesh connectivitywhen complete, modify mesh connectivity
no nesting of coarsening stepsno nesting of coarsening steps performed one layer at a time performed one layer at a time
(see paper for details)(see paper for details)
Accurate approximation errorAccurate approximation error
Measuring error solely at grid pointsMeasuring error solely at grid points is insufficient: is insufficient:
edgecollapse
2-2
2
0
0
0 0
2-2
2
0
0
0elevation
data
surface can pop!surface can pop! measure surface-to-surface error measure surface-to-surface error
(0)1!
2!
0
0
Computing exact errorComputing exact error
edgecollapse
grid line interior to an edgegrid point interior to a facecenter vertex (no error)
(pre-processing computation (pre-processing computation not time-critical) not time-critical)
ScalabilityScalability
Original mesh:Original mesh: 16.7 million triangles; easily larger. 16.7 million triangles; easily larger.
Hierarchical approach:Hierarchical approach: decompose into blocksdecompose into blocks yet, preserve spatial continuityyet, preserve spatial continuity
Hierarchical simplificationHierarchical simplification
partition pre-simplifysimplify blocks& save ecol’s
stitch intolarger blocks
simplifytop-level
ecolA
ecolB
ecolS
apply bottom-up recursion
preserve boundary verticespreserve boundary vertices
(off-line pre-processing)(off-line pre-processing)
Hierarchical block-based repr.Hierarchical block-based repr.
basemesh
pre-simplifiedterrain
vsplitS vsplitA vsplitB
block refinements
2.8%
0.1%
0.04%
0.03%
0.0%
maximumerror
blockrefinements
LOD
leve
l
LOD
leve
l
spatial localityspatial locality
VideoVideo
hierarchical constructionhierarchical constructiongrand canyongrand canyon
teapotteapotdragondragon
ResultsResults
Original: 16.7 million trianglesOriginal: 16.7 million triangles
12,000 triangles @ 30fps, avg. 1.7 pixel error12,000 triangles @ 30fps, avg. 1.7 pixel error 5,000 triangles @ 60fps, avg. 3.5 pixel error5,000 triangles @ 60fps, avg. 3.5 pixel error
(SGI Octane, 195MHz R10K, MXI)(SGI Octane, 195MHz R10K, MXI)
SummarySummary
VDPM: irregular meshesVDPM: irregular meshes accuracy accuracy reduce geometry bottleneck reduce geometry bottleneck
easy generalization to arbitrary surfaceseasy generalization to arbitrary surfaces
Temporal coherence: runtime geomorphsTemporal coherence: runtime geomorphs
Approximation error: surface-basedApproximation error: surface-based
Scalability: block-based hierarchyScalability: block-based hierarchy
Future workFuture work
Generalize to arbitrary meshes:Generalize to arbitrary meshes: Use simplification metric from Use simplification metric from
“Appearance-preserving simplification”“Appearance-preserving simplification” [Cohen-etal98][Cohen-etal98]
Region-based hierarchyRegion-based hierarchy
Non-static geometryNon-static geometry
Stochastic geometric detailStochastic geometric detail