glTranslate: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K (GlTranslate wurde nach glTranslate verschoben)
K (Bild eingefügt)
Zeile 22: Zeile 22:
 
<br>
 
<br>
 
== Beschreibung ==  
 
== Beschreibung ==  
 
+
[[Bild:Tutorial Matrix2 Translate.png|right|344px]]
 
'''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 [[glMatrixMode|aktuelle]] [[Matrix]] multipliziert wird. Das Ergebnis ersetzt die aktuelle Matrix, als würde man [[glMultMatrix]] mit folgender Matrix als Argument aufrufen :
 
'''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 [[glMatrixMode|aktuelle]] [[Matrix]] multipliziert wird. Das Ergebnis ersetzt die aktuelle Matrix, als würde man [[glMultMatrix]] mit folgender Matrix als Argument aufrufen :
  
Zeile 33: Zeile 33:
  
 
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.
 
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#Auswirkungen_von_Matrixmanipulationen_-_oder_.22Wie_positioniere_ich_meine_Objekte_richtig.3F.22|Tutorial Matrix2]].
 +
 +
<br>
 +
  
 
<br>
 
<br>
Zeile 48: Zeile 55:
 
[[glGet#GL_TEXTURE_MATRIX|glGet]] mit Token '''GL_TEXTURE_MATRIX'''<br>
 
[[glGet#GL_TEXTURE_MATRIX|glGet]] mit Token '''GL_TEXTURE_MATRIX'''<br>
  
== Bespiele ==
 
Beispiele zur Auswirkung von '''glTranslate''' findet man im [[Tutorial_Matrix2#Auswirkungen_von_Matrixmanipulationen_-_oder_.22Wie_positioniere_ich_meine_Objekte_richtig.3F.22|Tutorial Matrix2]].
 
 
<br>
 
  
 
== Siehe auch ==
 
== Siehe auch ==

Version vom 28. März 2006, 13:43 Uhr

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

Tutorial Matrix2 Translate.png

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