270 likes | 499 Views
View-Dependent Refinement of Progressive Meshes. Hugues Hoppe Microsoft Research SIGGRAPH 97. V. F. Rendering complex meshes. 860,000 faces!. 50,000 faces. 10,000 faces. 2,000 faces. pop. pop. linear sequence. view-independent LOD. progressive mesh representation [SIGGRAPH96].
E N D
View-Dependent Refinementof Progressive Meshes Hugues Hoppe Microsoft Research SIGGRAPH 97
V F Rendering complex meshes 860,000 faces!
50,000 faces 10,000 faces 2,000 faces pop pop linear sequence view-independent LOD progressive mesh representation [SIGGRAPH96] Traditional level-of-detail
View-Independent LOD: Difficulties distant backfacing outsideview frustum 100,000 faces S
View-dependent LOD 29,400 faces different LOD’s coexistover surface
Applications & Related work heightfields parametricsurfaces arbitrarymeshes [Cignoni etal 95] [De Floriani etal 96] [Lindstrom etal 96] … [Rockwood etal 89] [Abi Ezzi etal 93] [Kumar etal 95] … [Xia-Varshney 96] S
Contributions • Progressive mesh vertex hierarchy selective refinement • Dependencies consistent framework • View-dependent refinement criteria
vertex split vu vl vl vr vr vs vt edge collapse Review of progressive meshes 150 152 500 13,546 M0 M1 … M175 … Mn base mesh original mesh
152 500 13,546 150 Mn M1 M175 Mn … vspli … vspl0 vspln-1 M0 M0 vspl0 … vspli … vspln-1 progressive mesh (PM) representation M0 Mn Mi The PM representation
Idea: Selective refinement vspl0 vspl1 vspli-1 vspln-1 M0 [SIGGRAPH 96]: incremental update not possible
Parent-child vertex relations vs vsplit vu vt
vspl0 vspl1 vspl2 vspl3 vspl4 vspl5 M0 v1 v2 v3 v10 v10 v11 v4 v5 v5 v8 v9 v12 v13 v6 v6 v7 Mn v14 v15 Vertex hierarchy M0 vspl0 vspl1 vspl2 vspl3 vspl4 vspl5 PM: M0 v1 v2 v3 [Xia & Varshney 96]
vspl0 vspl1 vspl2 vspl3 vspl4 vspl2 v1 v1 v2 v2 v3 v3 v3 v10 v10 v10 v11 v11 v4 v4 v5 v5 v5 v8 v8 v9 v9 v8 v9 v12 v12 v13 v13 v6 v6 v7 v7 selectively refined mesh v14 v15 Selective refinement M0 vspl0 vspl1 vspl2 vspl3 vspl4 vspl5 M0 v1 v2 v3 Restrictions?
[Xia&Varshney96]: legal if identical neighborhood Legality conditions? vsplit • vsplit legal if: • vs is active • vl and vr are active • ecol legal if: • ? problem: consistent? vu vr vl vr vl vs vt ecol [SIGGRAPH96]
vsplit legal if: • vs is active • fn0,fn1,fn2,fn3 are active • ecol legal if: • vt,vu are active • fn0,fn1,fn2,fn3 are adjacent New vspl/ecol parametrizations vsplit fn3 fn1 fn1 vu fn3 vs fn0 fn2 fn0 fn2 vt ecol
v3 v10 v11 v4 v8 v9 v9 v10 v10 v11 v11 v4 v4 v8 v8 v8 v9 v9 v7 dependency v12 v13 v6 v6 v7 v7 previous mesh v14 v15 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 • Algorithm: • incremental (frame coherence) • efficient (~15% of frame time) • amortizable
View-dependent refinement criteria 3 criteria: • view frustum • surface orientation • screen-space geometric error See paper for details. S
view is unchanged too high too far right (1) View frustum
view is unchanged oriented away (2) Surface orientation
tolerance=0.5 pixels refinement near silhouette coarser in distance (3) Screen-space geometric error
All three criteria together 69,473 faces 10,528 faces 1.9 frame/sec 6.7 frame/sec S
Fast rendering: triangle strips Greedy algorithm: • IRIS GL:avg. 10-15 faces/strip • OpenGL:avg. 4.2 faces/strip
PM M0 v1 v2 pre-process M Mn V F load v3 v4 v5 v6 M0 vspl v7 v8 1,800 25,440 10,000 Application: Parametric surfaces 32 Bezier patches
Geomorphs smooth visual transitions
VIDEO view frustum (2-window terrain) screen-space error (2-window terrain) silhouette refinement (sphere)all 3 criteria including orientation (teapot) arbitrary mesh (gameguy)geomorph flythrough of gcanyon
Summary • Selective refinement framework • View-dependent refinement criteria • Real-time algorithm (fast, amortizable) • Arbitrary progressive meshes geometrically optimized refinement!
Future work • Memory management for large models • Runtime generation of geomorphs • Refinement criteria for surface shading • Animated models