D3DHAL_DP2TEXTURESTAGESTATE 構造体 (d3dhal.h)
D3DHAL_DP2COMMAND構造体の bCommand メンバーがD3DDP2OP_TEXTURESTAGESTATEに設定され、適切なテクスチャ ステージの状態を設定するために使用される場合、1 つ以上のD3DHAL_DP2TEXTURESTAGESTATE構造体が D3dDrawPrimitives2 コールバックによってコマンド バッファーから解析されます。
構文
typedef struct _D3DHAL_DP2TEXTURESTAGESTATE {
WORD wStage;
WORD TSState;
DWORD dwValue;
} D3DHAL_DP2TEXTURESTAGESTATE;
メンバー
wStage
テクスチャの状態を更新するテクスチャ ステージを識別します。 このメンバーには、フレーム バッファーに最も近い番号のテクスチャを含む、0 ~ 7 の範囲の整数を指定できます。
TSState
更新するテクスチャの状態を指定するD3DTEXTURESTAGESTATETYPE列挙値を指定します。 DirectX 9.0 以降のアプリケーションでは、D3DSAMPLERSTATETYPE 列挙の値を使用して、サンプラー テクスチャ関連のレンダリング状態の特性を制御できます。 DirectX 8.0 以前では、これらのサンプラーの状態がD3DTEXTURESTAGESTATETYPE列挙に含まれていました。 ランタイムは、ユーザー モード サンプラーの状態 (D3DSAMP_Xxx) をカーネル モードの D3DTSS_Xxx 値にマップして、ドライバーがユーザー モードサンプラーの状態を処理する必要がないようにします。 D3DTEXTURESTAGESTATETYPEとD3DSAMPLERSTATETYPEの詳細については、DirectX SDK のドキュメントを参照してください。
dwValue
ドライバーが TSState で識別されるテクスチャ状態を更新する必要がある値を指定します。
注釈
D3dDrawPrimitives2 では、コマンド バッファーから wStateCount D3DHAL_DP2TEXTURESTAGESTATE構造体を処理する必要があります。 wStateCount の値は、D3DHAL_DP2COMMAND構造体で指定されます。
D3dDrawPrimitives2 は、D3DHAL_DP2TEXTURESTAGESTATE構造体ごとに、dwStage のテクスチャに関連付けられているドライバーの内部テクスチャ状態を更新して、TSState に基づく新しい値を反映する必要があります。
マルチテクスチャをサポートしていないドライバーは、テクスチャ ステージ 0 のサポートのみを実装する必要があります。
次の図は、D3DDP2OP_TEXTURESTAGESTATE コマンドと 3 つのD3DHAL_DP2TEXTURESTAGESTATE構造体を含むサンプル コマンド バッファーの一部を示しています。 ドライバーは、それに応じてステージ 0 とプライベート テクスチャ ステージ状態の 3 つを更新する必要があります。
要件
要件 | 値 |
---|---|
Header | d3dhal.h (D3dhal.h を含む) |
こちらもご覧ください
D3DDP2OP_TEXTURESTAGESTATE