D3DHAL_DP2INDEXEDTRIANGLEFAN 结构 (d3dhal.h)
当D3DHAL_DP2COMMAND结构的bCommand 成员设置为 D3DDP2OP_INDEXEDTRIANGLEFAN 时,D3DHAL_DP2INDEXEDTRIANGLEFAN由 D3dDrawPrimitives2 回调从命令缓冲区进行分析,并且用于使用顶点索引呈现连接的三角形序列。 所有三角形共享一个共同的顶点。
语法
typedef struct _D3DHAL_DP2INDEXEDTRIANGLEFAN {
WORD wV[3];
} D3DHAL_DP2INDEXEDTRIANGLEFAN, *LPD3DHAL_DP2INDEXEDTRIANGLEFAN;
成员
wV[3]
指定顶点缓冲区中的索引,驱动程序从中获取组成三角形风扇的顶点的坐标数据。
尽管此成员只有足够空间来包含三个索引,但此索引数组应被视为具有 (wPrimitiveCount + 2 个) 元素的可变大小的数组。 (wPrimitiveCount 是 D3DHAL_DP2COMMAND structure.)
注解
D3dDrawPrimitives2 应处理命令缓冲区 (wPrimitiveCount+2) 索引,实际上处理 wPrimitiveCount D3DHAL_DP2INDEXEDTRIANGLEFAN 结构。 wPrimitiveCount 的值在 D3DHAL_DP2COMMAND 结构中指定。
驱动程序应从顶点缓冲区处理总共 (wPrimitiveCount + 2 个) 顶点,每个三角形三个顶点。 呈现的三角形序列为: (wV[1]、 wV[2]、 wV[0]) 、 (wV[2]、 wV[3]、 wV[0]) 、 (wV[3]、 wV[4]、 wV[0]) 、...、 (wV[wPrimitiveCount]、 wV[wPrimitiveCount]+1]、 wV[0]) 。 请注意,所有三角形都具有 wV[0] 中指定的共同顶点。
D3DHAL_DP2STARTVERTEX 结构紧跟在命令缓冲区中的 命令后面。 顶点缓冲区索引相对于由 D3DHAL_DRAWPRIMITIVES2DATA 结构的 dwVertexOffset 成员指定的顶点缓冲区偏移量加上从 D3DHAL_DP2STARTVERTEX 结构的 wVStart 成员获取的基偏移量。
下图显示了包含D3DDP2OP_INDEXEDTRIANGLEFAN命令、D3DHAL_DP2STARTVERTEX偏移量和D3DHAL_DP2INDEXEDTRIANGLEFAN结构的逻辑列表的示例命令缓冲区的一部分。 驱动程序应处理顶点缓冲区中的 5 个顶点,并呈现由 (v[4]、v[5]、v[7]) 、 (v[5]、v[6]、v[7]) 、 (v[6]、v[9]、v[7]) 定义的三个三角形的风扇。
要求
要求 | 值 |
---|---|
Header | d3dhal.h (包括 D3dhal.h) |
另请参阅
D3DDP2OP_INDEXEDTRIANGLEFAN