次の方法で共有


glClipPlane 関数

glClipPlane 関数は、すべてのジオメトリがクリップされる平面を指定します。

構文

void WINAPI glClipPlane(
         GLenum   plane,
   const GLdouble *equation
);

パラメーター

plane

配置されているクリッピング平面。 i GL_CLIP_PLANE形式のシンボリック名 (i は 0 ~ GL_MAX_CLIP_PLANES - 1 の整数) を受け入れます。

equation

4 つの倍精度浮動小数点値の配列のアドレス。 これらの値は平面方程式として解釈されます。

戻り値

この関数は値を返しません。

エラー コード

glGetError 関数では、次のエラー コードを取得できます。

名前 意味
GL_INVALID_ENUM
plane は受け入れ可能な値ではありません。
GL_INVALID_OPERATION
glBegin の呼び出しと glEnd の対応する呼び出しの間に関数が呼び出されました。

解説

ジオメトリは常に 、xyz の 6 平面の錐台の境界に対してクリップされます。 glClipPlane 関数を使用すると、すべてのジオメトリがクリップされる x 軸、y 軸、または z 軸に対して必ずしも垂直ではない、追加の平面を指定できます。 最大GL_MAX_CLIP_PLANES平面を指定できます。ここで、GL_MAX_CLIP_PLANESはすべての実装で少なくとも 6 つです。 結果として得られるクリッピング領域は、定義された半空間の交差部分であるため、常に凸型になります。

glClipPlane 関数は、4 成分平面式を使用して半空間を指定します。 glClipPlane を呼び出すと、数式は modelview 行列の逆関数によって変換され、結果の視線座標に格納されます。 modelview 行列に対する後続の変更は、格納されている平面方程式コンポーネントには影響しません。 格納された平面の数式コンポーネントを含む頂点の目の座標のドット積が正またはゼロの場合、頂点はそのクリッピング平面に対して存在します。 それ以外の場合は、出力されます。

クリッピング 平面を有効または無効にするには、 glEnable 関数と glDisable 関数を使用します。 引数 GL_CLIP_PLANEi を指定してクリッピング 平面を呼び出します。 ここで、i は平面番号です。

既定では、すべてのクリッピング平面は目の座標で (0,0,0,0) として定義され、無効になります。

i = GL_CLIP_PLANE0 +i をGL_CLIP_PLANEする場合は常 です。

次の関数は 、glClipPlane に関連する情報を取得します。

glGetClipPlane

glIsEnabled with argument GL_CLIP_PLANE i

必要条件

要件
サポートされている最小のクライアント
Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー
Gl.h
ライブラリ
Opengl32.lib
[DLL]
Opengl32.dll

関連項目

glBegin

glDisable

glEnable

glEnd

glGetClipPlane

glIsEnabled