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 阶段及其三个专用纹理阶段状态。

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

要求

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

另请参阅

D3DDP2OP_TEXTURESTAGESTATE

D3DHAL_DP2COMMAND

D3dDrawPrimitives2