次の方法で共有


IDirect3DDevice9::CreateStateBlock

すべてのデバイス ステート、頂点関連のステート、またはピクセル関連のステートの値を含む新しいステート ブロックを作成します。

HRESULT 
CreateStateBlock(
  D3DSTATEBLOCKTYPE Type,
  IDirect3DStateBlock9** ppSB
);

パラメータ

  • Type
    取り込むステート データのタイプ。このパラメーターは、D3DSTATEBLOCKTYPE 列挙型で定義された値に設定できます。
  • ppSB
    ステート ブロック インターフェイスへのポインター。「IDirect3DStateBlock9」を参照してください。

戻り値

メソッドが成功した場合は、D3D_OK を返します。失敗した場合は、次の戻り値のいずれかを返します。D3DERR_INVALIDCALL、D3DERR_OUTOFVIDEOMEMORY、E_OUTOFMEMORY。

解説 

頂点関連のデバイス ステートとは、一般にはシステムの頂点の処理方法に影響するステートのことです。ピクセル関連のステートとは、ラスター化でシステムがどのような方法でピクセルまたは深度バッファーを処理するかに影響するデバイス ステートのことです。両方に含まれるステートもあります。

Direct3D 9 と Direct3D 10 の違い

Direct3D 9 では、オブジェクトの作成時にキャプチャーすることを要求されたステートのステート データがステート ブロックに含まれています。ステート ブロックの値を変更するには、IDirect3DStateBlock9::Capture または IDirect3DDevice9::BeginStateBlock/IDirect3DDevice9::EndStateBlock を呼び出します。Direct3D 10 でステート ブロック オブジェクトが作成されたときは、ステートは保存されません。

要件

ヘッダー: D3D9.h 宣言

ライブラリ: D3D9.lib 内容

関連項目

IDirect3DDevice9::BeginStateBlock, IDirect3DDevice9::EndStateBlock