Download - Progressive Mesh in DirectX
![Page 1: Progressive Mesh in DirectX](https://reader030.vdocuments.net/reader030/viewer/2022033014/56812cd8550346895d9196c0/html5/thumbnails/1.jpg)
Progressive Mesh in DirectX
2000160114 Seung ho Lee2000160207 Hyun taek Kwon
![Page 2: Progressive Mesh in DirectX](https://reader030.vdocuments.net/reader030/viewer/2022033014/56812cd8550346895d9196c0/html5/thumbnails/2.jpg)
What is Progressive Mesh?
Level of Detail (LOD) Progressive simplification or detail
Mesh
![Page 3: Progressive Mesh in DirectX](https://reader030.vdocuments.net/reader030/viewer/2022033014/56812cd8550346895d9196c0/html5/thumbnails/3.jpg)
Overview of Progressive Mesh
Edge collapse or Vertex Split Selective Refinement
![Page 4: Progressive Mesh in DirectX](https://reader030.vdocuments.net/reader030/viewer/2022033014/56812cd8550346895d9196c0/html5/thumbnails/4.jpg)
Edge collapse or Vertex Split
![Page 5: Progressive Mesh in DirectX](https://reader030.vdocuments.net/reader030/viewer/2022033014/56812cd8550346895d9196c0/html5/thumbnails/5.jpg)
Selective Refinement
Use Vertex History
![Page 6: Progressive Mesh in DirectX](https://reader030.vdocuments.net/reader030/viewer/2022033014/56812cd8550346895d9196c0/html5/thumbnails/6.jpg)
The Pipeline of DirectX Mesh
ID3DXMesh interface ID3DXPMesh interface
![Page 7: Progressive Mesh in DirectX](https://reader030.vdocuments.net/reader030/viewer/2022033014/56812cd8550346895d9196c0/html5/thumbnails/7.jpg)
ID3DXMesh interface
General Mesh interface Buffers
– Vertex Buffer– Index Buffer– Attribute Buffer
Functions– DrawSubset(DWORD n);
![Page 8: Progressive Mesh in DirectX](https://reader030.vdocuments.net/reader030/viewer/2022033014/56812cd8550346895d9196c0/html5/thumbnails/8.jpg)
ID3DXPMesh
Progressive Mesh interface Make from ID3DXMesh Using Progressive Mesh interface
![Page 9: Progressive Mesh in DirectX](https://reader030.vdocuments.net/reader030/viewer/2022033014/56812cd8550346895d9196c0/html5/thumbnails/9.jpg)
Implementation
Implement from ID3DXMesh Using Vertex Buffer and Index Buffer Class Gmesh Vertex Node Tree, History
![Page 10: Progressive Mesh in DirectX](https://reader030.vdocuments.net/reader030/viewer/2022033014/56812cd8550346895d9196c0/html5/thumbnails/10.jpg)
Rendering Pipeline
Read PM File
Make GMesh
Write in
Mesh Buffer
Draw Mesh
![Page 11: Progressive Mesh in DirectX](https://reader030.vdocuments.net/reader030/viewer/2022033014/56812cd8550346895d9196c0/html5/thumbnails/11.jpg)
Result
Rabbit
![Page 12: Progressive Mesh in DirectX](https://reader030.vdocuments.net/reader030/viewer/2022033014/56812cd8550346895d9196c0/html5/thumbnails/12.jpg)
View-Dependent Refinement
1. Definitions
2. Refinement Criteria
3. Implementation
![Page 13: Progressive Mesh in DirectX](https://reader030.vdocuments.net/reader030/viewer/2022033014/56812cd8550346895d9196c0/html5/thumbnails/13.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022033014/56812cd8550346895d9196c0/html5/thumbnails/14.jpg)
1. Definitions (2)
- Vertex hierarchy
![Page 15: Progressive Mesh in DirectX](https://reader030.vdocuments.net/reader030/viewer/2022033014/56812cd8550346895d9196c0/html5/thumbnails/15.jpg)
1. Definitions (3)
- Legal
![Page 16: Progressive Mesh in DirectX](https://reader030.vdocuments.net/reader030/viewer/2022033014/56812cd8550346895d9196c0/html5/thumbnails/16.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022033014/56812cd8550346895d9196c0/html5/thumbnails/17.jpg)
2. Refinement Criteria (1)
- Bounding Sphere
![Page 18: Progressive Mesh in DirectX](https://reader030.vdocuments.net/reader030/viewer/2022033014/56812cd8550346895d9196c0/html5/thumbnails/18.jpg)
2. Refinement Criteria (1)
- Out of View frustum
Red lines show distance
![Page 19: Progressive Mesh in DirectX](https://reader030.vdocuments.net/reader030/viewer/2022033014/56812cd8550346895d9196c0/html5/thumbnails/19.jpg)
2. Refinement Criteria (2)
- Cone of normals
Unnecessary to split if
![Page 20: Progressive Mesh in DirectX](https://reader030.vdocuments.net/reader030/viewer/2022033014/56812cd8550346895d9196c0/html5/thumbnails/20.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022033014/56812cd8550346895d9196c0/html5/thumbnails/21.jpg)
3. Implementation
- ListNode *ActiveVertexHead
double linked list of active vertex
- ListNode *RootVertexHeadDouble linked list of root vertex
![Page 22: Progressive Mesh in DirectX](https://reader030.vdocuments.net/reader030/viewer/2022033014/56812cd8550346895d9196c0/html5/thumbnails/22.jpg)
3. Implementation
Active Vertex v1 v2 v3 v4 v5 v6
v1 v3 v4 v5 v6 v21 v22
SplitQrefine()