D3DCLIPSTATUS9 構造体
現在のクリップの状態について説明します。
構文
typedef struct D3DCLIPSTATUS9 {
DWORD ClipUnion;
DWORD ClipIntersection;
} D3DCLIPSTATUS9, *LPD3DCLIPSTATUS9;
メンバー
-
ClipUnion
-
種類: DWORD
-
現在のクリップの状態を説明するクリップ共用体フラグ。 このメンバーには、次のフラグを 1 つ以上指定できます。
値 説明 - D3DCS_ALL
すべてのクリップ フラグの組み合わせ。 - D3DCS_LEFT
すべての頂点は、視錐台の左側の平面によってクリップされます。 - D3DCS_RIGHT
すべての頂点は、視錐台の右平面によってクリップされます。 - D3DCS_TOP
すべての頂点は、視錐台の上平面によってクリップされます。 - D3DCS_BOTTOM
すべての頂点は、視錐台の下部平面によってクリップされます。 - D3DCS_FRONT
すべての頂点は、視錐台の前面平面によってクリップされます。 - D3DCS_BACK
すべての頂点は、視錐台の背面平面によってクリップされます。 - D3DCS_PLANE0
アプリケーション定義のクリッピング プレーン。 - D3DCS_PLANE1
アプリケーション定義のクリッピング プレーン。 - D3DCS_PLANE2
アプリケーション定義のクリッピング プレーン。 - D3DCS_PLANE3
アプリケーション定義のクリッピング プレーン。 - D3DCS_PLANE4
アプリケーション定義のクリッピング プレーン。 - D3DCS_PLANE5
アプリケーション定義のクリッピング プレーン。 -
ClipIntersection
-
種類: DWORD
-
現在のクリップの状態を示すクリップ交差フラグ。 このメンバーは、ClipUnion と同じフラグを取得できます。
解説
頂点の処理中にクリッピングが有効になっている場合 ( ProcessVertices、 DrawPrimitive、またはその他の描画関数によって)、Direct3D はすべての頂点のクリップ コードを計算します。 クリップ コードは、D3DCS_* ビットの組み合わせです。 頂点が特定のクリッピング 平面の外側にある場合、対応するビットがクリッピング コードで設定されます。 Direct3D は、ClipUnion メンバーと ClipIntersection メンバーを持つ D3DCLIPSTATUS9 を使用してクリップの状態を維持します。 ClipUnion は、すべての頂点クリップ コードのビットごとの OR であり、ClipIntersection はすべての頂点クリップ コードのビットごとの AND です。 初期値は ClipUnion の場合は 0、ClipIntersection の場合は0xFFFFFFFFです。 D3DRS_CLIPPINGが FALSE に設定されている場合、ClipUnion と ClipIntersection は 0 に設定されます。 Direct3D は、描画呼び出し中にクリップの状態を更新します。 特定のオブジェクトのクリップの状態を計算するには、ClipUnion と ClipIntersection を初期値に設定し、描画を続行します。
クリップの状態は DrawRectPatch と DrawTriPatch によって更新されません。ソフトウェア エミュレーションがないためです。
要件
要件 | 値 |
---|---|
ヘッダー |
|
関連項目