View-Dependent Refinement of Progressive Meshes Hugues Hoppe Microsoft Research SIGGRAPH 97 Rendering complex meshes 860,000 faces! V F.

Download Report

Transcript 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