270 likes | 480 Views
Smooth view-dependent LOD control and its application to terrain rendering. Hugues Hoppe Microsoft Research IEEE Visualization 1998. Terrain model. triangle mesh. texture image. Complex terrain model. Grand Canyon data 4,097 x 2,049 vertices ~16.7 million triangles.
E N D
Smooth view-dependent LOD control and its application to terrain rendering Hugues Hoppe Microsoft Research IEEE Visualization 1998
Terrain model triangle mesh texture image
Complex terrain model Grand Canyon data 4,097 x 2,049 vertices ~16.7 million triangles
Rendering bottlenecks • Rasterization: • depth complexity (~1-2 is OK) • typically not a problem • Geometric processing (transform, …): • mesh complexity (should be ~20,000 triangles) • bottleneck! e.g. 20,000 << 17,000,000
Locally adapt mesh complexity • Given viewpoint, find coarse meshthat satisfies a screen-space projected error e.g. maximum error is 3 pixels
coarser finer View-dependent LOD control actual view overhead view
Related LOD work • Regular subdivision • [Lindstrom-etal96] • [Duchaineau-etal97] … • Delaunay triangulations • [CohenOr-Levanoni96] • [Cignoni-etal97] … • Arbitrary triangulations • [Xia-Varshney96] • VDPM [Hoppe97] • [De Floriani-etal97] • satisfies error tolerance with coarser mesh • generalizes to arbitrary meshes in 3D
Video Progressive meshes [SIGGRAPH 96] View-dependent refinement ofprogressive meshes [SIGGRAPH 97]
vspl0 vspl1 vspl2 vspl3 vspl4 vspl5 M0 v1 v2 v3 v10 v10 v11 v4 v5 v5 v8 v9 Mn v12 v13 v6 v6 v7 v14 v15 View-dependent progressive mesh [Hoppe96] [Xia-Varshney96] [Hoppe97] M0 vspl0 vspl1 vspl2 vspl3 vspl4 vspl5 PM: M0 v1 v2 v3 vsplit
v3 v9 v10 v10 v11 v11 v4 v4 v8 v8 v8 v9 v9 dependency v12 v13 v6 v6 v7 v7 selectively refined mesh new mesh v14 v14 v15 v15 v15 Runtime algorithm M0 v1 v2 v3 v10 v11 v4 v5 v8 v9 v12 v12 v13 v6 v7 v14 v15
Contributions • Runtime geomorphs • Compact data structures • Specialize for terrains: • accurate error during simplification • scalability
Runtime geomorphs • Flythrough: temporal continuity (avoid “popping”) • When refining & coarsening, interpolate geometry over several frames
Video geomorphs no geomorphs <> geomorphs
Two cases • Forward motion: geomorph refinement, easy • Backward motion: geomorph coarsening, more difficult
geomorphrefinement instantaneousrefinement instantaneouscoarsening new view frustum Forward viewer motion prev. view frustum model viewedfrom above viewer motion path
v5 M0 v1 v2 v3 v6 v7 v7 v10 v11 v4 v5 v8 v9 v14 v15 v12 v13 v6 v7 v14 v15 Geomorph refinement
geomorphcoarsening instantaneouscoarsening instantaneousrefinement new view frustum Backward viewer motion prev. view frustum viewer motion path
Geomorph coarsening • gradually interpolate vertex to parent’s position • when complete, modify mesh connectivity • no nesting of coarsening steps performed one layer at a time (see paper for details)
0 2! (0) -2 2 1! 0 0 0 0 0 2 Accurate approximation error • Measuring error solely at grid points is insufficient: -2 2 0 0 edgecollapse elevationdata 0 2 surface can pop! measure surface-to-surface error
Computing exact error edgecollapse center vertex (no error) grid point interior to a face grid line interior to an edge (pre-processing computation not time-critical)
Scalability • Original mesh: 16.7 million triangles; easily larger. • Hierarchical approach: • decompose into blocks • yet, preserve spatial continuity
Hierarchical simplification (off-line pre-processing) apply bottom-up recursion ecolA ecolS ecolB simplify blocks& save ecol’s simplifytop-level stitch intolarger blocks partition pre-simplify preserve boundary vertices
Hierarchical block-based repr. basemesh pre-simplifiedterrain block refinements vsplitS vsplitA vsplitB 2.8% blockrefinements 0.1% maximumerror LOD level 0.04% 0.03% 0.0% spatial locality
Video hierarchical construction grand canyon teapot dragon
Results Original: 16.7 million triangles 12,000 triangles @ 30fps, avg. 1.7 pixel error 5,000 triangles @ 60fps, avg. 3.5 pixel error (SGI Octane, 195MHz R10K, MXI)
Summary • VDPM: irregular meshes • accuracy reduce geometry bottleneck • easy generalization to arbitrary surfaces • Temporal coherence: runtime geomorphs • Approximation error: surface-based • Scalability: block-based hierarchy
Future work • Generalize to arbitrary meshes: • Use simplification metric from “Appearance-preserving simplification”[Cohen-etal98] • Region-based hierarchy • Non-static geometry • Stochastic geometric detail