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

Progressive Mesh in DirectX 2000160114 Seung ho Lee 2000160207 Hyun taek Kwon.

Dec 31, 2015

Download

Documents

Lester Goodman
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Progressive Mesh in DirectX 2000160114 Seung ho Lee 2000160207 Hyun taek Kwon.

Progressive Mesh in DirectX

2000160114 Seung ho Lee2000160207 Hyun taek Kwon

Page 2: 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

Page 3: Progressive Mesh in DirectX 2000160114 Seung ho Lee 2000160207 Hyun taek Kwon.

Overview of Progressive Mesh

Edge collapse or Vertex Split Selective Refinement

Page 4: Progressive Mesh in DirectX 2000160114 Seung ho Lee 2000160207 Hyun taek Kwon.

Edge collapse or Vertex Split

Page 5: Progressive Mesh in DirectX 2000160114 Seung ho Lee 2000160207 Hyun taek Kwon.

Selective Refinement

Use Vertex History

Page 6: Progressive Mesh in DirectX 2000160114 Seung ho Lee 2000160207 Hyun taek Kwon.

The Pipeline of DirectX Mesh

ID3DXMesh interface ID3DXPMesh interface

Page 7: Progressive Mesh in DirectX 2000160114 Seung ho Lee 2000160207 Hyun taek Kwon.

ID3DXMesh interface

General Mesh interface Buffers

– Vertex Buffer– Index Buffer– Attribute Buffer

Functions– DrawSubset(DWORD n);

Page 8: Progressive Mesh in DirectX 2000160114 Seung ho Lee 2000160207 Hyun taek Kwon.

ID3DXPMesh

Progressive Mesh interface Make from ID3DXMesh Using Progressive Mesh interface

Page 9: Progressive Mesh in DirectX 2000160114 Seung ho Lee 2000160207 Hyun taek Kwon.

Implementation

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

Page 10: Progressive Mesh in DirectX 2000160114 Seung ho Lee 2000160207 Hyun taek Kwon.

Rendering Pipeline

Read PM File

Make GMesh

Write in

Mesh Buffer

Draw Mesh

Page 11: Progressive Mesh in DirectX 2000160114 Seung ho Lee 2000160207 Hyun taek Kwon.

Result

Rabbit

Page 12: Progressive Mesh in DirectX 2000160114 Seung ho Lee 2000160207 Hyun taek Kwon.

View-Dependent Refinement

1. Definitions

2. Refinement Criteria

3. Implementation

Page 13: Progressive Mesh in DirectX 2000160114 Seung ho Lee 2000160207 Hyun taek Kwon.

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 2000160114 Seung ho Lee 2000160207 Hyun taek Kwon.

1. Definitions (2)

- Vertex hierarchy

Page 15: Progressive Mesh in DirectX 2000160114 Seung ho Lee 2000160207 Hyun taek Kwon.

1. Definitions (3)

- Legal

Page 16: Progressive Mesh in DirectX 2000160114 Seung ho Lee 2000160207 Hyun taek Kwon.

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 2000160114 Seung ho Lee 2000160207 Hyun taek Kwon.

2. Refinement Criteria (1)

- Bounding Sphere

Page 18: Progressive Mesh in DirectX 2000160114 Seung ho Lee 2000160207 Hyun taek Kwon.

2. Refinement Criteria (1)

- Out of View frustum

Red lines show distance

Page 19: Progressive Mesh in DirectX 2000160114 Seung ho Lee 2000160207 Hyun taek Kwon.

2. Refinement Criteria (2)

- Cone of normals

Unnecessary to split if

Page 20: Progressive Mesh in DirectX 2000160114 Seung ho Lee 2000160207 Hyun taek Kwon.

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 2000160114 Seung ho Lee 2000160207 Hyun taek Kwon.

3. Implementation

- ListNode *ActiveVertexHead

double linked list of active vertex

- ListNode *RootVertexHeadDouble linked list of root vertex

Page 22: Progressive Mesh in DirectX 2000160114 Seung ho Lee 2000160207 Hyun taek Kwon.

3. Implementation

Active Vertex v1 v2 v3 v4 v5 v6

v1 v3 v4 v5 v6 v21 v22

SplitQrefine()