3 Software Grafischer Datensysteme
*Schichten Architektur
*Die Funktionsweise von OpenGL (Zustandsautomat, Eigenschaften und Konzepte)
OpenGL - Einführung
Kürzel | Datentyp | ANSI C | OpenGL |
b s i f d ub us ui - |
8 Bit Integer mit Vz. |
signed char unsigned short unsigned int oder unsigned long void |
GLbyte |
Konstanten
-Konstanten werden durchweg groß geschrieben.
-Konstanten beginnen immer mit GL_.
-Der Unterstrich _ wird zur Trennung einzelner
Wortbestandteile genutzt.
Es gibt Konstanten verschiedenen Typs, z.B.
- GL_TRUE und GL_FALSE
vom Typ GLboolean
- GL_FRONT und GL_BACK
vom Typ GLenum
- GL_COLOR_BUFFER_BIT vom Typ
GLbitfield
Befehle
Alle Aufrufe von OpenGL-Funktionen beginnen mit gl.
Aufrufe von Funktionen aus GLU beginnen mit glu.
Wortbestandteile beginnen mit Großbuchstaben, ansonsten werden Kleinbuchstaben
verwendet, z.B. glClearColor()
Varianten von Befehlen
Die meisten OpenGL-Aufrufe existieren in mehreren Varianten:
die Datentypen der Eingabeparameter können unterschiedlich gewählt werden
Viele Befehle existieren in einer vektoriellen und einer nichtvektoriellen Form
Konvention:
Die Anzahl bestimmter Parameter wird angegeben.
Der Typ der Eingabeparameter wird durch Anhängen des Kürzels aus der
obigen Tabelle an den Befehlsnamen angegeben
Die vektorielle Form wird zusätzlich mit einem v gekennzeichnet.
Beispiel:
Definition der Darstellungsfarbe rot durch 8 Bit
Integer ohne Vorzeichen in nicht-vektorieller Form
glColor3ub(255,0,0);
Definition der Darstellungsfarbe rot durch Fließkommazahlen in vektorieller Form
Glfloat colors[] = {1.0,0.0,0.0};
glColor3fv(colors);
Beispiel
void draw(){
// Schwarzer Hintergrund
glClearColor(0.0,0.0,0.0,0.0);
glClear(GL_COLOR_BUFFER_BIT);
// Weißes Quadrat
glColor3f(1.0,1.0,1.0);
gluOrtho2d(0.0,1.0,0.0,1.0);
glBegin(GL_POLYGON);
glVertex2f(0.25,0.25);
glVertex2f(0.75,0.25);
glVertex2f(0.75,0.75);
glVertex2f(0.25,0.75);
glEnd();
}