progressive meshes hugues hoppe computer graphics group microsoft research siggraph 96 s

22
Progressive Meshes Progressive Meshes Hugues Hoppe Hugues Hoppe Computer Graphics Group Computer Graphics Group Microsoft Research Microsoft Research SIGGRAPH 96 SIGGRAPH 96 S

Upload: charles-maynard

Post on 26-Mar-2015

231 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Progressive Meshes Hugues Hoppe Computer Graphics Group Microsoft Research SIGGRAPH 96 S

Progressive MeshesProgressive Meshes

Hugues HoppeHugues HoppeComputer Graphics GroupComputer Graphics Group

Microsoft ResearchMicrosoft Research

SIGGRAPH 96SIGGRAPH 96

SS

Page 2: Progressive Meshes Hugues Hoppe Computer Graphics Group Microsoft Research SIGGRAPH 96 S

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

Page 3: Progressive Meshes Hugues Hoppe Computer Graphics Group Microsoft Research SIGGRAPH 96 S

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

Page 4: Progressive Meshes Hugues Hoppe Computer Graphics Group Microsoft Research SIGGRAPH 96 S

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……

Page 5: Progressive Meshes Hugues Hoppe Computer Graphics Group Microsoft Research SIGGRAPH 96 S

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

??

Page 6: Progressive Meshes Hugues Hoppe Computer Graphics Group Microsoft Research SIGGRAPH 96 S

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

Page 7: Progressive Meshes Hugues Hoppe Computer Graphics Group Microsoft Research SIGGRAPH 96 S

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

’’

Page 8: Progressive Meshes Hugues Hoppe Computer Graphics Group Microsoft Research SIGGRAPH 96 S

Simplification processSimplification process

13,54613,546 500500 152152 150150

MM00MM11MM175175

ecolecol00ecolecoliiecolecoln-1n-1

M=MM=Mnn^̂

Page 9: Progressive Meshes Hugues Hoppe Computer Graphics Group Microsoft Research SIGGRAPH 96 S

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

Page 10: Progressive Meshes Hugues Hoppe Computer Graphics Group Microsoft Research SIGGRAPH 96 S

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

Page 11: Progressive Meshes Hugues Hoppe Computer Graphics Group Microsoft Research SIGGRAPH 96 S

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

Page 12: Progressive Meshes Hugues Hoppe Computer Graphics Group Microsoft Research SIGGRAPH 96 S

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

Page 13: Progressive Meshes Hugues Hoppe Computer Graphics Group Microsoft Research SIGGRAPH 96 S

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

Page 14: Progressive Meshes Hugues Hoppe Computer Graphics Group Microsoft Research SIGGRAPH 96 S

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 ,…),…)’’ ’’

Page 15: Progressive Meshes Hugues Hoppe Computer Graphics Group Microsoft Research SIGGRAPH 96 S

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)

Page 16: Progressive Meshes Hugues Hoppe Computer Graphics Group Microsoft Research SIGGRAPH 96 S

Application: Selective refinementApplication: Selective refinement

MM00 vsplvspl00 vsplvspl11 vsplvspli-1i-1 vsplvspln-1n-1

(e.g. view frustum)(e.g. view frustum)

SS

Page 17: Progressive Meshes Hugues Hoppe Computer Graphics Group Microsoft Research SIGGRAPH 96 S

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

Page 18: Progressive Meshes Hugues Hoppe Computer Graphics Group Microsoft Research SIGGRAPH 96 S

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

Page 19: Progressive Meshes Hugues Hoppe Computer Graphics Group Microsoft Research SIGGRAPH 96 S

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

Page 20: Progressive Meshes Hugues Hoppe Computer Graphics Group Microsoft Research SIGGRAPH 96 S

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

Page 21: Progressive Meshes Hugues Hoppe Computer Graphics Group Microsoft Research SIGGRAPH 96 S

SummarySummary

PMPM

VV FF

MM̂̂

MM00

vsplvspl

continuous-resolutioncontinuous-resolution smooth LODsmooth LOD space-efficientspace-efficient progressiveprogressive

losslesslossless

single resolutionsingle resolution

SS VV

Page 22: Progressive Meshes Hugues Hoppe Computer Graphics Group Microsoft Research SIGGRAPH 96 S

DemoDemo

166 MHz Pentium166 MHz Pentium

3D Labs graphics card (~$250)3D Labs graphics card (~$250)

Windows 95 + DirectXWindows 95 + DirectX