glBegin()

glBegin ist definiert im OpenGL zugehörigen Include des jeweiligen Betriebsystems.

Funktion

glBegin definiert den Beginn eines Vertex-Arrays1), welche einen oder mehrere 3D Körper definieren.

Signatur

void glBegin( GLenum mode );

mode: Speicherblock (mindestens der Größe size)

mode Bedeutung mehrere Objekte erlaubt?
GL_POINTS Unabhängige Punkte
GL_LINES Paare von Punkten, die 3D Liniensegmente darstellen
GL_LINE_STRIP 3D Punkte, die zusammenhängende Liniensegmente darstellen
GL_LINE_LOOP 3D Punkte, die zusammenhängende Liniensegmente darstellen und einen Loop bilden
GL_TRIANGLES 3D Punkte, die als Dreierpaare Dreiecke beschreiben
GL_TRIANGLE_STRIP 3D Punkte, die zusammenhängende Dreiecke beschreiben
GL_TRIANGLE_FAN 3D Punkte, die zusammenhängende, gefächerte Dreiecke beschreiben
GL_QUADS 3D Punkte, die unabhängige Vierecke beschreiben
GL_QUAD_STRIP 3D Punkte, die zusammenhängende Vierecke beschreiben
GL_POLYGON 3D Punkte, die ein konvexes Polygon beschreiben

Fehlerquellen

Hinweise

GL_TRIANGLE_FAN eignet sich gut, um konkave Polygone ausgehend vom einem innenliegenden Punkt zu zeichnen.

FIXME Grafik einfügen (auch für andere Beispiele)

Beispiel

void display( void )
{
  /* clear all pixels */
 
  glClear( GL_COLOR_BUFFER_BIT );
 
  /* Draw white polygon (rectangle) with corners at
   * (0.25, 0.25, 0) and (0.75, 0.75, 0.0)
   */
 
   glColor3f( 1.0, 1.0, 1.0 );
   glBegin( GL_POLYGON );
     glVertex3f( 0.25, 0.25, 0.0 );
     glVertex3f( 0.75, 0.25, 0.0 );
     glVertex3f( 0.75, 0.75, 0.0 );
     glVertex3f( 0.25, 0.75, 0.0 );
   glEnd();
 
   /* don't wait
    * start processing buffered OpenGL routines
    */
 
   glFlush();
}

siehe auch

1)
Block mit 3D-Koordinaten