D3DHAL_DP2RENDERSTATE構造体 (d3dhal.h)
D3DHAL_DP2COMMAND 構造体の bCommand メンバーがD3DDP2OP_RENDERSTATEに設定され、適切なレンダリング状態を設定するために使用される場合、1 つ以上のD3DHAL_DP2RENDERSTATE構造体が D3dDrawPrimitives2 コールバックによってコマンド バッファーから解析されます。
構文
typedef struct _D3DHAL_DP2RENDERSTATE {
D3DRENDERSTATETYPE RenderState;
union {
D3DVALUE dvState;
DWORD dwState;
};
} D3DHAL_DP2RENDERSTATE;
メンバーズ
RenderState
更新するレンダリング状態を示すD3DRENDERSTATETYPE列挙型を指定します。 アプリケーション レベルで要求されるレンダリング状態については、DirectX SDK のドキュメントを参照してください。 ドライバーによって排他的に使用されるレンダリング状態については、D3DRENDERSTATETYPEで説明します。
dvState
RenderState メンバーによって識別されるレンダリング状態をドライバーが更新する必要がある値を指定します。 このメンバーは、RenderState D3DVALUEが必要な場合に有効です。
dwState
RenderState で識別されるレンダリング状態をドライバーが更新する必要がある値を指定します。 このメンバーは、RenderState に DWORD が必要な場合に有効です。
備考
D3dDrawPrimitives2 コマンド バッファーから wStateCount D3DHAL_DP2RENDERSTATE 構造体 処理する必要があります。 wStateCount の値は、D3DHAL_DP2COMMAND構造体で指定されます。
D3DHAL_DP2RENDERSTATE構造体ごとに、D3dDrawPrimitives2 は、ドライバーのプライベート レンダリング状態と、D3DHAL_DRAWPRIMITIVES2DATA のメンバー lpdwRStates が指すレンダリング状態配列を更新する必要があります。 パブリック レンダリング状態配列で更新する要素は、lpdwRStates[RenderState] です。
次の図は、D3DDP2OP_RENDERSTATE コマンドと 2 つのD3DHAL_DP2RENDERSTATE構造体を含むサンプル コマンド バッファーの一部を示しています。 ドライバーは lpdwRStates[D3DRENDERSTATE_FILLMODE] を更新してD3DFILL_SOLIDし、lpdwRStates [D3DRENDERSTATE_SHADEMODE] をD3DSHADE_GOURAUDする必要があります。 ドライバーは、それに応じてプライベート状態も更新する必要があります。
D3DDP2OP_RENDERSTATE コマンドと 2 つのD3DHAL_DP2RENDERSTATE構造体を持つコマンド バッファーを示す
必要条件
要件 | 価値 |
---|---|
ヘッダー | d3dhal.h (D3dhal.h を含む) |
関連項目
D3DDP2OP_RENDERSTATE
D3dDrawPrimitives2 の