Progressive Mesh in DirectX
Download
Report
Transcript Progressive Mesh in DirectX
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
Overview of Progressive Mesh
Edge collapse or Vertex Split
Selective Refinement
Edge collapse or Vertex Split
Selective Refinement
Use Vertex History
The Pipeline of DirectX Mesh
ID3DXMesh interface
ID3DXPMesh interface
ID3DXMesh interface
General Mesh interface
Buffers
–
–
–
Vertex Buffer
Index Buffer
Attribute Buffer
Functions
–
DrawSubset(DWORD n);
ID3DXPMesh
Progressive Mesh interface
Make from ID3DXMesh
Using Progressive Mesh interface
Implementation
Implement from ID3DXMesh
Using Vertex Buffer and Index Buffer
Class Gmesh
Vertex Node Tree, History
Rendering Pipeline
Read PM File
Make GMesh
Write in
Mesh Buffer
Draw Mesh
Result
Rabbit
View-Dependent Refinement
1. Definitions
2. Refinement Criteria
3. Implementation
1. Definitions (1)
- Active vertex, Active face
A vertex or face is active if it exists
in the selectively refined mesh Ms.
1. Definitions (2)
- Vertex hierarchy
1. Definitions (3)
- Legal
2. Refinement Criteria
(1) View frustum
Coarsen regions outsize the view frustum
(2) Surface orientation
Coarsen regions oriented away from viewer
(3) Screen-space geometric error
Makes the difference between approximate surface
M and the original M^ small
2. Refinement Criteria (1)
- Bounding Sphere
2. Refinement Criteria (1)
- Out of View frustum
Red lines show distance
2. Refinement Criteria (2)
- Cone of normals
Unnecessary to split if
2. Refinement Criteria (3)
- Distance
The 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.
3. Implementation
- ListNode *ActiveVertexHead
double linked list of active vertex
- ListNode *RootVertexHead
Double linked list of root vertex
3. Implementation
Active Vertex
v1
v2
v3
Qrefine()
v1
v3
v4
v5
v6
v6
v21
Split
v4
v5
v22