Platform SDK: DirectX

IDirect3DDevice7::SetClipPlane

IDirect3DDevice7::SetClipPlane メソッドは、デバイスのユーザー定義クリップ面の係数を設定する。

HRESULT SetClipPlane( 
  DWORD dwIndex, 
  D3DVALUE* pPlaneEquation
); 

パラメータ

dwIndex
平面方程式の係数を設定するクリップ面のインデックス。
pPlaneEquation
一般平面方程式におけるクリップ面係数を表す値を格納する、4 要素で構成される配列のアドレス。「注意」を参照すること。

戻り値

成功すれば 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::GetClipPlaneD3DRENDERSTATE_CLIPPLANEENABLEユーザー定義クリップ面