次の方法で共有


D3D10CreateStateBlock 関数 (d3d10effect.h)

状態ブロックを作成します。

構文

HRESULT D3D10CreateStateBlock(
  [in]  ID3D10Device           *pDevice,
  [in]  D3D10_STATE_BLOCK_MASK *pStateBlockMask,
  [out] ID3D10StateBlock       **ppStateBlock
);

パラメーター

[in] pDevice

種類: ID3D10Device*

状態ブロックが作成されるデバイス。

[in] pStateBlockMask

種類: D3D10_STATE_BLOCK_MASK*

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

関連項目

コア関数

効果関数