glBegin-Funktion

Die GlBegin - und Glend-Funktionen trennen die Scheitelpunkte eines Grundtyps oder einer Gruppe von ähnlichen Grundtypen.

Syntax

void WINAPI glBegin(
   GLenum mode
);

Parameter

mode

Die Grundtypen oder Grundtypen, die aus Scheitelpunkten erstellt werden, die zwischen glBegin und dem nachfolgenden Glend dargestellt werden. Nachfolgend werden symbolische Konstanten und ihre Bedeutung akzeptiert:

Wert Bedeutung
GL_POINTS
Behandelt jeden Scheitelpunkt als einzelnen Punkt. Vertex n definiert Punkt n. N Punkte werden gezeichnet.
GL_LINES
Behandelt jedes Vertices-Paar als unabhängiges Liniensegment. Scheitelpunkte 2n - 1 und 2n definieren Zeile n. N/2 Linien werden gezeichnet.
GL_LINE_STRIP
Zeichnet eine verbundene Gruppe von Liniensegmenten vom ersten Scheitelpunkt bis zum letzten. Scheitelpunkte n und n+1 definieren Zeile n. N - 1 Linien werden gezeichnet.
GL_LINE_LOOP
Zeichnet eine verbundene Gruppe von Liniensegmenten vom ersten Scheitelpunkt bis zum letzten, dann zurück zum ersten. Scheitelpunkte n und n + 1 definieren Zeile n. Die letzte Zeile wird jedoch durch Scheitelpunkte N und 1 definiert. N-Linien werden gezeichnet.
GL_TRIANGLES
Behandelt jedes Dreifache von Scheitelpunkten als unabhängiges Dreieck. Scheitelpunkte 3n - 2, 3n - 1 und 3n definieren Dreieck n. N/3 Dreiecke werden gezeichnet.
GL_TRIANGLE_STRIP
Zeichnet eine verbundene Gruppe von Dreiecken. Ein Dreieck wird für jeden Scheitelpunkt definiert, der nach den ersten beiden Scheitelpunkten dargestellt wird. Bei ungeradem n definieren Scheitelpunkte n, n + 1 und n + 2 dreieck n. Für even n definieren Scheitelpunkte n + 1, n und n + 2 Dreieck n. N - 2 Dreiecke werden gezeichnet.
GL_TRIANGLE_FAN
Zeichnet eine verbundene Gruppe von Dreiecken. Ein Dreieck wird für jeden Scheitelpunkt definiert, der nach den ersten beiden Scheitelpunkten dargestellt wird. Scheitelpunkte 1, n + 1, n + 2 definieren Dreieck n. N - 2 Dreiecke werden gezeichnet.
GL_QUADS
Behandelt jede Gruppe von vier Scheitelpunkten als unabhängiges Quadrilateral. Scheitelpunkte 4n - 3, 4n - 2, 4n - 1 und 4n definieren quadrilateral n. N/4 Quadrilaterale werden gezeichnet.
GL_QUAD_STRIP
Zeichnet eine verbundene Gruppe von Quadrilateralen. Ein Quadrilateral wird für jedes Paar von Scheitelpunkten definiert, das nach dem ersten Paar präsentiert wird. Scheitelpunkte 2n - 1, 2n, 2n + 2 und 2n + 1 definieren quadrilateral n. N/2 - 1 Quadrilaterale werden gezeichnet. Beachten Sie, dass die Reihenfolge, in der Scheitelpunkte verwendet werden, um ein Quadrilateral aus Streifendaten zu erstellen, anders als bei unabhängigen Daten verwendet werden.
GL_POLYGON
Zeichnet ein einzelnes, konvexes Polygon. Scheitelpunkte 1 bis N definieren dieses Polygon.

Rückgabewert

Diese Funktion gibt keinen Wert zurück.

Fehlercodes

Die folgenden Fehlercodes können von der glGetError-Funktion abgerufen werden.

Name Bedeutung
GL_INVALID_ENUM
der Modus wurde auf einen nicht zugesagten Wert festgelegt.
GL_INVALID_OPERATION
Eine andere Funktion als glVertex, glColor, glIndex, glNormal, glTexCoord, glEvalCoord, glEvalPoint, glMaterial, glEdgeFlag, glCallList oder glCallList wurde zwischen glBegin und dem entsprechenden Glend aufgerufen. Die Funktion glend wurde aufgerufen, bevor das entsprechende glBegin aufgerufen wurde, oder glBegin wurde in einer glBeginglend-Sequenz/ aufgerufen.

Bemerkungen

Die GlBegin - und Glend-Funktionen trennen die Scheitelpunkte, die einen Grundtyp oder eine Gruppe von ähnlichen Grundtypen definieren. Die glBegin-Funktion akzeptiert ein einzelnes Argument, das angibt, welche von zehn Grundtypen die Scheitelpunkte verfassen. Die Interpretationen sind wie folgt, indem n als ganze Zahl beginnend mit einer Zahl und N als Gesamtanzahl der angegebenen Scheitelpunkte verwendet wird:

  • Sie können nur eine Teilmenge von OpenGL-Funktionen zwischen glBegin und glend verwenden. Die Funktionen, die Sie verwenden können, sind:

    glVertex

    glColor

    glIndex

    glNormal

    glTexCoord

    glEvalCoord

    glEvalPoint

    glMaterial

    glEdgeFlag

    Sie können auch glCallList oder glCallLists verwenden, um Anzeigelisten auszuführen, die nur die vorherigen Funktionen enthalten. Wenn eine andere OpenGL-Funktion zwischen glBegin und glend aufgerufen wird, wird die Fehlerkennzeichnung festgelegt, und die Funktion wird ignoriert.

  • Unabhängig vom für den Modus in glBegin ausgewählten Wert gibt es keinen Grenzwert für die Anzahl der Scheitelpunkte, die Sie zwischen glBegin und glend definieren können. Linien, Dreiecke, Quadrilaterale und Polygone, die unvollständig angegeben sind, werden nicht gezeichnet. Unvollständige Spezifikationsergebnisse, wenn entweder zu wenige Scheitelpunkte bereitgestellt werden, um sogar einen einzelnen Grundtyp anzugeben oder wenn ein falsches Vielfaches von Scheitelpunkten angegeben wird. Der unvollständige Grundtyp wird ignoriert; die vollständigen Grundtypen werden gezeichnet.

  • Die Mindestspezifikation von Scheitelpunkten für jeden Grundtyp lautet:

    Mindestanzahl von Scheitelpunkten Typ des Grundtyps
    1 point
    2 line
    3 Dreieck
    4 Viereck
    3 polygon
  • Modi, die eine bestimmte Anzahl von Vertices erfordern, sind GL_LINES (2), GL_TRIANGLES (3), GL_QUADS (4) und GL_QUAD_STRIP (2).

Requirements (Anforderungen)

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows 2000 Server [nur Desktop-Apps]
Header
Gl.h
Bibliothek
Opengl32.lib
DLL
Opengl32.dll

Weitere Informationen

glCallList

glCallLists

glColor

glEdgeFlag

glEnd

glEvalCoord

glEvalPoint

glIndex

glMaterial

glNormal

glTexCoord

glVertex