Feb 18, 2003 Multiresolution (ECS 289L) - Winter 2003 1
visualization and graphics research group
CIPIC
Progressive Meshes(SIGGRAPH ’96)
By Hugues Hoppe
Presented byYong Kil and Christopher Co
Feb 18, 2003 Multiresolution (ECS 289L) - Winter 2003 2
visualization and graphics research group
CIPIC
Previous Work
[Schroeder-etal92] [Schroeder-etal92] (decimation)(decimation)
[Turk92] [Turk92] (re-tiling)(re-tiling)
[Hoppe-etal93] [Hoppe-etal93] (mesh optimization)(mesh optimization)
[Rossignac-Borrel93] [Rossignac-Borrel93] (vertex clustering)(vertex clustering)
[Cohen-etal96] [Cohen-etal96] (simplification envelopes)(simplification envelopes)
... MRA (later)... MRA (later)
13,00013,000
1,0001,000 200200
?
Feb 18, 2003 Multiresolution (ECS 289L) - Winter 2003 3
visualization and graphics research group
CIPIC
Introduction• What is Progressive Mesh?
Arbitrary mesh M stored as coarser mesh M0 together with a sequence of n detail records that indicate how to incrementally refine M0 exactly back into the original mesh M = Mn.
150150
MM00 MM11
vsplvspl00
152152
MM175175
500500
… … vsplvsplii … …
13,54613,546
vsplvspln-1n-1
MMnn
progressive mesh (PM)progressive mesh (PM) representation representation
vsplvspl00 … … vsplvsplii … … vsplvspln-1n-1
MM00 MMnn
Feb 18, 2003 Multiresolution (ECS 289L) - Winter 2003 4
visualization and graphics research group
CIPIC
Edge Collapse and Vertex Split
ecol(vecol(vs s ,v,vt t , , vvss ))
vvll vvrr
vvtt
vvss
vvssvvll vvrr’’
’’
vspl(svspl(s ,l,l ,r,r ,t, A),t, A)
A = A = (( {v {vs s ,v,vt t }, {discrete values}, {scalar values} }, {discrete values}, {scalar values} ))
Discrete values: associated with Discrete values: associated with facesfaces. . I.e. material identifier such as texture map.I.e. material identifier such as texture map.
Scalar values: associated with Scalar values: associated with corners corners (vertex, face)(vertex, face). . E.g color, normal, texture coordinate.E.g color, normal, texture coordinate.
Feb 18, 2003 Multiresolution (ECS 289L) - Winter 2003 5
visualization and graphics research group
CIPIC
PM Construction
13,54613,546 500500 152152 150 faces150 faces
MM00MM11MM175175
ecolecol00ecolecoliiecolecoln-1n-1
MMnn
ecol(vecol(vs s ,v,vt t , , vvss ))
vvll vvrr
vvtt
vvss
vvssvvll vvrr’’
’’
vspl(vvspl(vs s ,v,vl l ,v,vr r , A), A)
Feb 18, 2003 Multiresolution (ECS 289L) - Winter 2003 6
visualization and graphics research group
CIPIC
Mesh Simplification• Which edge to collapse?• Minimize the Energy Function:
– E(M) = Edist(M) + Espring(M) + Escalar(M) + Edisc(M)
• For each potential edge collapse, calculate ∆E and add to priority queue.
• Pop edge from queue (with lowest ∆E) and collapse.• Update affected edges and every pop next edge.
(b) Sampled points X = {x1, x2, …, xn}(a) Object to be sampled
Sample Points X
Feb 18, 2003 Multiresolution (ECS 289L) - Winter 2003 7
visualization and graphics research group
CIPIC
Distance Energy
i
vi KxdME |))(|,()( 2distance
2
||
2 ||)(||min|))(|,( iviKb
vi bxKxdi
Surface of M
Feb 18, 2003 Multiresolution (ECS 289L) - Winter 2003 8
visualization and graphics research group
CIPIC
Spring Energy
Kkj
kj vvcME},{
2spring ||||)(
Feb 18, 2003 Multiresolution (ECS 289L) - Winter 2003 9
visualization and graphics research group
CIPIC
Distance and Spring• Where to collapse to have local minimum energy?
• Mesh Optimization (Hoppe ’93) creates non-linear equations and solves using iterative method.
• PM chooses 3 locations out of the infinite set: {0, 0.5, 1}
vvtt
vvss
vvss’’
vvss
??
’’
Feb 18, 2003 Multiresolution (ECS 289L) - Winter 2003 10
visualization and graphics research group
CIPIC
Scalar Energy
i
ivj bxcME 22scalarscalar ||)(||)()(
.attributesscalar
Feb 18, 2003 Multiresolution (ECS 289L) - Winter 2003 11
visualization and graphics research group
CIPIC
Discontinuity Energy
Sharp Edge (in yellow)1. Boundary edge2. Two adjacent faces have different discrete
attributes3. Adjacent corners have different scalar
attributes.
xi
Feb 18, 2003 Multiresolution (ECS 289L) - Winter 2003 12
visualization and graphics research group
CIPIC
Using PM – LOD
13,54613,546 500500 152152 150 faces150 faces
MM00MM11MM175175MMnn
Each intermediate representation of the meshcan be considered a LOD
Feb 18, 2003 Multiresolution (ECS 289L) - Winter 2003 13
visualization and graphics research group
CIPIC
Using PM – Transmission and Compression
• Transmission– Transmit M0, then transmit sequence of vsplit records
• Compression– Use connectivity coding and efficient use of bits
– Use delta-encoding to reduce storage of scalar attributes
– Coherence in mesh attributes can be exploited
Feb 18, 2003 Multiresolution (ECS 289L) - Winter 2003 14
visualization and graphics research group
CIPIC
Geomorph
• Alpha blend between different resolutions to avoid “snapping”
• Blending occurs between each pair of vertices related by edge collapses performed (ancestor map)
Feb 18, 2003 Multiresolution (ECS 289L) - Winter 2003 15
visualization and graphics research group
CIPIC
Selective Refinement
MM00 vsplvspl00 vsplvspl11 vsplvspli-1i-1 vsplvspln-1n-1
Feb 18, 2003 Multiresolution (ECS 289L) - Winter 2003 16
visualization and graphics research group
CIPIC
Selective Refinement
Perform vspl( si, li, ri, Ai ) if:
• (1) vertices {si,li,ri} exist
• (2) REFINE(si) is true
REFINE(si) is defined per application
Relax constraint
• (1’) vertex si and A’(li) and A’(ri) exist
• Perform vspl( si, A’(li), A’(ri), Ai )
A’() is an ancestor map similar to that used by geomorphin
Feb 18, 2003 Multiresolution (ECS 289L) - Winter 2003 17
visualization and graphics research group
CIPIC
Previous Work - MRA
• Multiresolution Analysis (MRA)
• Analysis produces base mesh with wavelet coefficients (B) using filter A
• Synthesis produces mesh of desired resolution using a refining filter and a perturbing filter
• Figure courtesy of Lounsbery, et al. (`94)
Feb 18, 2003 Multiresolution (ECS 289L) - Winter 2003 18
visualization and graphics research group
CIPIC
PM vs. MRA
• Advantages of MRA– encodes geometry & color independently– supports multiresolution editing– guarantees maximum error bound
• Advantages of PM– lossless– can be more accurate– captures discrete attributes– captures discontinuities (creases)
Feb 18, 2003 Multiresolution (ECS 289L) - Winter 2003 19
visualization and graphics research group
CIPIC
Results – PM vs. MRA
Feb 18, 2003 Multiresolution (ECS 289L) - Winter 2003 20
visualization and graphics research group
CIPIC
Results – Escalar
Feb 18, 2003 Multiresolution (ECS 289L) - Winter 2003 21
visualization and graphics research group
CIPIC
Results – Radiosity Solution
Feb 18, 2003 Multiresolution (ECS 289L) - Winter 2003 22
visualization and graphics research group
CIPIC
Conclusion
• Contribution: PM data structure
• Advantages– Solves a variety of problems (LOD, Progressive Transmission,
Selective Refinement, etc.)
– Deals with various mesh attributes aside from geometry
• Disadvantages– Mesh parameterization can be non-intuitive
– Energy function is complex
Feb 18, 2003 Multiresolution (ECS 289L) - Winter 2003 23
visualization and graphics research group
CIPIC
Sharing Mesh Attributes
wedgewedge
vertexvertex
faceface
cornercorner
Feb 18, 2003 Multiresolution (ECS 289L) - Winter 2003 24
visualization and graphics research group
CIPIC
Vertex Correspondence
MMnn MM00MMccMMff
vv11
vv22
vv33
vv44
vv55
vv66
vv77
vv88
vv11
vv22
vv33
MMf-1f-1
vv11
vv22
vv33
vv44
vv55
vv66
vv77
ecolecol
MMf-2f-2
vv11
vv22
vv33
vv44
vv55
vv66
ecolecol ecolecol
Feb 18, 2003 Multiresolution (ECS 289L) - Winter 2003 25
visualization and graphics research group
CIPIC
Select refine
b
aab
Feb 18, 2003 Multiresolution (ECS 289L) - Winter 2003 26
visualization and graphics research group
CIPIC
Misc• MRA vs PM?• Review of PM
– Selective refinement as primary contribution.
– What improvements have been made from this paper.• i.e. who refers to this paper?
Feb 18, 2003 Multiresolution (ECS 289L) - Winter 2003 27
visualization and graphics research group
CIPIC
Figures
Feb 18, 2003 Multiresolution (ECS 289L) - Winter 2003 28
visualization and graphics research group
CIPIC
vertexvertex
cornercorner
faceface
Feb 18, 2003 Multiresolution (ECS 289L) - Winter 2003 29
visualization and graphics research group
CIPIC
{f{f11} : { v} : { v11 , v, v22 , v , v33 } }
{f{f22} : { v} : { v33 , v , v22 , v , v44 } }
……
connectivityconnectivity
geometrygeometry{v{v11} : (x,y,z)} : (x,y,z)
{v{v22} : (x,y,z)} : (x,y,z)
……
face attributesface attributes{f{f11} : } : “skin material”“skin material”
{f{f22} : } : “brown hair”“brown hair”
……
Feb 18, 2003 Multiresolution (ECS 289L) - Winter 2003 30
visualization and graphics research group
CIPIC
{v{v22,f,f11} : (n} : (nxx,n,nyy,n,nzz) (u,v)) (u,v)
{v{v22,f,f22} : (n} : (nxx,n,nyy,n,nzz) (u,v)) (u,v)
……
corner attrib.corner attrib.
{f{f11} : { v} : { v11 , v, v22 , v , v33 } }
{f{f22} : { v} : { v33 , v , v22 , v , v44 } }
……
connectivityconnectivity
geometrygeometry{v{v11} : (x,y,z)} : (x,y,z)
{v{v22} : (x,y,z)} : (x,y,z)
……
face attributesface attributes{f{f11} : } : “skin material”“skin material”
{f{f22} : } : “brown hair”“brown hair”
……
Feb 18, 2003 Multiresolution (ECS 289L) - Winter 2003 31
visualization and graphics research group
CIPIC
PM benefit
PMPM
VVnn
MMnn
MM00
progressive transmissionprogressive transmission continuous-resolutioncontinuous-resolution smooth LODsmooth LOD geometry compressiongeometry compression
losslesslossless
single resolutionsingle resolution
vsplvsplFFnn
attributesattributes
Feb 18, 2003 Multiresolution (ECS 289L) - Winter 2003 32
visualization and graphics research group
CIPIC
ecol(vecol(vs s ,v,vt t , , vvss ))
vvll vvrr
vvtt
vvss
vvssvvll vvrr’’
’’
Feb 18, 2003 Multiresolution (ECS 289L) - Winter 2003 33
visualization and graphics research group
CIPIC
Vertex Split
vvssvvll vvrr
vspl(vvspl(vs s ,v,vl l ,v,vr r , , vvss ,,vvtt ,…),…)
vvll vvrr
vvtt
vvss
’’ ’’’’
’’
attributesattributes
Feb 18, 2003 Multiresolution (ECS 289L) - Winter 2003 34
visualization and graphics research group
CIPIC
Reconstruction
150150
MM00 MM11
vsplvspl00
152152
MM175175
500500
… … vsplvsplii … …
13,54613,546
vsplvspln-1n-1
MMnn
progressive mesh (PM)progressive mesh (PM) representation representation
vsplvspl00 … … vsplvsplii … … vsplvspln-1n-1
MM00 MMnn