D3D10CreateStateBlock 函数 (d3d10effect.h)
创建状态块。
语法
HRESULT D3D10CreateStateBlock(
[in] ID3D10Device *pDevice,
[in] D3D10_STATE_BLOCK_MASK *pStateBlockMask,
[out] ID3D10StateBlock **ppStateBlock
);
参数
[in] pDevice
类型: ID3D10Device*
将为其创建状态块的设备。
[in] pStateBlockMask
指示在调用 ID3D10StateBlock::Capture 时将捕获设备状态的哪些部分,并在调用 ID3D10StateBlock::Apply 时重新应用哪些部分。 请参阅备注。
[out] ppStateBlock
类型: ID3D10StateBlock**
指向 (创建的缓冲区的指针的地址,请参阅 ID3D10StateBlock 接口) 。
返回值
类型: HRESULT
此方法返回以下 Direct3D 10 返回代码之一。
注解
状态块是设备状态的集合,用于保存和还原设备状态。 使用状态块掩码启用用于保存和还原的状态子集。
D3D10_STATE_BLOCK_MASK 结构可以 手动填充,也可以使用任何 D3D10StateBlockMaskXXX API 填充。 还可以通过调用 ID3D10EffectTechnique::ComputeStateBlockMask 或 ID3D10EffectPass::ComputeStateBlockMask 来获取状态块掩码。
Direct3D 9 与 Direct3D 10 之间的差异: 在 Direct3D 10 中,在调用 ID3D10StateBlock::Capture 之前,状态块对象不包含有关设备状态的任何有效信息。 在 Direct3D 9 中,状态在创建时保存在状态块对象中。 |
要求
目标平台 | Windows |
标头 | d3d10effect.h |
Library | D3D10.lib |
DLL | D3D10.dll |