simplification ii: progressive meshessheffa/dgp/ppts/simplification2.pdf · 10,103 8903 ver 503 ver...

12
1 University of British Columbia 1 Simplification II: Progressive meshes University of British Columbia Mesh Simplification 2 Progressive Meshes Basic simplification Progressive mesh M n 13,133 ver M c 1 503 ver 8903 ver M c 2 M c 3 10,103 ver M n 13,133 ver M 0 503 ver 489 ver 8903 ver 10,103 ver M c 1 M c 2 M c 3

Upload: others

Post on 01-Oct-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Simplification II: Progressive meshessheffa/dgp/ppts/Simplification2.pdf · 10,103 8903 ver 503 ver 489 ver ver Mc 1 Mc 2 Mc 3. 2 University of British Columbia Mesh Simplification

1

University ofBritish Columbia

1

Simplification II: Progressive meshes

University ofBritish Columbia Mesh Simplification

2

Progressive Meshes

Basic simplification

Progressive mesh

Mn 13,133 ver

Mc1

503 ver8903 ver

Mc2 Mc3

10,103 ver

Mn

13,133 ver

M0

503 ver 489 ver8903 ver10,103 ver

Mc1 Mc2 Mc3

Page 2: Simplification II: Progressive meshessheffa/dgp/ppts/Simplification2.pdf · 10,103 8903 ver 503 ver 489 ver ver Mc 1 Mc 2 Mc 3. 2 University of British Columbia Mesh Simplification

2

University ofBritish Columbia Mesh Simplification

3

Progressive Meshes

Simplification

Mn

13,133 ver

M0

503 ver 489 ver8903 ver10,103 ver

Mc1 Mc2 Mc3

Mn M0

503 ver 489 ver8903 ver

Mc1 Mc2 Mc3

13,133 ver

10,103 ver

Refinement

University ofBritish Columbia Mesh Simplification

4

Definition of vsplit and ecol

ecol changes Connectivity - {vu,vt} is removed Geometry - vt and vu disappear & vs is created

(somewhere) Vs is parent of Vu & Vt

Vu and Vt are children of Vs

vu

vt

vs

vsplit

ecol

fn0

fn1

fn2

fn3fn1

fn0 fn2

fn3

frfl

Page 3: Simplification II: Progressive meshessheffa/dgp/ppts/Simplification2.pdf · 10,103 8903 ver 503 ver 489 ver ver Mc 1 Mc 2 Mc 3. 2 University of British Columbia Mesh Simplification

3

University ofBritish Columbia Mesh Simplification

5

vsplit2vsplit1vsplit0M0

Progressive Transmission

Base mesh (M0) transmitted first Refinement records transmitted later & mesh

reconstructed progressively

University ofBritish Columbia Mesh Simplification

6

View-Dependent Refinement

Problem: Large parts of rendered models are hidden

Hidden faces are view dependent Basic simplification: all faces rendered at same LOD

Waste effort rendering hidden faces

Outside View-Frustum

Backface

Distant

Page 4: Simplification II: Progressive meshessheffa/dgp/ppts/Simplification2.pdf · 10,103 8903 ver 503 ver 489 ver ver Mc 1 Mc 2 Mc 3. 2 University of British Columbia Mesh Simplification

4

University ofBritish Columbia Mesh Simplification

7

View-Dependent Refinement

Goal: Generate progressive representation of mesh

s.t. only some faces are simplified & others are fully detailed

University ofBritish Columbia Mesh Simplification

8

Selective Refinement

Refine only in desired area

vspliti vspliti+1 vspliti+2 vspliti+3 MnM0

Page 5: Simplification II: Progressive meshessheffa/dgp/ppts/Simplification2.pdf · 10,103 8903 ver 503 ver 489 ver ver Mc 1 Mc 2 Mc 3. 2 University of British Columbia Mesh Simplification

5

University ofBritish Columbia Mesh Simplification

9

Vertex Hierarchy

Generate Parent-Child forest by combining Progressive Mesh representation with Parent-Child relationship

M0: Set of root vertices (most simplified mesh)

Mn: Set of leaves of the forest (original mesh)

University ofBritish Columbia Mesh Simplification

10

V2 V3V1

V11V10 V5V4

V7V6

V9V8

V13V12

V15V14

M0

Mn

M0 M1 M2 M4M3 M5 M6

Vertex Hierarchy

Page 6: Simplification II: Progressive meshessheffa/dgp/ppts/Simplification2.pdf · 10,103 8903 ver 503 ver 489 ver ver Mc 1 Mc 2 Mc 3. 2 University of British Columbia Mesh Simplification

6

