Microsoft DirectX 8.0 (C++)

ステート ブロックについて

Microsoft® Direct3D® のステート ブロックとは、デバイス ステートのグループである。これには、レンダリング ステート、ライティングおよびマテリアル パラメータ、トランスフォーム ステート、テクスチャ ステージ ステート、およびカレント テクスチャ情報がある。ステート ブロックは、デバイスの現在のステートのスナップショットとして処理されるか、または明示的に記録される。スナップショットは、1 回の呼び出しでデバイスに適用することができる。デバイス ステート ブロックは、アプリケーションで必要となる共通した一連のステート変更を高速化するために、レンダリング デバイスで最適化することができる。また、デバイス ステート ブロックの使用により、デバイス ステートの適用を単純化することもできる。

C++ では、ステート ブロック ハンドルを受け取るのは、IDirect3DDevice8::EndStateBlock メソッドを呼び出してステート ブロックの記録を終了したとき、および IDirect3DDevice8::CreateStateBlock メソッドを呼び出して事前定義されているデバイス ステート データ セットを取得したときである。