Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98...

47
Compression opportunities Compression opportunities using progressive meshes using progressive meshes Hugues Hoppe Hugues Hoppe Microsoft Research Microsoft Research SIGGRAPH 98 course: “3D SIGGRAPH 98 course: “3D Geometry Geometry compression” compression”
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    216
  • download

    0

Transcript of Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98...

Page 1: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

Compression opportunities using Compression opportunities using progressive meshesprogressive meshes

Hugues HoppeHugues HoppeMicrosoft ResearchMicrosoft Research

SIGGRAPH 98 course: “3D SIGGRAPH 98 course: “3D Geometry compression”Geometry compression”

Page 2: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

Triangle MeshesTriangle Meshes

{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”

……

Page 3: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

Triangle MeshesTriangle Meshes

{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”

……

Page 4: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

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

geometrygeometrycompressioncompression

Page 5: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

Talk outlineTalk outline

Progressive meshProgressive mesh (PM) representation (PM) representation

Analysis of PM compressionAnalysis of PM compression

Improved PM compressionImproved PM compression

Progressive simplicial complexProgressive simplicial complex (PSC) repr. (PSC) repr.

Page 6: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

Progressive mesh representationProgressive mesh representation

Basic idea:Basic idea:

Simplify arbitrary mesh through sequence Simplify arbitrary mesh through sequence of transformations.of transformations.

Record:Record:

simplified meshsimplified mesh++

sequence of inverse transformationssequence of inverse transformations

Page 7: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

Simplification: Edge collapseSimplification: Edge collapse

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

(optimization)(optimization)

’’

’’

Page 8: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

Invertible! Vertex split transformationInvertible! Vertex split transformation

vvssvvll vvrr

vspl(vvspl(vs s ,v,vl l ,v,vr r , , vvss ,,vvtt ,…),…)

vvll vvrr

vvtt

vvss

’’ ’’’’

’’

attributesattributes

Page 9: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

150150

MM00 MM11

vsplvspl00

152152

Reconstruction processReconstruction process

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

Page 10: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

PM benefitsPM benefits

PMPM

VVnn

MMnn

MM00

progressive transmissionprogressive transmission continuous-resolutioncontinuous-resolution smooth LODsmooth LOD geometry compressiongeometry compression

losslesslossless

single resolutionsingle resolution

vsplvsplFFnn

attributesattributes

Page 11: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

Application: Progressive transmissionApplication: Progressive transmission

Transmit records progressively:Transmit records progressively:

MM00

ReceiverReceiver displays: displays:

timetime

MM0 0

vsplvspl00 vsplvspl11 vsplvspli-1i-1

MMii

(~ progressive GIF & JPEG)(~ progressive GIF & JPEG) MMnn

vsplvspln-1n-1

Page 12: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

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 MMnnMMii

~400K~400K faces/sec! faces/sec!~400K~400K faces/sec! faces/sec!(200 MHz Pentium Pro)(200 MHz Pentium Pro)

Page 13: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

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 14: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

Application: Smooth transitionsApplication: Smooth transitions

MMnn MM00MMccMMff

vv11

vv22

vv33

vv44

vv55

vv66

vv77

vv88

vv11

vv22

vv33

can form a smoothcan form a smooth visual transition: visual transition: geomorphgeomorph

VV FF

MMffcc

VV

Page 15: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

BUT, geometry compression?BUT, geometry compression?

MM00 vsplvspl00 vsplvspl11 vsplvspli-1i-1

MMnn

vsplvspln-1n-1

MM00 is typically small is typically small

key is encoding of key is encoding of vsplvsplii

Page 16: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

vvssvvll vvrr

vvll vvrr

vvtt’’

vvss’’

Record:Record:

Analysis:Analysis:

vsplvspli i (v(vs s ,v,vl l ,v,vr r ,,vvs s ,,vvt t ,…),…)’’ ’’

Vertex split encodingVertex split encoding

connectivity:connectivity: n(logn(log22n+4)n+4) bits bits vs.vs. n(6logn(6log22n) n)

bitsbits

vvss (log(log22i i

bits)bits) vvll && v vrr (~5 (~5

bits)bits))1(loglog 2

12

nnin

i

Page 17: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

vvssvvll vvrr

vvll vvrr

vvtt’’

vvss’’

vsplvspli i (v(vs s ,v,vl l ,v,vr r ,,vvs s ,,vvt t ,…),…)’’ ’’

Vertex split encodingVertex split encoding

connectivity:connectivity: n(logn(log22n+4)n+4) bits bits vs.vs. n(6logn(6log22n) n)

bitsbits geometry:geometry: ~~40n40n bits bits vs.vs. 96n96n bits bits16-bit quantization & variable-length encoding [Deering95]16-bit quantization & variable-length encoding [Deering95]

Record:Record: vvss (log(log22i i

bits)bits) vvll && v vrr (~5 (~5

bits)bits)

Analysis:Analysis:

vvtt - - vvss (delta)(delta) vvs s - - vvss (delta)(delta)

’’’’

Page 18: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

vvssvvll vvrr

vvll vvrr

vvtt’’

vvss’’

Record:Record:

Analysis:Analysis:

vsplvspli i (v(vs s ,v,vl l ,v,vr r ,,vvs s ,,vvt t ,…),…)’’ ’’

Vertex split encodingVertex split encoding

connectivity:connectivity: n(logn(log22n+4)n+4) bits bits vs.vs. n(6logn(6log22n) n)

bitsbits

vvss (log(log22i i

bits)bits) vvll && v vrr (~5 (~5

bits)bits)

predict face attrib.predict face attrib.

geometry:geometry: ~~40n40n bits bits vs.vs. 96n96n bits bits

vvtt - - vvss (delta)(delta) vvs s - - vvss (delta)(delta)

’’’’

Page 19: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

Summary of vsplit encodingSummary of vsplit encoding

((nn is #vertices, ~2n is #faces) is #vertices, ~2n is #faces)42,712 faces42,712 facesnn=21,373=21,373151 Kbytes (ignoring corners)151 Kbytes (ignoring corners)

??

Page 20: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

Improved PM compressionImproved PM compression

ConnectivityConnectivity group vsplits group vsplits forest splits forest splits [Taubin etal98][Taubin etal98] permute vsplitspermute vsplits

GeometryGeometry apply smoothing apply smoothing [Taubin etal98][Taubin etal98] local prediction + single deltalocal prediction + single delta

Face attributesFace attributes already negligiblealready negligible

Corner attributesCorner attributes wedge data structurewedge data structure

Page 21: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

Compression of connectivityCompression of connectivity

Detail: Detail: fflclwlclw , , nrotnrot

vvssvvll vvrr

Problem: locating vsplit on meshProblem: locating vsplit on mesh (using either (using either fflclwlclw or or vvs s ) requires log) requires log22i bits.i bits.

Page 22: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

Progressive Forest Split (PFS)Progressive Forest Split (PFS)

MM00 vsplvspl00 vsplvspl11 vsplvspl55 vsplvspln-1n-1vsplvspl22 vsplvspl33 vsplvspl44

PM:PM: n(4+logn(4+log22n)n) bits bits

[Taubin,Gueziec,Horn,Lazarus98][Taubin,Gueziec,Horn,Lazarus98]

fsplitfsplit00 fsplitfsplit11 fsplitfsplit22 fsplitfsplitlognlogn… …

PFS:PFS: n(8..10)n(8..10) bits bits

Page 23: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

MM00

Other solution: permutation of vsplitsOther solution: permutation of vsplits

We record We record fflclwlclw and minimize and minimize fflclwlclw by permuting by permuting

vsplits.vsplits.

MM00 fflclw,1lclw,1 fflclw,2lclw,2

fflclwlclw

Page 24: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

Legal vsplit permutationsLegal vsplit permutations

Determine dependencies between vsplitsDetermine dependencies between vsplits [Xia & Varshney 96][Xia & Varshney 96] [Hoppe 97][Hoppe 97]

vsplit is vsplit is candidatecandidate if it has no dependencies. if it has no dependencies.

Greedy algorithm:Greedy algorithm: Maintain candidate vsplits in balanced tree, Maintain candidate vsplits in balanced tree,

sorted by sorted by fflclwlclw . .

Remove vsplit with smallest Remove vsplit with smallest fflclwlclw and update and update

candidate tree.candidate tree.

Page 25: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

Result of permuting vsplitsResult of permuting vsplits

9.79.7nn

~(log~(log22n+4n+4))nn~(log~(log22n+4n+4))nn

9.79.7nn…10.3…10.3nn9.79.7nn…10.3…10.3nn

Drawback: intermediate meshes Drawback: intermediate meshes MMii ( (0<i<n0<i<n) lose ) lose geometric accuracy.geometric accuracy.

O(O(nn log log nn) bits to undo permutation.) bits to undo permutation.

(now (now linearlinear))

Page 26: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

Layered permutationsLayered permutations

MM00MM00 vsplvspl00vsplvspl00 vsplvspl11vsplvspl11 vsplvspln-1n-1vsplvspln-1n-1vsplvspl22vsplvspl22 vsplvspl33vsplvspl33 vsplvspl44vsplvspl44 vsplvspl55vsplvspl55 vsplvspl66vsplvspl66 vsplvspl77vsplvspl77 vsplvspl88vsplvspl88 vsplvspl99vsplvspl99 vsplvspl1010vsplvspl1010

MM00MM00

checkpointscheckpoints(mesh complexity(mesh complexity increasing exponentially) increasing exponentially)

Page 27: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

Results using layered permutationsResults using layered permutations

# checkpoints# checkpoints growth factorgrowth factorconnectivityconnectivity

bits (bits (nn=#verts)=#verts)

11 549549 9.79.7nn

99 2.002.00 9.89.8nn

1313 1.631.63 9.89.8nn

1919 1.401.40 9.99.9nn

2424 1.301.30 10.010.0nn

3535 1.201.20 10.210.2nn

6666 1.101.10 10.510.5nn

20,37320,373 1.001.00 16.416.4nn

+ 0.1+ 0.1 bit/vert bit/vert

visuallyvisuallyidentical toidentical to

original PM !original PM !

Page 28: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

vvtt’’

vvss’’

Restrict Restrict vvss to equal to equal vvs s ..’’

Geometry: local prediction + deltaGeometry: local prediction + delta

vvss

xx xx

Record single delta from prediction,Record single delta from prediction, in a local coordinate frame. in a local coordinate frame.

Predict position of Predict position of vvtt’ .’ .

Page 29: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

Result of predicted deltaResult of predicted delta

Intermediate meshes Intermediate meshes MMii ( (0<i<n0<i<n) have) have minorminor loss in geometric accuracy. loss in geometric accuracy.

9.79.7nn

20.920.9nn

??

Page 30: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

Corner attributesCorner attributes

vertexvertex

cornercorner

faceface

Page 31: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

wedgewedge

Wedge data structureWedge data structure

vertexvertex

faceface

cornercorner

Page 32: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

Vsplit encoding of wedgesVsplit encoding of wedges

(6 new corners)(6 new corners) 10 corner continuity booleans10 corner continuity booleans

+ 1..6 wedge attribute deltas+ 1..6 wedge attribute deltas

Page 33: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

Results using wedgesResults using wedges

9.79.7nn

20.920.9nn

23.723.7nn

10 corner continuity booleans : 2.510 corner continuity booleans : 2.5nn bits bitswedge attribute deltas : 21.2wedge attribute deltas : 21.2nn bits bits

(16-bit n(16-bit nxx,n,nyy,n,nzz at corners) at corners)

Page 34: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

Estimating normals from wedgesEstimating normals from wedges

9.79.7nn

20.920.9nn

2.5n2.5n

88 Kbytes88 Kbytesoriginaloriginal

Page 35: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

Progressive Simplicial Progressive Simplicial ComplexesComplexes

[SIGGRAPH 97][SIGGRAPH 97]

(Joint work with Jovan Popovic)(Joint work with Jovan Popovic)

Page 36: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

PM restrictions:PM restrictions:

Supports only “meshes”Supports only “meshes” (orientable, 2-dimensional manifolds)(orientable, 2-dimensional manifolds)

Preserves topological typePreserves topological type

167,744167,7448,0008,0002,5222,522MM00 MMnn… … MMii … …

Page 37: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

Progressive Simplicial ComplexesProgressive Simplicial Complexes

Represent arbitrary “triangulations”:Represent arbitrary “triangulations”: any dimension,any dimension, non-orientable,non-orientable, non-manifold,non-manifold, non-regular, … non-regular, …

Progressively encode both geometryProgressively encode both geometry and topologyand topology..

Page 38: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

GeneralizationGeneralization

edge collapseedge collapse((ecolecol))

vertex splitvertex split((vsplvspl))

vertex unificationvertex unification((vunifyvunify))

generalized vertex splitgeneralized vertex split((gvsplgvspl))

PMPM PSCPSC

Page 39: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

PSCPSC representation representation

LOD sequenceLOD sequence

MM11 MM2222

gvsplgvspl11 … …MM116116

… … gvsplgvsplii … … gvsplgvspln-1n-1

MMnn

Page 40: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

Generalized vertex splitGeneralized vertex split

vunifyvunify

gvsplgvspl

Connectivity:Connectivity:• PM :PM : (log(log22n+n+44)n bits)n bits

• PSC PSC :: (log(log22n+n+77)n bits)n bits

0-simplex0-simplex

1-simplices1-simplices

2-simplices2-simplices

Page 41: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

Space analysisSpace analysis

0

10

20

30

40

50

60

cessna destroyer drumset chandelier schooner castle2D

Dataset

bit

s p

er v

erte

x

A

D

V

K(C)

K(a)

geometry!geometry!connectivityconnectivityconnectivityconnectivity materialsmaterials

Page 42: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

PSC analysisPSC analysis

PSCPSCMMnn

MM11

gvsplgvspl

(+)(+) progressive geometry progressive geometry and topologyand topology(+)(+) no “base mesh” no “base mesh”(–)(–) 3 bit / vertex overhead 3 bit / vertex overhead(–)(–) slower decompression slower decompression

losslesslossless

single single vertexvertex

VVnn

KKnn

arbitraryarbitrarysimplicial complexsimplicial complex

Page 43: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

Summary: Progressive geometrySummary: Progressive geometry

ConnectivityConnectivity group vsplits group vsplits forest splits forest splits [Taubin etal98][Taubin etal98] permute vsplitspermute vsplits

GeometryGeometry apply smoothing apply smoothing [Taubin etal98][Taubin etal98] local prediction + single deltalocal prediction + single delta

Face attributesFace attributes already negligiblealready negligible

Corner attributesCorner attributes wedgewedge data structure data structure

Page 44: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

ConclusionsConclusions

Geometry storage overwhelms connectivity,Geometry storage overwhelms connectivity, particularly for simplified meshes. particularly for simplified meshes.

Progressive representations:Progressive representations: reasonable compressionreasonable compression benefits: LODbenefits: LOD

Texture coordinates?Texture coordinates?

Page 45: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

Beyond Gouraud shadingBeyond Gouraud shading

Texture mapping!Texture mapping!

44,000 triangles44,000 trianglesFuture:Future:• bump mappingbump mapping• environment mappingenvironment mapping~200~200nn bits bits (JPEG)(JPEG)

[Cohen-etal98][Cohen-etal98]

Page 46: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

Simultaneous streamingSimultaneous streaming

progressiveprogressivegeometrygeometry

progressiveprogressivegeometrygeometry

progressiveprogressivetexturetexture

progressiveprogressivetexturetexture

viewer / applicationviewer / applicationviewer / applicationviewer / application

networknetwork

runtime tradeoffruntime tradeoffof geometry & textureof geometry & texture(platform-dependent)(platform-dependent)

Page 47: Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”

ReferencesReferences

H. Hoppe. Progressive meshes. Computer Graphics H. Hoppe. Progressive meshes. Computer Graphics (SIGGRAPH 96), pages 99-108.(SIGGRAPH 96), pages 99-108.

J. Popovic, H. Hoppe. Progressive simplicial complexes. J. Popovic, H. Hoppe. Progressive simplicial complexes. Computer Graphics (SIGGRAPH 97), pages 217-224.Computer Graphics (SIGGRAPH 97), pages 217-224.

H. Hoppe. Efficient implementation of progressive H. Hoppe. Efficient implementation of progressive meshes. Computers & Graphics, Vol. 22, pages 27-36, meshes. Computers & Graphics, Vol. 22, pages 27-36, 1998.1998.

http://research.microsoft.com/~hoppe/http://research.microsoft.com/~hoppe/