Bezeichnung
gl.Scale -- multipliziert die aktuelle Matrix mit einer allgemeinen Skalierungsmatrix
Übersicht
gl.Scale(x, y, z)
Beschreibung
gl.Scale() erzeugt eine ungleichmäßige Skalierung entlang der x-, y- und z-Achse. Die drei Parameter geben den gewünschten Skalierungsfaktor entlang jeder der drei Achsen an.

Die aktuelle Matrix (siehe gl.MatrixMode()) wird mit dieser Skalenmatrix multipliziert und das Produkt ersetzt die aktuelle Matrix, als würde gl.MultMatrix() mit der folgenden Matrix als Argument aufgerufen:

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

Wenn der Matrixmodus entweder #GL_MODELVIEW oder #GL_PROJECTION ist, werden alle nach dem Aufruf von gl.Scale() gezeichneten Objekte skaliert.

Verwenden Sie gl.PushMatrix() und gl.PopMatrix(), um das nicht skalierte Koordinatensystem zu speichern und wiederherzustellen.

Wenn andere Skalierungsfaktoren als 1 auf die Modellsichtmatrix angewendet werden und die Beleuchtung aktiviert ist, erscheint die Beleuchtung oft falsch. In diesem Fall aktivieren Sie die automatische Normalisierung von Normalen, indem Sie gl.Enable() mit dem Argument #GL_NORMALIZE aufrufen.

Weitere Informationen finden Sie in einem OpenGL-Referenzhandbuch.

Eingaben
x
legt den Skalierungsfaktor entlang der x-Achse fest
y
legt den Skalierungsfaktor entlang der y-Achse fest
z
legt den Skalierungsfaktor entlang der z-Achse fest
Fehler
#GL_INVALID_OPERATION wird erzeugt, wenn gl.Scale() zwischen gl.Begin() und gl.End() ausgeführt wird.

Verbundene get-operationen
gl.Get() mit dem Argument #GL_MATRIX_MODE

gl.Get() mit dem Argument #GL_MODELVIEW_MATRIX

gl.Get() mit dem Argument #GL_PROJECTION_MATRIX

gl.Get() mit dem Argument #GL_TEXTURE_MATRIX


Navigation zeigen