GLCLIPPLANE
Section: Misc. Reference Manual Pages (3G)
索引
xjman
名前
glClipPlane
- 全ての幾何形状をクリッピングする平面を指定する
書式
void glClipPlane(
GLenum plane,
const GLdouble *equation )
delim $$
引き数
- plane
-
配置する平面の種類を指定する。
シンボル名としては GL_CLIP_PLANEi が指定できる。
ここで i は 0 から GL_MAX_CLIP_PLANES$^-^1$ までの
整数である。
- equation
-
倍精度浮動小数点数値 4 つからなる配列を指すアドレスを指定する。
この配列の値は平面を表す方程式として解釈される。
説明
幾何形状は必ず、x, y, z 空間上の角錐台(面は 6 つ)の
境界面によってクリッピングされる。
glClipPlane を使うと、全ての幾何形状をクリップする平面を
新しく追加できる。
この平面は x, y, z 軸に対して垂直である必要はない。
追加できるクリッピング平面の最大の個数を調べるには、
glGetIntegerv に引き数 GL_MAX_CLIP_PLANES を指定して
呼ぶこと。
どの実装も少なくとも 6 つのクリッピング平面に対応している。
結果として得られるクリッピング領域は定義された半空間の共通部分
であるため、クリッピング領域は必ず凸包となる。
glClipPlane は平面を表す方程式の 4 つの要素を使って半空間を指定する。
glClipPlane が呼ばれると、
equation はモデルビュー行列の逆行列によって変換され、
その結果となる眼点座標で格納される。
変換後にモデルビュー行列が変更されても、既に格納された
平面方程式要素には影響しない。
ある頂点の座標(眼点座標)と格納されている平面の方程式の要素の内積
が 0 以上ならば、この頂点はクリッピング平面に対して内側にある。
それ以外の場合はこの頂点は外側にある。
クリッピング平面を有効または無効にするには、
引き数 GL_CLIP_PLANEi を指定して
glEnable または glDisable を呼ぶこと。
ここで i はプレーン番号である。
全てのクリッピング平面は初期状態では眼点座標で (0, 0, 0, 0) と
定義されており、また全て無効になっている。
注意
GL_CLIP_PLANE$i$ = GL_CLIP_PLANE0$~+~i$ は常に成り立つ。
エラー
GL_INVALID_ENUM:
不正な値を plane に指定すると起こる。
GL_INVALID_OPERATION:
glBegin と、これと対になる glEnd の間に
glClipPlane が実行されると起こる。
関連する取得値
glGetClipPlane
引き数 GL_CLIP_PLANEi を指定した glIsEnabled
関連項目
glEnable(3G)
Index
- 名前
-
- 書式
-
- 引き数
-
- 説明
-
- 注意
-
- エラー
-
- 関連する取得値
-
- 関連項目
-
Time: 07:01:05 GMT, January 12, 2009