glTranslate: Unterschied zwischen den Versionen
Flash (Diskussion | Beiträge) K (modernisiert) |
K (Update auf OGL 2.1) |
||
(8 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
= glTranslate = | = glTranslate = | ||
− | + | ||
+ | |||
== Name == | == Name == | ||
'''glTranslate''' - Multipliziert die aktuelle [[Matrix]] mit einer Verschiebungsmatrix. | '''glTranslate''' - Multipliziert die aktuelle [[Matrix]] mit einer Verschiebungsmatrix. | ||
− | + | ||
+ | |||
== Delphi-Spezifikation == | == Delphi-Spezifikation == | ||
Zeile 12: | Zeile 14: | ||
procedure '''glTranslatef'''(''x'' : TGLfloat; ''y'' : TGLfloat; ''z'' : TGLfloat); | procedure '''glTranslatef'''(''x'' : TGLfloat; ''y'' : TGLfloat; ''z'' : TGLfloat); | ||
− | + | ||
+ | |||
== Parameter == | == Parameter == | ||
Zeile 20: | Zeile 23: | ||
|} | |} | ||
− | + | ||
+ | |||
== 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''' 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 34: | 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. | ||
− | + | == 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. | ||
− | |||
− | == | + | |
+ | |||
+ | == 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 54: | Zeile 70: | ||
[[Kategorie:GL|Translate]] | [[Kategorie:GL|Translate]] | ||
+ | [[Kategorie:GL1.0]] |
Aktuelle Version vom 30. April 2009, 12:03 Uhr
Inhaltsverzeichnis
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.
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