Progressive Meshes (96) Hugues Hoppe and Efficient Implementation - - PowerPoint PPT Presentation

progressive meshes 96 hugues hoppe and efficient
SMART_READER_LITE
LIVE PREVIEW

Progressive Meshes (96) Hugues Hoppe and Efficient Implementation - - PowerPoint PPT Presentation

Progressive Meshes (96) Hugues Hoppe and Efficient Implementation of P-Meshes (98) Hugues Hoppe TongKe Xue Problems with Large Meshes Expensive to store Expensive to transmit Exprensive to renders --> Motivates new


slide-1
SLIDE 1

Progressive Meshes (96) Hugues Hoppe and Efficient Implementation of P-Meshes (98) Hugues Hoppe TongKe Xue

slide-2
SLIDE 2

Problems with Large Meshes

 Expensive to store  Expensive to transmit  Exprensive to renders   --> Motivates new problems

slide-3
SLIDE 3

Motivated Problems

 Mesh simplification  Level-of-detail approximation

 smooth geomorphs

 Progressive transmission  Mesh compression  Selective refinement

slide-4
SLIDE 4

'96 paper claims ...

 Novel progressive mesh representation;

progressive transmission; concise encoding:

 probably true

 Selective refinement

 questionable; requires an (elegant) hack not in the

paper

 Novel simplification procedure

 seems very hackey (in the bad sense)

slide-5
SLIDE 5

Table of Contents

 General Idea + What P-Meshes provide  How to Store Efficiently / Compression  How to Construct P-Meshes

slide-6
SLIDE 6

Idea 1 (Limitation 1)

 Limit ourselves to: edge collapse operations      New vertex is either old, new, or avg(old, new)

slide-7
SLIDE 7

Idea 2 (Iterate!)

 M = original model; construct a series of models

M=M_0, M_1, M_2, .... M_n=M* where from M_k to M_{k+1}, we kill a single edge

 M* = coarse model; store the diffs between M_k

as M_{k+1} as vertex splits

slide-8
SLIDE 8

Important Detail

 A vertex split (inverse of edge collapse)

consists of:

 (s, l, r, t, A)

 We add a vertex t near an (existing) vertex s,

adding faces stl and tsr, and update some attributes (color, texture, shader, ...) with A

 vertex split == diff

slide-9
SLIDE 9

Free Features 1

 Progressive Transmission

 Send M* ... then send the diffs later

 Smooth Geomorphing:

 We're just adding in verticies; easy to linearly

interpolate diffs

 Draw on white board

 Mesh Compression

 discussed later

slide-10
SLIDE 10

Selective Refinement

 We don't have to apply the diff's in order  for a (s, l, r, t, A) vsplit, if l, r, and s are already

there ... we can use it

 if l or r are not there, but their 'closest-living-

ancestor' are adjacent to s, then we can pseudo-apply

 ugly detail not mentioned in paper: we can still

guarantee same mesh in the end

slide-11
SLIDE 11

Movies!

slide-12
SLIDE 12

Table of Contents

 General Idea + What P-Meshes provide  How to Store Efficiently / Compression  How to Construct P-Meshes

slide-13
SLIDE 13

Faces, Wedges, Corners

slide-14
SLIDE 14

vsplit structure

slide-15
SLIDE 15

efficient vertex split

slide-16
SLIDE 16

corners

slide-17
SLIDE 17

ii

slide-18
SLIDE 18

'Standard' Mesh

slide-19
SLIDE 19

PMesh

slide-20
SLIDE 20

M vs M_0

slide-21
SLIDE 21

iteration / space requirements

slide-22
SLIDE 22

vsplit fields (slightly lossy)

slide-23
SLIDE 23

approximate/restrict more

slide-24
SLIDE 24

Table of Contents

 General Idea + What PM's provide  How to Store Efficiently / Compression  How to Construct P-meshes

 This can be done better.

slide-25
SLIDE 25

'related' background

 from his 93 paper      simulated annealing / energy like

slide-26
SLIDE 26

actual energy function

  'scalar' to minimize scalar changes; disc to

ensure discontinuities aren't eliminated

 throw all edges on a priority queue + pop

slide-27
SLIDE 27

E_{dist} + E_{spring}

 Claims can't be evaluated efficiently.    Possible leftover from mesh optimization (93):

slide-28
SLIDE 28

E_{scalar}

 optimizes only for scalar values at vertices /

corners

 claims this works for (r,g,b) values after clipping  for normals: just interpolates

slide-29
SLIDE 29

E_{disc}

 discontinuity curves defined by material

boundaries / large changes in corner scalar attributes

 sample additional set of points on discontinuity

curve; penalize for distance away from curve

slide-30
SLIDE 30

E_{disc} example

slide-31
SLIDE 31

Discussion