OpenGL Kamera
← GL Transformations Beispiel | ● | GL Matrix Stack →
Die Bestimmung des Augpunktes geschieht ebenfalls durch die Modifikation der Model-View Matrix.
Die Transformationsmatrix $M_V$, definiert durch das Kameradreibein, wird von rechts mit dem entsprechenden OpenGL Befehl heranmultipliziert:
eye_x,eye_y,eye_z,
// looking at this point in world coordinates
at_x,at_y,at_z,
// up orientation vector of the camera
up_x,up_y,up_z);
Der erste Parametervektor ist der Augpunkt, der zweite Vektor ist derjenige Punkt, auf den die Kamera fixiert ist, und der letzte Vektor ist ein Richtungsvektor, welcher die Orientierung der Kamera vorgibt. Letzterer zeigt in der Regel nach oben (y-Achse).
Als letzte auszuführende Transformation muss die Transformationsmatrix der Kamera als erste von rechts heranmultipliziert werden.
Kamera-Beispiel:
gluLookAt(0.0,5.0,0.0, // eye
0.0,0.0,-10.0, // at
0.0,1.0,0.0); // up
glTranslated(0,0,-10.0); // translation along z-axis
glRotated(45, 0.0,1.0,0.0); // rotation about y-axis
glBegin(GL_TRIANGLES);
glVertex3d(0.0,0.0,0.0);
glVertex3d(-1.0,1.0,0.0);
glVertex3d(1.0,1.0,0.0);
glEnd();
Hinweis: Perspektive nicht vergessen!