View-Dependent Refinement of Progressive Meshes Hugues Hoppe Microsoft Research SIGGRAPH 97 Rendering complex meshes 860,000 faces! V F.
Download ReportTranscript View-Dependent Refinement of Progressive Meshes Hugues Hoppe Microsoft Research SIGGRAPH 97 Rendering complex meshes 860,000 faces! V F.
View-Dependent Refinement of Progressive Meshes Hugues Hoppe Microsoft Research SIGGRAPH 97 Rendering complex meshes 860,000 faces! V F Traditional level-of-detail 2,000 faces 10,000 faces 50,000 faces pop[SIGGRAPH96] progressive pop mesh representation linear sequence view-independent LOD View-Independent LOD: Difficulties distant backfacing 100,000 faces outside view frustum S View-dependent LOD 29,400 faces different LOD’s coexist over surface Applications & Related work height fields [Cignoni etal 95] [De Floriani etal 96] [Lindstrom etal 96] … parametric surfaces arbitrary meshes [Rockwood etal 89] [Xia-Varshney 96] [Abi Ezzi etal 93] [Kumar etal 95] … S Contributions Progressive mesh vertex hierarchy selective refinement Dependencies consistent framework View-dependent refinement criteria Review of progressive meshes 150 152 M0 500 M1 13,546 … M175 … base mesh original mesh vertex split vl Mn vs vr vu vl edge collapse vr vt The PM representation 150 152 M0 500 M1 vspl0 13,546 Mn M175 … … vspl vspli i … … vspln-1n-1 vspl progressive mesh (PM) representation M0 Mi Mn Idea: Selective refinement M0 vspl0 vspl1 vspli-1 vspln-1 [SIGGRAPH 96]: incremental update not possible Parent-child vertex relations vs vsplit vt vu Vertex hierarchy PM: M0 vspl0 vspl1 vspl2 vspl3 vspl4 vspl5 v1 M0 v10 Mn v12 v2 v11 v4 v13 v5 v6 v14 [Xia & Varshney 96] v3 v8 v7 v15 v9 Selective refinement M0 vspl0 vspl2 v1 M0 v10 v12 vspl1 vspl3 vspl4 v2 v11 v4 v13 selectively refined mesh Restrictions? v3 v5 v6 v14 vspl5 v8 v7 v15 v9 Legality conditions? vsplit vl vs vu vt ecol vsplit legal if: – vs is active – vl and vr are active vr vl vr [SIGGRAPH96] ecol legal if: – ? problem: consistent? [Xia&Varshney96]: legal if identical neighborhood New vspl/ecol parametrizations vsplit fn1 fn0 vs fn3 fn2 fn0 vt fn2 ecol vsplit legal if: – vs is active – fn0,fn1,fn2,fn3 are active fn1 vu fn3 ecol legal if: – vt,vu are active – fn0,fn1,fn2,fn3 are adjacent Runtime algorithm v1 M0 v10 v12 v2 v11 v13 previous mesh Algorithm: v4 v3 v5 v6 v8 v9 v7 dependency v14 v15 new mesh 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 (1) View frustum view is unchanged too high too far right (2) Surface orientation view is unchanged oriented away (3) Screen-space geometric error tolerance=0.5 pixels refinement near silhouette coarser in distance 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 Application: Parametric surfaces M V F preprocess PM M0 1,800 32 Bezier patches 25,440 10,000 vspl M0 v1 load Mn v3 v4 v7 v8 v2 v5 v6 Geomorphs v1 A M v10 v14 v2 v11 v4 v15 v5 v6 MG MB v3 v8 v7 v12 v13 smooth visual transitions v9 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