glTranslate

Aus DGL Wiki
Wechseln zu: Navigation, Suche

glTranslate

Name

glTranslate - Multipliziert die aktuelle Matrix mit einer Verschiebungsmatrix.


Delphi-Spezifikation

procedure glTranslated(x : TGLdouble; y : TGLdouble; z : TGLdouble);
procedure glTranslatef(x : TGLfloat; y : TGLfloat; z : TGLfloat);


Parameter

x, y, z Definiert die Koordinaten des Verschiebungsvektors.


Beschreibung

Verschiebung des Koordinatensystems durch den Aufruf von glTranslatef(3.5,0,-3);(Auf Bild klicken zum vergrößern)
Weitere Erklärungen im Tutorial Matrix2.

glTranslate bewegt den Koordinaenursprung in den Punkt (x,y,z). Der Vektor (x,y,z) wird benutzt um eine 4x4 Verschiebungsmatix zu generieren mit der die aktuelle Matrix multipliziert wird. Das Ergebnis ersetzt die aktuelle Matrix, als würde man glMultMatrix mit folgender Matrix als Argument aufrufen :

  | 1  0  0  x |
  | 0  1  0  y |
  | 0  0  1  z |
  | 0  0  0  1 |

Wenn die aktuelle Matrix GL_MODELVIEW oder GL_PROJECTION ist, werden alle nach einem Aufruf von glTranslate gerenderten Objekte verschoben. Mittels glPushMatrix und glPopMatrix lassen sich noch nicht verschobene Koordinatensysteme sichern bzw. wieder herstellen.

Bespiele

Beispiele zur Auswirkung von glTranslate findet man im Tutorial Matrix2.




Fehlermeldungen

GL_INVALID_OPERATION wird generiert, wenn glTranslate zwischen einem glBegin und dem zugehörigen glEnd aufgerufen wird.



Zugehörige Wertrückgaben

glGet mit Token GL_MATRIX_MODE
glGet mit Token GL_MODELVIEW_MATRIX
glGet mit Token GL_PROJECTION_MATRIX
glGet mit Token GL_TEXTURE_MATRIX


Siehe auch

Matrix, glMatrixMode, glMultMatrix, glPushMatrix, glRotate, glScale