D3DHAL_DP2TRIANGLEFAN_IMM 结构 (d3dhal.h)

当 D3DHAL_DP2COMMAND 结构的 bCommand 成员设置为 D3DDP2OP_TRIANGLEFAN_IMM 并用于呈现三角形扇时,D3dDrawPrimitives2 回调会从命令缓冲区分析一个 D3DHAL_DP2TRIANGLEFAN_IMM 结构。

语法

typedef struct _D3DHAL_DP2TRIANGLEFAN_IMM {
  DWORD dwEdgeFlags;
} D3DHAL_DP2TRIANGLEFAN_IMM;

成员

dwEdgeFlags

指定一个位掩码,用于标识当填充模式D3DFILL_WIREFRAME时应呈现哪些风扇的外部边缘。 设置位指示应呈现其对应的边缘。 有关此位掩码的详细信息,请参阅“备注”部分。

注解

一个D3DHAL_DP2TRIANGLEFAN_IMM结构紧跟命令缓冲区中的 D3DHAL_DP2COMMAND 结构。 三角形风扇的顶点数据紧跟命令缓冲区中的D3DHAL_DP2TRIANGLEFAN_IMM结构之后,以 DWORD 对齐。

D3dDrawPrimitives2 应从命令缓冲区处理总共 2 个 wPrimitiveCount+2 个顶点,每个三角形三个顶点,呈现 wPrimitiveCount 三角形。 呈现的三角形序列 (V[1]V[2]V[0]) 、 (V[2]V[3]V[0]) 、 (V[3]V[4]V[0]) 、...、 (V[wPrimitiveCount]V[wPrimitiveCount] + 1]V[0]) 。 wPrimitiveCount 的值在 D3DHAL_DP2COMMAND 结构中指定。

当填充模式D3DFILL_WIREFRAME时,驱动程序必须为风扇的每个外部边缘检查边缘标志。 从 dwEdgeFlags 的最小有效位开始,位 0 适用于 V[0]-V[1] 边缘, 位 1 适用于 V[1]-V[2] 边缘,...,位 wPrimitiveCount 适用于 V[wPrimitiveCount]-V[[wPrimitiveCount]+1] 边缘,位 (wPrimitiveCount + 1) 适用于 V[[wPrimitiveCount]+1]-V[0] 边缘。

下图显示了包含D3DDP2OP_TRIANGLEFAN_IMM命令、D3DHAL_DP2TRIANGLEFAN_IMM结构和顶点数据的示例命令缓冲区的一部分。 驱动程序应处理命令缓冲区中的五个顶点,并呈现由 (v[1]、v[2]、v[0]) 、 (v[2]、v[3]、v[0]) 、 (v[3]、v[4]、v[0]) 定义的三个三角形的风扇。

显示具有D3DDP2OP_TRIANGLEFAN_IMM命令、D3DHAL_DP2TRIANGLEFAN_IMM结构和顶点数据的命令缓冲区的图

要求

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

另请参阅

D3DDP2OP_TRIANGLEFAN_IMM

D3DHAL_DP2COMMAND

D3dDrawPrimitives2