University ofBritish Columbia Mesh Simplification

11

Selective Refinement

Given vertex hierarchy forest - selective refinement mesh generated by using selective, out-of-order vsplits and ecols operations

Current refined/simplified mesh is vertex front in the forest

University ofBritish Columbia Mesh Simplification

12

V2 V3V1

V11V10 V5V4

V7V6

V9V8

V13V12

V15V14

M0

Mi

Selective Refinement

Page 7: Simplification II: Progressive meshessheffa/dgp/ppts/Simplification2.pdf · 10,103 8903 ver 503 ver 489 ver ver Mc 1 Mc 2 Mc 3. 2 University of British Columbia Mesh Simplification

7

University ofBritish Columbia Mesh Simplification

13

Is This Enough ?

Is Selective-Refinement data-structure enough for View-Dependent operations ?

University ofBritish Columbia Mesh Simplification

14

Face/vertex is active if it exists in current front

Legal vsplit:

Vs is active vertex

Faces {fn0,fn1,fn2,fn3} are all active

Legal ecol:

Vt & Vu are both active

Faces {fn0,fn1,fn2,fn3} are adjacent to fl & fr

vsfn0

fn1

fn2

fn3

vu

vt

fn1

fn0 fn2

fn3frfl

Legal Operations

Page 8: Simplification II: Progressive meshessheffa/dgp/ppts/Simplification2.pdf · 10,103 8903 ver 503 ver 489 ver ver Mc 1 Mc 2 Mc 3. 2 University of British Columbia Mesh Simplification

8

University ofBritish Columbia Mesh Simplification

15

Data-Structure Implementation

To achieve a real-time View-Dependent algorithm need efficient data-structure to maintain vertices & faces information

Vertex list array - holds vertices that participate in View-Dependent model

Active vertices list - holds current mesh front

Faces & active faces lists

University ofBritish Columbia Mesh Simplification

16

View-Dependent Algorithm

Traverse active-vertex-front before each rendering operation

For each vertex test if vertex should be Refined Simplified Left as it is

Perform simplification operations (ecol) only if legal

Perform all refine operations (vsplit) to make it legal (sometimes) perform

additional vsplit operations

Page 9: Simplification II: Progressive meshessheffa/dgp/ppts/Simplification2.pdf · 10,103 8903 ver 503 ver 489 ver ver Mc 1 Mc 2 Mc 3. 2 University of British Columbia Mesh Simplification

9

University ofBritish Columbia Mesh Simplification

17

V2 V3V1

V11V10 V5V4

V7V6

V9V8

V13V12

V15V14 V17V16

vsplit dependency

View-Dependent Alg

University ofBritish Columbia Mesh Simplification

18

Refinement Criteria

View-Frustum Criterion: Each original mesh vertex is center of sphere

containing all its neighbors Vertex considered outside view-frustum if its

associated sphere is outside

(vx,vy,vz) - vertex v position (ai,bi,ci,di) for i=1…4 - frustum faces rv – radius of sphere associated with v

viziyixi rdvcvbva 1||)(|| ,, iii cba

Page 10: Simplification II: Progressive meshessheffa/dgp/ppts/Simplification2.pdf · 10,103 8903 ver 503 ver 489 ver ver Mc 1 Mc 2 Mc 3. 2 University of British Columbia Mesh Simplification

10

University ofBritish Columbia Mesh Simplification

19

Refinement Criteria

View-Frustum Criterion:

University ofBritish Columbia Mesh Simplification

20

Surface Orientation: Each mesh vertex associated with cone in direction of

its normal with angle v

Given viewpoint e - it is unnecessary to split v if:

& 0ˆ)( vnev

vv evnev 222 sin||||)ˆ)((

Refinement Criteria

Page 11: Simplification II: Progressive meshessheffa/dgp/ppts/Simplification2.pdf · 10,103 8903 ver 503 ver 489 ver ver Mc 1 Mc 2 Mc 3. 2 University of British Columbia Mesh Simplification

11

University ofBritish Columbia Mesh Simplification

21

= 0% = 0.33%

Refinement Criteria

Screen-Space Geometric error: Refine mesh only if distance between

approximated & original surfaces when projected on the screen is larger than screen-space tolerance

University ofBritish Columbia Mesh Simplification

22

Examples

Original Simplified Top-View

Page 12: Simplification II: Progressive meshessheffa/dgp/ppts/Simplification2.pdf · 10,103 8903 ver 503 ver 489 ver ver Mc 1 Mc 2 Mc 3. 2 University of British Columbia Mesh Simplification

12

University ofBritish Columbia Mesh Simplification

23

Examples (cont’)

Original Simplified Top-View