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 |
程式庫 | D3D10.lib |
Dll | D3D10.dll |