D3DHAL_DP2TRIANGLESTRIP 结构 (d3dhal.h)

当D3DHAL_DP2COMMAND结构的 bCommand 成员设置为 D3DDP2OP_TRIANGLESTRIP 时,D3dDrawPrimitives2 回调从命令缓冲区分析一个D3DHAL_DP2TRIANGLESTRIP结构,并用于呈现指定的连接三角形带。

语法

typedef struct _D3DHAL_DP2TRIANGLESTRIP {
  WORD wVStart;
} D3DHAL_DP2TRIANGLESTRIP, *LPD3DHAL_DP2TRIANGLESTRIP;

成员

wVStart

指定顶点缓冲区的索引,该缓冲区包含三角形带的初始顶点的坐标数据。

注解

一个D3DHAL_DP2TRIANGLESTRIP结构遵循命令缓冲区中的D3DHAL_DP2COMMAND结构。

D3dDrawPrimitives2 应处理来自顶点缓冲区的总共 (wPrimitiveCount + 2 个) 顶点。 wPrimitiveCount 的值在 D3DHAL_DP2COMMAND 结构中指定。

三角形带中的三角形边缘按以下顺序呈现: (wV[0]wV[1]wV[2]) 、 (wV[1]wV[3]wV[2]) 、 (wV[2]wV[3]wV[4]) 、 (wV[3]wV[5]wV[4]) ,...

但是,对于三角形带中的最后一个三角形,当 wPrimitiveCountt 为奇数且为偶数时,边缘以不同的顺序呈现。

  • wPrimitiveCount 为奇数时,按以下顺序呈现最后一个三角形的边缘: (wV[wPrimitiveCount - 1]wV[wPrimitiveCount]wV[wPrimitiveCount + 1]) 。
  • wPrimitiveCount 为偶数时,按以下顺序呈现最后一个三角形的边缘: (wV[wPrimitiveCount- 1]wV[wPrimitiveCount + 1]wV[wPrimitiveCount) 。
下图显示了包含D3DDP2OP_TRIANGLESTRIP命令和一个D3DHAL_DP2TRIANGLESTRIP结构的示例命令缓冲区的一部分。 驱动程序应处理顶点缓冲区中的五个顶点,呈现由 (v[0]、v[1]、v[2]) 、 (v[1]、v[3]、v[2]) 、 (v[2]、v[3]、v[4]) 定义的三个三角形条带。 显示具有D3DDP2OP_TRIANGLESTRIP命令和一个D3DHAL_DP2TRIANGLESTRIP结构的命令缓冲区的图

要求

要求
Header d3dhal.h (包括 D3dhal.h)

另请参阅

D3DDP2OP_TRIANGLESTRIP

D3DHAL_DP2COMMAND

D3dDrawPrimitives2