Platform SDK: DirectX |
Direct3DDevice7.SetClipPlane メソッドは、デバイスのユーザー定義クリップ面の係数を設定する。
object.SetClipPlane( _ Index As Long, _ a As Single, _ b As Single, _ c As Single, _ d As Single)
メソッドが失敗するとエラーが発生し、Err.Number に DDERR_INVALIDPARAMS が設定される。このエラーは、Index の値が、そのデバイスでサポートされる最大クリップ面インデックス数を越えることを示す。
このメソッドでは、一般的な平面式で係数を返す。Ax + By + Cz + D = 0 になるように、a、b、c、および d の値が一般的な平面式に代入される。Ax + By + Cz + Dw >= 0 の場合、同一の座標 (x、y、z、w) を持つ点が、平面の半分の空間で可視になる。クリップ面上または背後にある点は、シーンからクリップされる。
このメソッドで使用される平面式はワールド空間にある。
このメソッドは、設定されているクリップ面を有効にするものではない。クリップ面を有効にするには、D3DRENDERSTATE_CLIPPLANEENABLE レンダリング ステートを使用する。
Direct3DDevice7.GetClipPlane、D3DRENDERSTATE_CLIPPLANEENABLE、ユーザー定義クリップ面