glScale: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
(Formatierung angepasst)
K (Trennlinien entfernt)
Zeile 3: Zeile 3:
  
 
== Name ==
 
== Name ==
----
 
 
'''glScale''' - bewirkt eine Verzerrung oder Spiegelung des Koordinatensystems.
 
'''glScale''' - bewirkt eine Verzerrung oder Spiegelung des Koordinatensystems.
 
<br>
 
<br>
 
== Delphi-Spezifikation ==
 
== Delphi-Spezifikation ==
----
 
 
  '''procedure''' glScaled(''x'', ''y'', ''z'': TGLdouble);<br>
 
  '''procedure''' glScaled(''x'', ''y'', ''z'': TGLdouble);<br>
 +
 
  '''procedure''' glScalef(''x'', ''y'', ''z'': TGLfloat);
 
  '''procedure''' glScalef(''x'', ''y'', ''z'': TGLfloat);
 
<br>
 
<br>
  
 
== Parameter ==
 
== Parameter ==
----
 
 
<table border=1>
 
<table border=1>
 
  <tr>
 
  <tr>
Zeile 23: Zeile 21:
  
 
== Beschreibung ==
 
== Beschreibung ==
----
 
 
Die Funktion '''glScale''' bewirkt eine Verzerrung oder Spiegelung des Koordinatensystems. Hierfür wird eine Skalierungsmatrix mit der aktiven [[Transformationsmatrix]] multipliziert.<br>
 
Die Funktion '''glScale''' bewirkt eine Verzerrung oder Spiegelung des Koordinatensystems. Hierfür wird eine Skalierungsmatrix mit der aktiven [[Transformationsmatrix]] multipliziert.<br>
 
Die Skalierungsmatrix sieht so aus:
 
Die Skalierungsmatrix sieht so aus:
Zeile 35: Zeile 32:
 
<br>
 
<br>
 
== 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.
 
<br>
 
<br>
 
==  Zugehörige Wertrückgaben ==
 
==  Zugehörige Wertrückgaben ==
----
 
 
[[glGet]] mit Token '''GL_MATRIX_MODE'''<br>
 
[[glGet]] mit Token '''GL_MATRIX_MODE'''<br>
 
[[glGet]] mit Token '''GL_MODELVIEW_MATRIX'''<br>
 
[[glGet]] mit Token '''GL_MODELVIEW_MATRIX'''<br>
Zeile 46: Zeile 41:
  
 
== Beispiele ==
 
== Beispiele ==
----
 
 
<table border=1>
 
<table border=1>
 
  <tr>
 
  <tr>
Zeile 64: Zeile 58:
  
 
== Siehe auch ==
 
== Siehe auch ==
----
 
 
[[glLoadMatrix]], [[glMatrixMode]], [[glMultMatrix]], [[glPushMatrix]], [[glRotate]], [[glTranslate]]
 
[[glLoadMatrix]], [[glMatrixMode]], [[glMultMatrix]], [[glPushMatrix]], [[glRotate]], [[glTranslate]]

Version vom 16. August 2004, 00:31 Uhr

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 aktiven Transformationsmatrix multipliziert.
Die Skalierungsmatrix sieht so aus:

  | x  0  0  0 |
  | 0  y  0  0 |
  | 0  0  z  0 |
  | 0  0  0  1 |

wobei x, y, z den übergebenen Parametern entspricht.

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

Glscale normal.png Ein ganz normaler Würfel der keinerlei Skalierung erfahren hat.
Entspricht:glScale(1,1,1);
Glscale scaledx.png Der gleiche Würfel, der diesmal entlang der X-Achse gestreckt wurde.
Entspricht:glScale(3,1,1);
Glscale invert.png Der vorrige Würfel, der nun auch entlang der Y-Achse invertiert wurde.
Entspricht:glScale(3,-1,1);


Siehe auch

glLoadMatrix, glMatrixMode, glMultMatrix, glPushMatrix, glRotate, glTranslate