当 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 阶段及其三个专用纹理阶段状态。
要求
| 要求 | 价值 |
|---|---|
| 标头 | d3dhal.h (包括 D3dhal.h) |
另请参阅
D3DDP2OP_TEXTURESTAGESTATE