Alle Elemente von OpenGL werden fangen mit gl an. Dabei gelten folgende Konventionen:
Typen | |
Konstanten | |
Befehle |
Beispiel: Der Befehl um eine Farbe zu setzen
glColor3f(1, 0, 0); | |
gl | ein OpenGL Befehl |
glColor | Farbe setzen |
glColor3 | mit drei Parametern |
glColor3f | vom Typ float |
OpenGL arbeitet mit Zustandsvariablen. Das bedeutet, dass jeder Parameter, der von einer Funktion gesetzt wird, solange gültig ist, bis er umgesetzt wird. In dem Funktionsbeispiel oben (Farbe setzen) bedeutet dies, daß alle nachfolgenden Elemente in dieser Farbe gezeichnet werden, bis ein erneuter Aufruf von glColor die Farbe umsetzt.
Stapel (engl. Stacks) werden eingesetzt, um sich Zustände zu merken, meist Transformation, wie z.B. Drehungen. Auf einen Stapel kann oben etwas abgelegt werden (push-Operation) und das gerade oben liegende wieder heruntergenommen werden (pop-Operation). Stacks sind LIFO-Strukturen (Last In First Out). Was zuletzt oben auf gelegt wurde, wird als erstes wieder vom Stapel genommen.
Das Zeichnen eines Elements wird mit
glColor3d(1.0, 0.0, 0.0);
glVertex3d(20.3, 12.9, -5,9);
glVertex3d(-3.2, 0.3, 34.2);
glEnd();
OpenGL bietet folgende Zeichenelemente:
GL_POINTS | Einfache Punkte |
GL_LINES | Jeweils zwei Koordinaten bilden eine Linie |
GL_LINE_STRIP | Die Folge von Koordinaten wird mit Linien verbunden |
GL_LINE_LOOP | Wie GL_LINE_STRIP, nur wird die letzte Koordinate mit der ersten verbunden |
GL_TRIANGLES | Jeweils drei Koordinaten bilden ein Dreieck |
GL_TRIANGLE_FAN | Die erste Koordinate bildet das Zentrum. Die nächsten zwei bilden mit diesem ein Dreieck. Jeder weitere Punkt wird mit dem vorhergehenden und dem Zentrum zu einem Dreieck verbunden |
GL_QUADS | Jeweils vier Koordinaten bilden ein Viereck |
GL_QUAD_STRIP | Jeweils zwei Punkte bilden mit den beiden vorhergehenden ein Viereck |
GL_POLYGON | Geschlossenes Vieleck - der letzte Punkt wird mit dem ersten verbunden |