Progressive Mesh in DirectX

22
Progressive Mesh in DirectX 2000160114 Seung ho Lee 2000160207 Hyun t aek Kwon

description

Progressive Mesh in DirectX. 2000160114 Seung ho Lee 2000160207 Hyun taek Kwon. What is Progressive Mesh?. Level of Detail (LOD) Progressive simplification or detail Mesh. Edge collapse or Vertex Split Selective Refinement. Overview of Progressive Mesh. Edge collapse or Vertex Split. - PowerPoint PPT Presentation

Transcript of Progressive Mesh in DirectX

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()