Progressive Meshes Progressive Meshes Hugues Hoppe Hugues Hoppe Computer Graphics Group Computer Graphics Group Microsoft Research Microsoft Research SIGGRAPH 96 SIGGRAPH 96 S
Mar 26, 2015
Progressive MeshesProgressive Meshes
Hugues HoppeHugues HoppeComputer Graphics GroupComputer Graphics Group
Microsoft ResearchMicrosoft Research
SIGGRAPH 96SIGGRAPH 96
SS
Complex meshesComplex meshes
43,000 faces43,000 faces43,000 faces43,000 faces lots of faces!lots of faces!lots of faces!lots of faces!
Challenges:Challenges:- rendering- rendering- storage- storage- transmission- transmission
ContributionsContributions
New mesh simplification procedureNew mesh simplification procedure preserve preserve appearanceappearance (colors, normals, …) (colors, normals, …)
New representation: New representation: progressive meshprogressive mesh losslesslossless continuous-resolutioncontinuous-resolution efficientefficient progressiveprogressive
Traditional mesh representationTraditional mesh representation
VV FF
(appearance attributes:(appearance attributes: normals, colors, textures, ...normals, colors, textures, ...))
mesh mesh MM
Vertex 1 xVertex 1 x11 y y11 z z11
Vertex 2 xVertex 2 x22 y y22 z z22
……
Face Face 11 2 3 2 3Face 3 2 4Face 3 2 4Face 4 2 7Face 4 2 7……
PreviousPreviousWorkWork Mesh simplificationMesh simplification
13,00013,000[Schroeder-etal92][Schroeder-etal92][Turk92][Turk92][Hoppe-etal93][Hoppe-etal93][Rossignac-Borrel93][Rossignac-Borrel93][Cohen-etal96][Cohen-etal96]......
1,0001,000 200200
??
PreviousPreviousWorkWork Level-of-detail (LOD)Level-of-detail (LOD)
[Clark76][Clark76][Funkhouser93][Funkhouser93]distancedistance
from viewer?from viewer?distancedistance
from viewer?from viewer?
closeclose farfar
10,00010,000 2,0002,000 1,0001,000 500500 250250
Concern: transitions may “pop”Concern: transitions may “pop”
would like smooth LOD would like smooth LOD
New mesh simplification procedureNew mesh simplification procedure
Idea: apply sequence of edge collapses:Idea: apply sequence of edge collapses:
ecol(vecol(vs s ,v,vt t , , vvss ))
vvll vvrr
vvtt
vvss
vvssvvll vvrr
(optimization)(optimization)
’’
SS
’’
Simplification processSimplification process
13,54613,546 500500 152152 150150
MM00MM11MM175175
ecolecol00ecolecoliiecolecoln-1n-1
M=MM=Mnn^̂
Invertible!Invertible!
Vertex split transformation:Vertex split transformation:
vvssvvll vvrr
vspl(vvspl(vs s ,v,vl l ,v,vr r , , vvss ,,vvtt ,…),…)
vvll vvrr
vvtt
vvss
SS
’’ ’’’’
’’
attributesattributes
Reconstruction processReconstruction process
150150
MM00 MM11
vsplvspl00
152152
MM175175
500500
… … vsplvsplii … …
13,54613,546
vsplvspln-1n-1
MMnn=M=M̂̂
progressive mesh (PM)progressive mesh (PM) representation representation
vsplvspl00 … … vsplvsplii … … vsplvspln-1n-1
MM00 MMnn=M=M̂̂
SS VV
Application: Continuous-resolution LODApplication: Continuous-resolution LOD
From PM, extract From PM, extract MMii of any desired complexity. of any desired complexity.
MM00 vsplvspl00 vsplvspl11 vsplvspli-1i-1 vsplvspln-1n-1
MMii
3,478 faces?3,478 faces?3,4783,478
MM00 MMnn=M=M̂̂MMii
100K100K faces/sec! faces/sec!200K200K faces/sec! faces/sec!(166 MHz Pentium)(166 MHz Pentium)
VV
Property: Vertex correspondenceProperty: 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
Application: Smooth transitionsApplication: Smooth transitions
Correspondence is a surjection:Correspondence is a surjection:
vv11
vv22
vv33
vv44
vv55
vv66
vv77
vv88
MMff
vv11
vv22
vv33
MMcc
can form a smoothcan form a smooth visual transition: visual transition: geomorphgeomorph
VV FF
MMffcc
VV
VV
Space overhead of PM ?!Space overhead of PM ?!Application: Mesh compressionApplication: Mesh compression
vvssvvll vvrr
vvll vvrr
vvtt’’
vvss’’
Record deltas:Record deltas: vvtt - v - vss vvs s - v- vss ……
’’’’
Encoding of Encoding of vsplvspl records: records: connectivity: ~ good triangle stripsconnectivity: ~ good triangle strips attributes: excellent delta-encodingattributes: excellent delta-encoding
[Deering95][Deering95]
vspl(vvspl(vs s ,v,vl l ,v,vr r ,,
vvss ,,vvtt ,…),…)’’ ’’
Application: Progressive transmissionApplication: Progressive transmission
Transmit records progressively:Transmit records progressively:
MM00 vsplvspl00 vsplvspl11
ReceiverReceiver displays: displays:
timetime
MM0 0
vsplvspli-1i-1
MMii
vsplvspln-1n-1
MM̂̂(~ progressive JPEG)(~ progressive JPEG)
Application: Selective refinementApplication: Selective refinement
MM00 vsplvspl00 vsplvspl11 vsplvspli-1i-1 vsplvspln-1n-1
(e.g. view frustum)(e.g. view frustum)
SS
How to select edge collapses?How to select edge collapses?
Preserve Preserve appearanceappearance:: geometric shapegeometric shape scalar fieldsscalar fields (e.g. color) (e.g. color)
discontinuity curvesdiscontinuity curves
E e e dA e dLshape scalars disc ( ) ( )face areas disc. edges
pointspoints pointspoints
SS
Selecting edge collapsesSelecting edge collapses
Greedy algorithm: always collapse edge Greedy algorithm: always collapse edge resulting in smallest resulting in smallest EE
Simplification rates: ~ 30 faces/secSimplification rates: ~ 30 faces/sec off-line processoff-line process could use simpler heuristicscould use simpler heuristics
PreviousPreviousWorkWork Multiresolution analysisMultiresolution analysis (MRA) (MRA)
[Lounsbery-etal93] [Eck-etal95] [Certain-etal96][Lounsbery-etal93] [Eck-etal95] [Certain-etal96]
base meshbase meshbase meshbase mesh
wavelet coefficients (detail)wavelet coefficients (detail)wavelet coefficients (detail)wavelet coefficients (detail)
SS
Comparison with MRAComparison with MRA
Advantages of MRAAdvantages of MRA encodes geometry & color independentlyencodes geometry & color independently supports multiresolution editingsupports multiresolution editing
Advantages of PMAdvantages of PM losslesslossless more accuratemore accurate captures discrete attributescaptures discrete attributes captures discontinuitiescaptures discontinuities
SummarySummary
PMPM
VV FF
MM̂̂
MM00
vsplvspl
continuous-resolutioncontinuous-resolution smooth LODsmooth LOD space-efficientspace-efficient progressiveprogressive
losslesslossless
single resolutionsingle resolution
SS VV
DemoDemo
166 MHz Pentium166 MHz Pentium
3D Labs graphics card (~$250)3D Labs graphics card (~$250)
Windows 95 + DirectXWindows 95 + DirectX