英語で読む

次の方法で共有


glBegin 関数

glBegin 関数と glend 関数は、プリミティブの頂点または同様のプリミティブのグループを区切ります。

構文

void WINAPI glBegin(
   GLenum mode
);

パラメーター

mode

glBegin と後続のグレンの間に表示される頂点から作成されるプリミティブまたはプリミティブ。 受け入れられるシンボリック定数とその意味を次に示します。

説明
GL_POINTS
各頂点を 1 つのポイントとして扱います。 頂点 n はn を定義します。 N 個の点が描画されます。
GL_LINES
頂点の各ペアを独立した線分として扱います。 頂点 2n ~ 1 および 2n は 、線 n を定義します。 N/2 線が描画されます。
GL_LINE_STRIP
最初の頂点から最後の頂点までの線分の接続されたグループを描画します。 頂点 nn+1 はn を定義します。 N - 1 本の線が描画されます。
GL_LINE_LOOP
最初の頂点から最後の頂点に接続された線分のグループを描画し、次に最初の頂点に戻します。 頂点 nn + 1 はn を定義します。 ただし、最後の行は頂点 N1 によって定義されます。 N 個の線が描画されます。
GL_TRIANGLES
頂点の各トリプレットを独立した三角形として扱います。 頂点 3n - 23n - 1、および 3n は 三角形 n を定義します。 N/3 の三角形が描画されます。
GL_TRIANGLE_STRIP
接続された三角形のグループを描画します。 最初の 2 つの頂点の後に表示される頂点ごとに 1 つの三角形が定義されます。 奇数 n の場合、頂点 nn + 1および n + 2 は三角形 n を定義します。 n の場合でも、頂点 n + 1n、および n + 2 は三角形 n を定義します。 N - 2 つの三角形が描画されます。
GL_TRIANGLE_FAN
接続された三角形のグループを描画します。 最初の 2 つの頂点の後に表示される頂点ごとに 1 つの三角形が定義されます。 頂点 1n + 1n + 2 は三角形 n を定義します。 N - 2 つの三角形が描画されます。
GL_QUADS
4 つの頂点の各グループを独立した四角形として扱います。 頂点 4n - 34n - 24n - 1および 4n は 四辺形 n を定義します。 N/4 四辺形が描画されます。
GL_QUAD_STRIP
接続された四角形のグループを描画します。 1 つの四角形は、最初のペアの後に表示される頂点のペアごとに定義されます。 頂点 2n - 12n2n + 2、および 2n + 1 は四辺形 n を定義します。 N/2 - 1 四辺形が描画されます。 頂点を使用してストリップ データから四辺形を構築する順序は、独立したデータで使用される順序とは異なる点に注意してください。
GL_POLYGON
単一の凸多角形を描画します。 頂点 1 から N は 、この多角形を定義します。

戻り値

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

エラー コード

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

名前 意味
GL_INVALID_ENUM
mode が受け入れられていない値に設定されました。
GL_INVALID_OPERATION
glVertexglColorglIndexglNormalglTexCoord、glEvalCoordglEvalPointglMaterialglEdgeFlagglCallList、glCallLists 以外の関数が、glBegin と対応する glend の間で呼び出されました。 関数 glend は、対応する glBegin が呼び出される前に呼び出されたか、glBeginglend シーケンス内で glBegin/ が呼び出されました。

解説

glBegin 関数と glend 関数は、プリミティブまたは同様のプリミティブのグループを定義する頂点を区切ります。 glBegin 関数は、頂点が作成する 10 個のプリミティブのうちどれを指定する 1 つの引数を受け取ります。 n を 1 から始まる整数カウントとして、N を指定された頂点の合計数として受け取ると、解釈は次のようになります。

  • glBeginglend の間では、OpenGL 関数のサブセットのみを使用できます。 使用できる関数は次のとおりです。

    glVertex

    glColor

    glIndex

    glNormal

    glTexCoord

    glEvalCoord

    glEvalPoint

    glMaterial

    glEdgeFlag

    glCallList または glCallLists を使用して上記の関数のみを含む表示リストを実行することもできます。 glBeginglend の間に他の OpenGL 関数が呼び出された場合、エラー フラグが設定され、関数は無視されます。

  • glBeginモードに対して選択された値に関係なく、glBeginglend の間で定義できる頂点の数に制限はありません。 不完全に指定された線、三角形、四角形、および多角形は描画されません。 指定が不完全な場合は、1 つのプリミティブでも指定できる頂点が少なすぎる場合、または頂点の倍数が正しく指定されていない場合に発生します。 不完全なプリミティブは無視されます。完全なプリミティブが描画されます。

  • 各プリミティブの頂点の最小仕様は次のとおりです。

    頂点の最小数 プリミティブの型
    1 point
    2 line
    3 triangle
    4 四辺形
    3 polygon
  • 頂点の特定の倍数を必要とするモードは、GL_LINES (2)、GL_TRIANGLES (3)、GL_QUADS (4)、GL_QUAD_STRIP (2) です。

必要条件

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

関連項目

glCallList

glCallLists

glColor

glEdgeFlag

glEnd

glEvalCoord

glEvalPoint

glIndex

glMaterial

glNormal

glTexCoord

glVertex