D3D10CreateStateBlock
ステート ブロックを作成します。
HRESULT
D3D10CreateStateBlock(
ID3D10Device *pDevice,
D3D10_STATE_BLOCK_MASK *pStateBlockMask,
ID3D10StateBlock **ppStateBlock
);
パラメータ
- pDevice
ステート ブロックが作成されるデバイスです。 - pStateBlockMask
ID3D10StateBlock::Capture を呼び出したときにキャプチャーされるデバイス ステートの部分、および ID3D10StateBlock::Apply を呼び出したときに再適用される部分を示します。「解説」を参照してください。 - ppStateBlock
作成されるバッファーへのポインターのアドレスです (「ID3D10StateBlock インターフェイス」を参照してください)。
戻り値
このメソッドは、「Direct3D 10 のリターン コード」のいずれかを返します。
解説
ステート ブロックはデバイス ステートの集合体であり、デバイス ステートの保存と復元に使用されます。保存や復元においてステートのサブセットを使用できるようにするには、ステート ブロック マスクを使用します。
D3D10_STATE_BLOCK_MASK 構造体には個々にデータを設定することができます。また、D3D10StateBlockMaskXXX のいずれかの API を使用してデータを設定することもできます。ステート ブロック マスクは、ID3D10EffectTechnique::ComputeStateBlockMask または ID3D10EffectPass::ComputeStateBlockMask を呼び出して取得できます。
Direct3D 9 と Direct3D 10 の違い Direct3D 10 では、ID3D10StateBlock::Capture が呼び出されるまでは、デバイスのステートに関する有効情報がステート ブロック オブジェクトに格納されません。Direct3D 9 では、ステート ブロック オブジェクトの作成時にステートが保存されます。 |
要件
ヘッダー: D3D10Effect.h 宣言
ライブラリ: D3D10.dll 内容