D3DHAL_DP2TEXTURESTAGESTATE 结构 (d3dhal.h)

当D3DHAL_DP2COMMAND结构的 bCommand 成员设置为 D3DDP2OP_TEXTURESTAGESTATE 并用于设置适当的纹理阶段状态时,D3dDrawPrimitives2 回调将从命令缓冲区分析一个或多个D3DHAL_DP2TEXTURESTAGESTATE结构。

语法

typedef struct _D3DHAL_DP2TEXTURESTAGESTATE {
  WORD  wStage;
  WORD  TSState;
  DWORD dwValue;
} D3DHAL_DP2TEXTURESTAGESTATE;

成员

wStage

标识更新纹理状态的纹理阶段。 此成员可以是介于 0 到 7 之间的整数,编号最高的纹理最接近帧缓冲区。

TSState

指定D3DTEXTURESTAGESTATETYPE枚举值,该值指定要更新的纹理状态。 DirectX 9.0 及更高版本应用程序可以使用D3DSAMPLERSTATETYPE枚举中的值来控制采样器纹理相关呈现状态的特征。 在 DirectX 8.0 及更早版本中,这些采样器状态包含在 D3DTEXTURESTAGESTATETYPE 枚举中。 运行时将用户模式采样器状态 (D3DSAMP_ Xxx) 映射到内核模式D3DTSS_Xxx 值,以便无需驱动程序来处理用户模式采样器状态。 有关D3DTEXTURESTAGESTATETYPE和D3DSAMPLERSTATETYPE的详细信息,请参阅 DirectX SDK 文档。

dwValue

指定驱动程序应将 TSState 标识的纹理状态更新到的值。

注解

D3dDrawPrimitives2 应从命令缓冲区处理 wStateCount D3DHAL_DP2TEXTURESTAGESTATE结构。 wStateCount 的值在 D3DHAL_DP2COMMAND 结构中指定。

对于每个D3DHAL_DP2TEXTURESTAGESTATE结构, D3dDrawPrimitives2 应更新与 dwStage 处纹理关联的驱动程序的内部纹理状态,以反映基于 TSState 的新值。

不支持多文本的驱动程序应仅实现对纹理阶段 0 的支持。

下图显示了包含D3DDP2OP_TEXTURESTAGESTATE命令和三个D3DHAL_DP2TEXTURESTAGESTATE结构的示例命令缓冲区的一部分。 驱动程序应相应地更新第 0 阶段和 3 个专用纹理阶段状态。

显示具有D3DDP2OP_TEXTURESTAGESTATE命令和三个D3DHAL_DP2TEXTURESTAGESTATE结构的命令缓冲区的图

要求

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

另请参阅

D3DDP2OP_TEXTURESTAGESTATE

D3DHAL_DP2COMMAND

D3dDrawPrimitives2