====== glTranslate() ======
glTranslate ist definiert im OpenGL zugehörigen [[Include]] des jeweiligen Betriebsystems.
===== Funktion =====
glTranslate() verschiebt den Szenenmittelpunkt um die übergebenen Werte. Der Szenenmittelpunkt ist der Nullpunkt, an dem sich alle hinzugefügten Vertexe orientieren.
Dies ermöglicht beispielsweise ein beschriebenes Objekt mehrfach in die Szene einzukopieren, in dem man die Szene dahin bewegt, wo man das Objekt einfügen möchte und fügt es dann ein.
===== Signatur =====
void glTranslated( GLdouble x, GLdouble y, GLdouble z);
void glTranslatef( GLfloat x, GLfloat y, GLfloat z);
**x**: Verschiebung an der X Achse, positive Werte gehen nach links \\
**y**: Verschiebung an der Y Achse, positive Werte gehen nach oben \\
**z**: Verschiebung an der Z Achse, positive Werte gehen nach hinten (aus dem Bildschirm heraus) \\
===== Fehlerquellen =====
--
===== Hinweise =====
===== Beispiel =====
void display( void )
{
/* clear all pixels */
glClear( GL_COLOR_BUFFER_BIT );
glTranslatef( -1.5f, 0.0f, -6.0f ); // Szenenmittelpunkt um 1,5 Einheiten nach
// links und 6 Einheiten nach vorne verlegen
glBegin(GL_TRIANGLES); // Beginne, Dreiecke zu zeichnen
glVertex3f( 0.0f, 1.0f, 0.0f); // mittig oben
glVertex3f(-1.0f,-1.0f, 0.0f); // unten links
glVertex3f( 1.0f,-1.0f, 0.0f); // unten rechts
glEnd(); // Keine weiteren Dreiecke mehr
glTranslatef(3.0f,0.0f,0.0f); // Szenenmittelpunkt um 3 Einheiten
// nach rechts verschieben
glBegin(GL_QUADS); // Beginne, Quadrate zu zeichnen
glVertex3f(-1.0f, 1.0f, 0.0f); // oben links
glVertex3f( 1.0f, 1.0f, 0.0f); // oben rechts
glVertex3f( 1.0f,-1.0f, 0.0f); // unten rechts
glVertex3f(-1.0f,-1.0f, 0.0f); // unten links
glEnd(); // Keine weiteren Quadrate mehr.
glFlush();
}
Zu beachten, dass obwohl das Dreiecke und das Quadrat die gleichen Koordinaten unten links und unten rechts besitzen, sie dennoch nicht übereinander liegen, sondern dank glTranslate das Quadrat um 3 Einheiten weiter rechts liegt.
===== siehe auch =====
[[ogl:lib:start|OpenGL]]: [[ogl:lib:glRotate()]], [[ogl:lib:glBegin()]], [[ogl:lib:glEnd()]], [[ogl:lib:glVertex_()]]