Platform SDK: DirectX |
IDirect3DDevice7::SetClipPlane メソッドは、デバイスのユーザー定義クリップ面の係数を設定する。
HRESULT SetClipPlane( DWORD dwIndex, D3DVALUE* pPlaneEquation );
成功すれば D3D_OK を返す。
失敗すれば DDERR_INVALIDPARAMS を返す。このエラーは、dwIndex の値がデバイスによってサポートされる最大クリップ面インデックスを超えているか、pPlaneEquation の配列が 4 つの浮動小数点値を格納するほど大きくないことを示す。
このメソッドで設定する係数は、一般平面方程式の形をとる。pPlaneEquation の配列の値が配列内での順に A、B、C、および D とラベル付けされている場合、これらの値は一般平面方程式が Ax + By + Cz + D = 0 になるように適用される。Ax + By + Cz + Dw >= 0 である場合、同次座標 (x, y, z, w) の点は平面のハーフ空間に表示される。クリップ面上または背後に存在する点はシーンからクリッピングされる。
このメソッドで使用される平面方程式は、ワールド空間に存在する。
このメソッドは、設定されたクリップ面の平面方程式を有効にはしない。クリップ面を有効にするには、DWORD 値の対応するビットを D3DRENDERSTATE_CLIPPLANEENABLE レンダリング ステートに設定する。
Windows NT/2000 :Windows 2000 が必要。
Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
バージョン :DirectX 7.0 が必要。
ヘッダー : d3d.h で宣言。
IDirect3DDevice7::GetClipPlane、D3DRENDERSTATE_CLIPPLANEENABLE、ユーザー定義クリップ面