====== glBegin() ======
glBegin ist definiert im OpenGL zugehörigen [[Include]] des jeweiligen Betriebsystems.
===== Funktion =====
glBegin definiert den Beginn eines Vertex-Arrays((Block mit 3D-Koordinaten)), 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 =====
[[ogl:lib:start|OpenGL]]: [[ogl:lib:glEnd()]], [[ogl:lib:glVertex_()]]