Progressive MeshesProgressive Meshes
A Talk by Wallner and Wurzer for A Talk by Wallner and Wurzer for the overfull MathMeth auditoriumthe overfull MathMeth auditorium
2 / 27Wallner and Wurzer Vienna University of Technology
What it‘s all about...What it‘s all about...
3 / 27Wallner and Wurzer Vienna University of Technology
OverviewOverview
Advantages PM‘sAdvantages PM‘s Definition and Basics Definition and Basics GeoMorphsGeoMorphs Mesh CompressionMesh Compression Selective RefinementSelective Refinement ConstructionConstruction
4 / 27Wallner and Wurzer Vienna University of Technology
Let‘s start off...Let‘s start off...
5 / 27Wallner and Wurzer Vienna University of Technology
Advantages of PM‘sAdvantages of PM‘s
Mesh SimplificationMesh Simplification LOD ApproximationLOD Approximation Progressive TransmissionProgressive Transmission Mesh CompressionMesh Compression Selective RefinementSelective Refinement
6 / 27Wallner and Wurzer Vienna University of Technology
Definition and Basics (1)Definition and Basics (1)
A A cornercorner is a (vertex,face) tuple is a (vertex,face) tuple
We are speaking of a We are speaking of a sharp edgesharp edge if if it is a boundary adgeit is a boundary adge the adjacent faces have different discrete the adjacent faces have different discrete
values orvalues or adjacent corners have different scalar adjacent corners have different scalar
valuesvalues
7 / 27Wallner and Wurzer Vienna University of Technology
Definition and Basics (2)Definition and Basics (2) Traditional MeshTraditional Mesh
Progressive MeshProgressive Mesh
(M(M00,{Vsplit,{Vsplit00… Vsplit… Vsplitn-1n-1})})
KK VV
MM00
8 / 27Wallner and Wurzer Vienna University of Technology
Definition and Basics (3)Definition and Basics (3)
lossless !lossless !
vvll vvrr
vvtt
vvss
vvssvvll vvrr’’
vsplit
ecol
9 / 27Wallner and Wurzer Vienna University of Technology
Definitions and Basics (4)Definitions and Basics (4)
M ... Full-Detailed Mesh (all vertices)M ... Full-Detailed Mesh (all vertices)^̂
MM00 ... Minimal Detailed Version ... Minimal Detailed Version
13,54613,546 500500 152152 150150
MM00MM11MM175175
ecolecol00ecolecoliiecolecoln-1n-1
M=MM=Mnn^̂
10 / 27Wallner and Wurzer Vienna University of Technology
GeomorphGeomorph Smooth visual transition between two Smooth visual transition between two
meshes Mmeshes Mff, M, Mcc
vv11
vv22
vv33
vv44
vv55
vv66
vv77
vv88
MMff
vv11
vv22
vv33
MMcc
VV FF
MMffcc
VV
PM with geomorph
11 / 27Wallner and Wurzer Vienna University of Technology
Geomorph (2)Geomorph (2)
12 / 27Wallner and Wurzer Vienna University of Technology
Mesh CompressionMesh Compression
vvssvvll vvrr
vvll vvrr
vvtt’’
vvss’’
Record deltas:Record deltas: vvtt - v - vss vvs s - v- vss ……
’’’’
vspl(vvspl(vs s ,v,vl l ,v,vr r ,,
vvss ,,vvtt ,…),…)’’ ’’
13 / 27Wallner and Wurzer Vienna University of Technology
Selective RefinementSelective Refinement
MM00 vsplvspl00 vsplvspl11 vsplvspli-1i-1 vsplvspln-1n-1
14 / 27Wallner and Wurzer Vienna University of Technology
Selective Refinement (2)Selective Refinement (2) RulesRules for the vertex splits: for the vertex splits:
All involved vertices are All involved vertices are present present
doRefine(v) == TRUE doRefine(v) == TRUE neighbours neighbours should be further refinedshould be further refined
vertex is vertex is absentabsent a previous vertex split a previous vertex split was not executed, based on the two was not executed, based on the two upper rulesupper rules
15 / 27Wallner and Wurzer Vienna University of Technology
Selective Refinement (3)Selective Refinement (3)
View Frustum
...which makes this vertex „not present“
Split not performed...
...because this split wasnot performed...
16 / 27Wallner and Wurzer Vienna University of Technology
Selective Refinement (4)Selective Refinement (4)
View Frustum
if this would be present
17 / 27Wallner and Wurzer Vienna University of Technology
ConstructionConstructionTask: Task:
Construct MConstruct Mn-1n-1, M, Mn-2n-2, ... M, ... M00
Naive Algorithm:Naive Algorithm:
{{
select random edge to collapse until resolution select random edge to collapse until resolution MM00 faces faces
}}
18 / 27Wallner and Wurzer Vienna University of Technology
Construction (2)Construction (2) Problems of naive algorithm:Problems of naive algorithm:
1.1. Geometry is not preservedGeometry is not preserved
2.2. Color, Normals etc. are not preservedColor, Normals etc. are not preserved
3.3. Discontinuities are not preservedDiscontinuities are not preserved
19 / 27Wallner and Wurzer Vienna University of Technology
Construction (3)Construction (3) Better algorithm:Better algorithm:
(Re-)Sample object (Re-)Sample object Simplify ObjectSimplify Object Use energy function to measure Use energy function to measure
accuracy accuracy Extend to preserve...Extend to preserve...
surface geometrysurface geometry color and normals color and normals discontinuitiesdiscontinuities
20 / 27Wallner and Wurzer Vienna University of Technology
Energy FunctionEnergy Function
E(V)= EE(V)= Edistdist(V) + E(V) + Espringspring(V) + E(V) + Escalarscalar(V)+E(V)+Ediscdisc(V)(V)
E negative E negative perform split perform split
(= less energy used for simplified mesh)(= less energy used for simplified mesh) furtherexplanations
21 / 27Wallner and Wurzer Vienna University of Technology
With better algorithm...With better algorithm...
22 / 27Wallner and Wurzer Vienna University of Technology
SummarySummary
PM have many advantages:PM have many advantages: losslesslossless captures discrete attributescaptures discrete attributes captures discontinuitiescaptures discontinuities
continuous-resolutioncontinuous-resolution smooth LODsmooth LOD space-efficientspace-efficient progressiveprogressive
23 / 27Wallner and Wurzer Vienna University of Technology
Links (1)Links (1)
Progressive MeshesProgressive Meshes
[ Hoppe ][ Hoppe ]http://research.microsoft.com/~hoppe/http://research.microsoft.com/~hoppe/
((all images in this talk except those explicitly labeled all images in this talk except those explicitly labeled courtesy of H. Hoppe)courtesy of H. Hoppe)
24 / 27Wallner and Wurzer Vienna University of Technology
Links (2)Links (2) quadric error metric scheme quadric error metric scheme
[ Garland and Heckbert ][ Garland and Heckbert ]http://graphics.cs.uiuc.edu/~garland/papers.htmlhttp://graphics.cs.uiuc.edu/~garland/papers.html
memoryless schemememoryless scheme
[ Lindstrom and Turk ][ Lindstrom and Turk ]http://www.cs.gatech.edu/gvu/people/Phd/Peter.Lindstrom.htmlhttp://www.cs.gatech.edu/gvu/people/Phd/Peter.Lindstrom.html
Thank you for your attention !Thank you for your attention !
Progressive MeshesProgressive MeshesWallner and WurzerWallner and Wurzer
26 / 27Wallner and Wurzer Vienna University of Technology
Discussion NoteDiscussion Note Problem of this approach:Problem of this approach:
pictures courtesy of Markus Gross
27 / 27Wallner and Wurzer Vienna University of Technology
Discussion NoteDiscussion Note Better Approach:Better Approach:
pic
ture
court
esy
of
Mark
us
Gro
ss