Progressive Meshes

27
Progressive Meshes Progressive Meshes A Talk by Wallner and A Talk by Wallner and Wurzer for the overfull Wurzer for the overfull MathMeth auditorium MathMeth auditorium

description

Progressive Meshes. A Talk by Wallner and Wurzer for the overfull MathMeth auditorium. What it‘s all about. Overview. Advantages PM‘s Definition and Basics GeoMorphs Mesh Compression Selective Refinement Construction. Let‘s start off. Advantages of PM‘s. Mesh Simplification - PowerPoint PPT Presentation

Transcript of Progressive Meshes

Page 1: Progressive Meshes

Progressive MeshesProgressive Meshes

A Talk by Wallner and Wurzer for A Talk by Wallner and Wurzer for the overfull MathMeth auditoriumthe overfull MathMeth auditorium

Page 2: Progressive Meshes

2 / 27Wallner and Wurzer Vienna University of Technology

What it‘s all about...What it‘s all about...

Page 3: Progressive Meshes

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

Page 4: Progressive Meshes

4 / 27Wallner and Wurzer Vienna University of Technology

Let‘s start off...Let‘s start off...

Page 5: Progressive Meshes

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

Page 6: Progressive Meshes

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

Page 7: Progressive Meshes

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

Page 8: Progressive Meshes

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

Page 9: Progressive Meshes

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^̂

Page 10: Progressive Meshes

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

Page 11: Progressive Meshes

11 / 27Wallner and Wurzer Vienna University of Technology

Geomorph (2)Geomorph (2)

Page 12: Progressive Meshes

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

Page 13: Progressive Meshes

13 / 27Wallner and Wurzer Vienna University of Technology

Selective RefinementSelective Refinement

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

Page 14: Progressive Meshes

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

Page 15: Progressive Meshes

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

Page 16: Progressive Meshes

16 / 27Wallner and Wurzer Vienna University of Technology

Selective Refinement (4)Selective Refinement (4)

View Frustum

if this would be present

Page 17: Progressive Meshes

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

}}

Page 18: Progressive Meshes

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

Page 19: Progressive Meshes

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

Page 20: Progressive Meshes

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

Page 21: Progressive Meshes

21 / 27Wallner and Wurzer Vienna University of Technology

With better algorithm...With better algorithm...

Page 22: Progressive Meshes

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

Page 23: Progressive Meshes

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)

Page 24: Progressive Meshes

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

Page 25: Progressive Meshes

Thank you for your attention !Thank you for your attention !

Progressive MeshesProgressive MeshesWallner and WurzerWallner and Wurzer

Page 26: Progressive Meshes

26 / 27Wallner and Wurzer Vienna University of Technology

Discussion NoteDiscussion Note Problem of this approach:Problem of this approach:

pictures courtesy of Markus Gross

Page 27: Progressive Meshes

27 / 27Wallner and Wurzer Vienna University of Technology

Discussion NoteDiscussion Note Better Approach:Better Approach:

pic

ture

court

esy

of

Mark

us

Gro

ss