glTranslate: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
(Fehlermeldungen)
K (Update auf OGL 2.1)
 
(9 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
= glTranslate =
 
= glTranslate =
  
<br>
+
 
 +
 
 
== Name ==
 
== Name ==
  
 
'''glTranslate''' - Multipliziert die aktuelle [[Matrix]] mit einer Verschiebungsmatrix.  
 
'''glTranslate''' - Multipliziert die aktuelle [[Matrix]] mit einer Verschiebungsmatrix.  
  
<br>
+
 
 +
 
 
== Delphi-Spezifikation ==
 
== Delphi-Spezifikation ==
  
procedure '''glTranslated'''(''x'' : TGLdouble; ''y'' : TGLdouble; ''z'' : TGLdouble);<br>
+
procedure '''glTranslated'''(''x'' : TGLdouble; ''y'' : TGLdouble; ''z'' : TGLdouble);
procedure '''glTranslatef'''(''x'' : TGLfloat; ''y'' : TGLfloat; ''z'' : TGLfloat);
+
procedure '''glTranslatef'''(''x'' : TGLfloat; ''y'' : TGLfloat; ''z'' : TGLfloat);
 +
 
 +
 
  
<br>
 
 
== Parameter ==
 
== Parameter ==
  
<table border=1>
+
{| border="1" rules="all"
<tr>
+
! ''x, y, z''
<td>''x, y, z''</td>
+
| Definiert die Koordinaten des Verschiebungsvektors.
<td>Definiert die Koordinaten des Verschiebungsvektors.</td>
+
|}
</tr>
+
 
</table>
+
 
  
<br>
 
 
== Beschreibung ==  
 
== Beschreibung ==  
 
+
[[Bild:Tutorial Matrix2 Translate.png|344px|thumb|right|Verschiebung des Koordinatensystems durch den Aufruf von '''glTranslatef(3.5,0,-3);'''(''Auf Bild klicken zum vergrößern'')<br>Weitere Erklärungen im [[Tutorial Matrix2]].]]
'''glTranslate''' generiert eine Verschiebung um (x,y,z). Die [[glMatrixMode|aktuelle]] [[Matrix]] wird mit dieser Verschiebungsmatrix multipliziert und dieses Produkt 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 :
  
 
<pre>
 
<pre>
Zeile 36: Zeile 38:
 
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.
  
<br>
+
== Beispiele ==
 +
Beispiele zur Auswirkung von '''glTranslate''' findet man im [[Tutorial_Matrix2#Auswirkungen_von_Matrixmanipulationen_-_oder_.22Wie_positioniere_ich_meine_Objekte_richtig.3F.22|Tutorial Matrix2]].
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 
== Fehlermeldungen ==
 
== Fehlermeldungen ==
  
GL_INVALID_OPERATION wird generiert, wenn '''glTranslate''' zwischen einem [[glBegin]] und dem zugehörigen [[glEnd]] aufgerufen wird.
+
'''GL_INVALID_OPERATION''' wird generiert, wenn '''glTranslate''' zwischen einem [[glBegin]] und dem zugehörigen [[glEnd]] aufgerufen wird.
 +
 
 +
 
  
<br>
 
  
== Zugehörige Wertrückgaben ==
+
== Zugehörige Wertrückgaben ==
  
 
[[glGet#GL_MATRIX_MODE|glGet]] mit Token '''GL_MATRIX_MODE'''<br>
 
[[glGet#GL_MATRIX_MODE|glGet]] mit Token '''GL_MATRIX_MODE'''<br>
 +
[[glGet#GL_COLOR_MATRIX|glGet]] mit Token '''GL_COLOR_MATRIX'''<br>
 
[[glGet#GL_MODELVIEW_MATRIX|glGet]] mit Token '''GL_MODELVIEW_MATRIX'''<br>
 
[[glGet#GL_MODELVIEW_MATRIX|glGet]] mit Token '''GL_MODELVIEW_MATRIX'''<br>
 
[[glGet#GL_PROJECTION_MATRIX|glGet]] mit Token '''GL_PROJECTION_MATRIX'''<br>
 
[[glGet#GL_PROJECTION_MATRIX|glGet]] mit Token '''GL_PROJECTION_MATRIX'''<br>
 
[[glGet#GL_TEXTURE_MATRIX|glGet]] mit Token '''GL_TEXTURE_MATRIX'''<br>
 
[[glGet#GL_TEXTURE_MATRIX|glGet]] mit Token '''GL_TEXTURE_MATRIX'''<br>
  
<br>
+
== Links ==
 +
http://www.opengl.org/sdk/docs/man/xhtml/glTranslate.xml<br>
 +
 
 
== Siehe auch ==
 
== Siehe auch ==
  
Zeile 56: Zeile 70:
  
 
[[Kategorie:GL|Translate]]
 
[[Kategorie:GL|Translate]]
 +
[[Kategorie:GL1.0]]

Aktuelle Version vom 30. April 2009, 12:03 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

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.

Beispiele

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_COLOR_MATRIX
glGet mit Token GL_MODELVIEW_MATRIX
glGet mit Token GL_PROJECTION_MATRIX
glGet mit Token GL_TEXTURE_MATRIX

Links

http://www.opengl.org/sdk/docs/man/xhtml/glTranslate.xml

Siehe auch

Matrix, glMatrixMode, glMultMatrix, glPushMatrix, glRotate, glScale