Freigeben über


glBegin-Funktion

Die Funktionen glBegin und glend trennen die Scheitelpunkte eines Primitiven oder einer Gruppe von ähnlichen Primitiven.

Syntax

void WINAPI glBegin(
   GLenum mode
);

Parameter

mode

Die Primitiven oder Primitiven, die aus Scheitelpunkten zwischen glBegin und dem nachfolgenden Glend erstellt werden. Im Folgenden werden symbolische Konstanten und ihre Bedeutungen akzeptiert:

Wert Bedeutung
GL_POINTS
Behandelt jeden Scheitelpunkt als einzelnen Punkt. Vertex n definiert Punkt n. N-Punkte werden gezeichnet.
GL_LINES
Behandelt jedes Scheitelpunktpaar als unabhängiges Zeilensegment. Die Scheitelpunkte 2n - 1 und 2n definieren Die Zeile n. N/2 Linien werden gezeichnet.
GL_LINE_STRIP
Zeichnet eine verbundene Gruppe von Liniensegmenten vom ersten Scheitelpunkt bis zum letzten Scheitelpunkt. Die Scheitelpunkte n und n+1 definieren Die Zeile n. N – 1 Linien werden gezeichnet.
GL_LINE_LOOP
Zeichnet eine verbundene Gruppe von Liniensegmenten vom ersten Scheitelpunkt bis zum letzten Und dann zurück zum ersten. Scheitelpunkte n und n + 1 definieren Die Zeile n. Die letzte Zeile wird jedoch durch die Scheitelpunkte N und 1 definiert. N Linien werden gezeichnet.
GL_TRIANGLES
Behandelt jedes Triplet von Scheitelpunkten als unabhängiges Dreieck. Die Scheitelpunkte 3n - 2, 3n - 1 und 3n definieren das Dreieck n. N/3 Dreiecke werden gezeichnet.
GL_TRIANGLE_STRIP
Zeichnet eine verbundene Gruppe von Dreiecken. Für jeden Scheitelpunkt nach den ersten beiden Scheitelpunkten wird ein Dreieck definiert. Für ungerade n definieren die Scheitelpunkte n, n + 1 und n + 2 das Dreieck n. Für gerade n definieren Die Scheitelpunkte n + 1, n und n + 2 das Dreieck n. N - 2 Dreiecke werden gezeichnet.
GL_TRIANGLE_FAN
Zeichnet eine verbundene Gruppe von Dreiecken. Für jeden Scheitelpunkt nach den ersten beiden Scheitelpunkten wird ein Dreieck definiert. Die Scheitelpunkte 1, n + 1, n + 2 definieren das Dreieck n. N - 2 Dreiecke werden gezeichnet.
GL_QUADS
Behandelt jede Gruppe von vier Scheitelpunkten als unabhängiges Viereck. Die Scheitelpunkte 4n - 3, 4n - 2, 4n - 1 und 4n definieren viereckige n. N/4 Quadrilaterals werden gezeichnet.
GL_QUAD_STRIP
Zeichnet eine verbundene Gruppe von Vierecks. Ein Viereck ist für jedes Scheitelpunktpaar definiert, das nach dem ersten Paar angezeigt wird. Scheitelpunkte 2n - 1, 2n, 2n + 2 und 2n + 1 definieren viereckige n. N/2 - 1 Quadrilaterale werden gezeichnet. Beachten Sie, dass sich die Reihenfolge, in der Scheitelpunkte zum Erstellen eines Vierecks aus Stripdaten verwendet werden, von der Reihenfolge unterscheidet, die bei unabhängigen Daten verwendet wird.
GL_POLYGON
Zeichnet ein einzelnes konvexes Polygon. Die 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 nichtakzeptierten Wert festgelegt.
GL_INVALID_OPERATION
Eine andere Funktion als glVertex, glColor, glIndex, glNormal, glTexCoord, glEvalCoord, glEvalPoint, glMaterial, glEdgeFlag, glCallList oder glCallLists wurde zwischen glBegin und dem entsprechenden glend aufgerufen. Die Funktion glend wurde aufgerufen, bevor das entsprechende glBegin aufgerufen wurde, oder glBegin wurde innerhalb einer glBegin/glend-Sequenz aufgerufen.

Bemerkungen

Die Funktionen glBegin und glend trennen die Scheitelpunkte, die ein Primitive oder eine Gruppe von ähnlichen Primitiven definieren. Die glBegin-Funktion akzeptiert ein einzelnes Argument, das angibt, welche von zehn Primitiven die Scheitelpunkte bilden. Wenn n als ganzzahlige Anzahl ab 1 und N als Gesamtanzahl der angegebenen Scheitelpunkte verwendet wird, sind die Interpretationen wie folgt:

  • Sie können nur eine Teilmenge der OpenGL-Funktionen zwischen glBegin und glend verwenden. Sie können folgende Funktionen verwenden:

    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 das Fehlerflag festgelegt, und die Funktion wird ignoriert.

  • Unabhängig vom für den Modus in glBegin ausgewählten Wert gibt es keine Begrenzung für die Anzahl der Scheitelpunkte, die Sie zwischen glBegin und glend definieren können. Unvollständig angegebene Linien, Dreiecke, Quadrilaterale und Polygone werden nicht gezeichnet. Unvollständige Spezifikation ergibt sich, wenn entweder zu wenige Scheitelpunkte bereitgestellt werden, um auch nur ein einzelnes Grundelement anzugeben, oder wenn ein falsches Vielfaches von Scheitelpunkten angegeben wird. Das unvollständige Primitive wird ignoriert. die vollständigen Grundtypen werden gezeichnet.

  • Die Mindestspezifikation der Scheitelpunkte für jeden Grundtyp ist:

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

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

Siehe auch

glCallList

glCallLists

glColor

glEdgeFlag

glEnd

glEvalCoord

glEvalPoint

glIndex

glMaterial

glNormal

glTexCoord

glVertex