visualization and graphics research group cipic feb 18, 2003multiresolution (ecs 289l) - winter...

34
Feb 18, 2003 Multiresolution (ECS 289L) - Winter 2003 1 visualization and graphics research group CIPI C Progressive Meshes (SIGGRAPH ’96) By Hugues Hoppe Presented by Yong Kil and Christopher Co

Post on 21-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

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