Download - Progressive Mesh in DirectX

Transcript
Page 1: Progressive Mesh in DirectX

Progressive Mesh in DirectX

2000160114 Seung ho Lee2000160207 Hyun taek Kwon

Page 2: Progressive Mesh in DirectX

What is Progressive Mesh?

Level of Detail (LOD) Progressive simplification or detail

Mesh

Page 3: Progressive Mesh in DirectX

Overview of Progressive Mesh

Edge collapse or Vertex Split Selective Refinement

Page 4: Progressive Mesh in DirectX

Edge collapse or Vertex Split

Page 5: Progressive Mesh in DirectX

Selective Refinement

Use Vertex History

Page 6: Progressive Mesh in DirectX

The Pipeline of DirectX Mesh

ID3DXMesh interface ID3DXPMesh interface

Page 7: Progressive Mesh in DirectX

ID3DXMesh interface

General Mesh interface Buffers

– Vertex Buffer– Index Buffer– Attribute Buffer

Functions– DrawSubset(DWORD n);

Page 8: Progressive Mesh in DirectX

ID3DXPMesh

Progressive Mesh interface Make from ID3DXMesh Using Progressive Mesh interface

Page 9: Progressive Mesh in DirectX

Implementation

Implement from ID3DXMesh Using Vertex Buffer and Index Buffer Class Gmesh Vertex Node Tree, History

Page 10: Progressive Mesh in DirectX

Rendering Pipeline

Read PM File

Make GMesh

Write in

Mesh Buffer

Draw Mesh

Page 11: Progressive Mesh in DirectX

Result

Rabbit

Page 12: Progressive Mesh in DirectX

View-Dependent Refinement

1. Definitions

2. Refinement Criteria

3. Implementation

Page 13: Progressive Mesh in DirectX

1. Definitions (1)

- Active vertex, Active face

A vertex or face is active if it exists

in the selectively refined mesh Ms.

Page 14: Progressive Mesh in DirectX

1. Definitions (2)

- Vertex hierarchy

Page 15: Progressive Mesh in DirectX

1. Definitions (3)

- Legal

Page 16: Progressive Mesh in DirectX

2. Refinement Criteria

(1) View frustumCoarsen regions outsize the view frustum

(2) Surface orientationCoarsen regions oriented away from viewer

(3) Screen-space geometric errorMakes the difference between approximate

surface M and the original M^ small

Page 17: Progressive Mesh in DirectX

2. Refinement Criteria (1)

- Bounding Sphere

Page 18: Progressive Mesh in DirectX

2. Refinement Criteria (1)

- Out of View frustum

Red lines show distance

Page 19: Progressive Mesh in DirectX

2. Refinement Criteria (2)

- Cone of normals

Unnecessary to split if

Page 20: Progressive Mesh in DirectX

2. Refinement Criteria (3)

- DistanceThe distance between the approximate surface M and the original M^, when projected on the screen, is every where less than a screen-space tolerance r.

Page 21: Progressive Mesh in DirectX

3. Implementation

- ListNode *ActiveVertexHead

double linked list of active vertex

- ListNode *RootVertexHeadDouble linked list of root vertex

Page 22: Progressive Mesh in DirectX

3. Implementation

Active Vertex v1 v2 v3 v4 v5 v6

v1 v3 v4 v5 v6 v21 v22

SplitQrefine()