次の方法で共有


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 内容

関連項目

コア関数