IDirect3DDevice9::GetClipPlane メソッド

IDirect3DDevice9::GetClipPlane メソッド

デバイスのユーザー定義クリップ面の係数を取得する。

構文

HRESULT GetClipPlane(      
    DWORD Index,
    float *pPlane
);

パラメータ

  • Index
    [in] 平面方程式の係数を取得するクリップ面のインデックス。
  • pPlane
    [out] 一般平面方程式においてクリップ面の係数を表す値の、4 要素で構成される配列へのポインタ。「注意」を参照すること。

戻り値

成功した場合は、D3D_OK を返す。

失敗した場合は、D3DERR_INVALIDCALL を返す。このエラーは、Index の値がデバイスでサポートされる最大クリップ面インデックスを超えているか、pPlane の配列が 4 つの浮動小数点値を格納するほど大きくないことを示す。

注意

このメソッドは、D3DCREATE_PUREDEVICE を使って作成したデバイスのデバイス ステートを返さない。このメソッドを使うには、D3DCREATE の他のいずれかの値を指定してデバイスを作成する必要がある。

このメソッドで取得する係数は、一般平面方程式の形式になっている。pPlane の配列の値を配列内での順に A、B、C、D とすると、これらの値は一般平面方程式が Ax + By + Cz + Dw = 0 になるように適用される。Ax + By + Cz + Dw >= 0 である場合、同次座標 (x, y, z, w) の点は平面で切り取られた半分の空間に表示される。クリップ面上または背後に存在する点はシーンからクリッピングされる。

このメソッドで使われる平面方程式はワールド空間にあり、それ以前に呼び出した IDirect3DDevice9::SetClipPlane メソッドによって設定されている。

参照

IDirect3DDevice9::SetClipPlane