glScale: Unterschied zwischen den Versionen
Flash (Diskussion | Beiträge) K (→Beschreibung) |
K |
||
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt) | |||
Zeile 27: | Zeile 27: | ||
Hierfür wird eine Skalierungsmatrix mit der [[glMatrixMode|aktuellen]] [[Matrix]] multipliziert.<br> | Hierfür wird eine Skalierungsmatrix mit der [[glMatrixMode|aktuellen]] [[Matrix]] multipliziert.<br> | ||
Die Skalierungsmatrix sieht so aus: | Die Skalierungsmatrix sieht so aus: | ||
− | < | + | |
− | + | <div align="center"> [[Bild:GlScale.png]]</div> | |
− | + | ||
− | |||
− | |||
− | </ | ||
wobei x, y, z den übergebenen Parametern entspricht. | wobei x, y, z den übergebenen Parametern entspricht. | ||
Zeile 39: | Zeile 36: | ||
== Fehlermeldungen == | == Fehlermeldungen == | ||
− | GL_INVALID_OPERATION wird generiert wenn glScale zwischen einem [[glBegin]] und dem zugehörigen [[glBegin|glEnd]] aufgerufen wird. | + | '''GL_INVALID_OPERATION''' wird generiert, wenn '''glScale''' zwischen einem [[glBegin]] und dem zugehörigen [[glBegin|glEnd]] aufgerufen wird. |
− | + | ||
+ | |||
+ | |||
== Zugehörige Wertrückgaben == | == Zugehörige Wertrückgaben == | ||
− | [[glGet]] mit Token | + | [[glGet]] mit Token [[glGet#GL_MATRIX_MODE|GL_MATRIX_MODE]] |
− | [[glGet]] mit Token | + | |
− | [[glGet]] mit Token | + | [[glGet]] mit Token [[glGet#GL_MODELVIEW_MATRIX|GL_MODELVIEW_MATRIX]] |
− | [[glGet]] mit Token | + | |
+ | [[glGet]] mit Token [[glGet#GL_PROJECTION_MATRIX|GL_PROJECTION_MATRIX]] | ||
+ | |||
+ | [[glGet]] mit Token [[glGet#GL_TEXTURE_MATRIX|GL_TEXTURE_MATRIX]] | ||
+ | |||
+ | |||
== Beispiele == | == Beispiele == | ||
Zeile 73: | Zeile 77: | ||
[[Kategorie:GL|Scale]] | [[Kategorie:GL|Scale]] | ||
− | [[Kategorie:GL1.0]] | + | [[Kategorie:GL1.0|Scale]] |
Aktuelle Version vom 18. Juni 2011, 14:40 Uhr
Inhaltsverzeichnis
glScale
Name
glScale - bewirkt eine Verzerrung oder Spiegelung des Koordinatensystems.
Delphi-Spezifikation
procedure glScaled(x, y, z: TGLdouble);
procedure glScalef(x, y, z: TGLfloat);
Parameter
x, y, z | Die einzelnen Parameter bestimmen die Verzerrung für die einzelnen Achsen |
Beschreibung
Die Funktion glScale bewirkt eine Verzerrung oder Spiegelung des Koordinatensystems.
Hierfür wird eine Skalierungsmatrix mit der aktuellen Matrix multipliziert.
Die Skalierungsmatrix sieht so aus:
wobei x, y, z den übergebenen Parametern entspricht.
Hinweise
Es sollte um jeden Preis vermieden werden, eine Achse auf 0 zu skalieren (x,y und z immer <> 0.0)! Dies führt dazu, dass die aktuelle Matrix singulär wird und Funktionen wie gluProject sowie gluUnProject nicht mehr korrekt funktionieren.
Fehlermeldungen
GL_INVALID_OPERATION wird generiert, wenn glScale 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
Beispiele
Weitere Beispiele bei Tutorial Matrix2.
Siehe auch
glLoadMatrix, glMatrixMode, glMultMatrix, glPushMatrix, glRotate, glTranslate