D3DHAL_DP2INDEXEDTRIANGLEFAN结构(d3dhal.h)

D3DHAL_DP2COMMAND 结构的 bCommand 成员设置为D3DDP2OP_INDEXEDTRIANGLEFAN时,D3dDrawPrimitives2 回调从命令缓冲区分析D3DHAL_DP2INDEXEDTRIANGLEFAN,并用于使用顶点索引呈现连接的三角形序列。 所有三角形共享一个公共顶点。

语法

typedef struct _D3DHAL_DP2INDEXEDTRIANGLEFAN {
  WORD wV[3];
} D3DHAL_DP2INDEXEDTRIANGLEFAN, *LPD3DHAL_DP2INDEXEDTRIANGLEFAN;

成员

wV[3]

指定顶点缓冲区中的索引,驱动程序从中获取组成三角形风扇的顶点的坐标数据。

尽管此成员只有足够空间来包含三个索引,但此索引数组应被视为具有可变大小的数组(wPrimitiveCount + 2) 元素。 (wPrimitiveCount 是D3DHAL_DP2COMMAND结构的成员。

言论

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结构的逻辑列表的示例命令缓冲区的一部分。 驱动程序应处理顶点缓冲区中的五个顶点,呈现由 (v[4], v[5], v[7], v[5], v[6], v[7]), (v[6], v[9], v[7]) 定义的风扇。

显示具有D3DDP2OP_INDEXEDTRIANGLEFAN命令、D3DHAL_DP2STARTVERTEX偏移量和D3DHAL_DP2INDEXEDTRIANGLEFAN结构列表图

要求

要求 价值
标头 d3dhal.h (包括 D3dhal.h)

另请参阅

D3DDP2OP_INDEXEDTRIANGLEFAN

D3DHAL_DP2COMMAND

D3DHAL_DP2STARTVERTEX

D3DHAL_DRAWPRIMITIVES2DATA

D3dDrawPrimitives2