Microsoft DirectX 8.0 (Visual Basic)

Direct3DDevice8.SetClipPlane

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

object.SetClipPlane( _ 
    Index As Long, _ 
    Plane As D3DPLANE)

指定項目

object
Direct3DDevice8 オブジェクトを表すオブジェクト式。
Index
平面方程式の係数を設定するクリップ面のインデックス。
Plane
設定する一般平面方程式形式のクリップ面係数を含む D3DPLANE 型。「注意」を参照すること。

エラー コード

失敗した場合はエラーが発生し、Err.NumberD3DERR_INVALIDCALL が設定される。このエラーは、Index の値が、そのデバイスでサポートされる最大クリップ面インデックスを超えていることを示す。

エラー トラッピングの詳細については、Microsoft® Visual Basic® の「エラー処理」を参照すること。

注意

このメソッドで設定する係数は、一般平面方程式の形式になっている。D3DPLANE 型の Plane の値 a、b、c、および d は一般平面方程式が ax + by + cz + d = 0 になるように適用される。ax + by + cz + dw >= 0 である場合、同次座標 (x, y, z, w) のポイントは平面が切り取る半分の空間に表示される。クリップ面上または背後に存在するポイントはシーンからクリッピングされる。

固定機能パイプラインが使用される場合、平面方程式はワールド空間にあると仮定される。プログラム可能なパイプラインが使用される場合、平面方程式はクリップ空間 (出力頂点と同じ空間) にあると仮定される。

このメソッドは、設定されているクリップ面の式を有効にするものではない。クリップ面を有効にするには、CONST_D3DRENDERSTATETYPE 列挙の D3DRS_CLIPPLANEENABLE レンダリング ステート定数を使用する。

参照

Direct3DDevice8.GetClipPlane