====== 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_()]]