glTranslate: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
(Fehlermeldungen)
K (modernisiert)
Zeile 9: Zeile 9:
 
== 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>
 
<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>
 
<br>
 
== Beschreibung ==  
 
== Beschreibung ==  
  
'''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 39: Zeile 37:
 
== 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>
 
<br>

Version vom 10. August 2005, 23:50 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

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.


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