OpenGL Vertices
← OpenGL Syntax | ● | GL Attribute →
Vertices werden mit glVertex*() spezifiziert.
Beipiel:
glVertex3f(0.0f, 0.0f, -1.0f);
...
glEnd();
Jeder so spezifizierte Vertex wird direkt über den Bus an die Graphikkarte geschickt und landet in der Computergraphik Pipeline. Daher nennt man das auch den sog. Direct-Mode.
Jeweils drei hintereinanderfolgende Vertices werden zu einem Dreieck zusammengebaut und gerendert. Welches Primitiv verwendet werden soll, wird mit glBegin festgelegt. Weitere neben GL_TRIANGLES sind z.B. GL_POINT, GL_LINES, GL_QUADS usw.
- ‘3’ steht für 3 Komponenten mit x,y,z
- die nicht spezifizierte w-Komponentewird mit 1 aufgefüllt
- ‘4’ steht für 4 Komponenten mit x,y,z,w
- Suffix d steht für double-Parameter
- Suffix f steht für float-Parameter
- Suffix i steht für int-Parameter
Hinweis: Zwischen glBegin()
und glEnd()
sind nicht alle OpenGL-Befehle erlaubt - nur Befehle, welche Vertices und Attribute spezifizieren.
Achtung:
glVertex*() ist eine sogenannte Legacy-Methode in OpenGL. Sie ist einfach zu benutzen, aber im Vergleich zu neueren Methoden (Stichwort VBO) schrecklich langsam. In neueren OpenGL Versionen (Core Profile) kann sie daher nicht mehr genutzt werden. Deswegen benutzen wir das hier nur der Bequemlichkeit halber für unsere allerersten Schritte.
← OpenGL Syntax | ● | GL Attribute →