邻接三角形信息
对于某些的模型操作mesh operations),例如优化,需要知道三角形的邻接信息。Mesh的adjacency array存储着这样的信息。
ajacency array是一个DWORD数组。每个元素存储一个索引,表示一个mesh中的三角形。例如下标为i的就表示第i个三角形,可以通过计算得到三角形顶点索引信息:
A = i · 3
B = i · 3 + 1
C = i · 3 + 2
注意值为ULONG_MAX = 4294967295,代表改边没有邻接三角形。可以用-1来赋值。-1变为无符号通常为最大值。
三角形有三条表,所以最多有三个邻接三角形,所以pAdjacency(ajacency array)必须是ID3DXBaseMesh::GetNumFaces() * 3(三角形面的三倍)。
计算邻接三角形信息:
DWORD* adjacencyInfo = new DWORD[Mesh->GetNumFaces() * 3];
Mesh->GenerateAdjacency(0.001f, adjacencyInfo);
优化:
顶点和索引合理安排可以更加有效的渲染mesh模型。
Direct3D函数:
应用:
下面的函数是直接优化原mesh模型:
这里并没有太多深入其原理。只是讲用法。
Reference:
Direct3D龙书
分享到:
相关推荐
图论--邻接谱及图和邻接代数.ppt
图论课件--邻接谱及图和邻接代数.ppt
深度优先算法--邻接表,算法导论,第22章
《数据结构与算法》-李春葆 实验报告-基于邻接链表存储的无向图形算法实践-邻接链表
图--邻接矩阵-遍历.pdf
匈牙利算法-邻接表实现 还有一些注释,应该很清楚
DFS-邻接矩阵.cpp
c语言数据结构图的相关操作源码-邻接表邻接矩阵等等
广度优先搜索-邻接矩阵.cpp
数据结构-最小生成树.Prim-邻接矩阵的实现
C语言数据结构-邻接表的广度优先遍历
IPv4与IPv6业务-邻接表技术介绍-D.docx
matlab开发-邻接矩阵预分配研究。通过邻接矩阵在网络图中传播事件
IPv4与IPv6业务-邻接表技术介绍.pdf
二 邻接表实现// 顶点head *node // 顶点的边表头指针// 边结点类型adjvex int // 邻接点域,即在顶点数组中的索引// 图// 创建
用矩阵的方式存储图的信息,对图进行创建,销毁,插入,删除,查找,遍历等操作。对图的相关的一系列的操作,能熟悉和掌握有关图的一些内容。
图 广度优先算法 邻接表实现 算法导论 第22章
用邻接举证实现求顶点间最短路径 MGraph G; //创建图结构 CreatTu(G); //显示图结构 Disp(G); //寻找最短路径 simpleline(G);
abcde
《数据结构与算法(C++版)》先关 邻接表表示的图的广度优先遍历的动画演示