gl.Ortho(left, right, bottom, top, zNear, zFar)
gl.Ortho()
beschreibt eine Transformation, die eine Parallelprojektion erzeugt.
Die aktuelle Matrix (siehe gl.MatrixMode() für Details)
wird mit dieser Matrix multipliziert und das Ergebnis ersetzt die aktuelle Matrix,
als ob gl.MultMatrix() mit der folgenden Matrix als Argument
aufgerufen worden wäre:
A 0 0 tx 0 B 0 ty 0 0 C tz 0 0 0 1 |
wobei
A = 2 / (right - left) B = 2 / (top - bottom) C = -2 / (far - near) tx = -(right + left) / (right - left) ty = -(top + bottom) / (top - bottom) tz = -(zFar + zNear) / (zFar - zNear) |
ist.
Typischerweise ist der Matrixmodus #GL_PROJECTION
und (left
, bottom
, -zNear
)
und (right
, top
, -zNear
) geben die Punkte auf der nahen
Ausschnittebene an, die auf die untere linke bzw. obere rechte Ecke des Fensters
abgebildet sind, vorausgesetzt, dass sich das Auge bei (0, 0, 0) befindet.
-zFar
gibt die Position der entfernten Ausschnittebene an. Sowohl zNear
als
auch zFar
können entweder positiv oder negativ sein.
Verwenden Sie gl.PushMatrix() und gl.PopMatrix() um den aktuellen Matrixstapel zu speichern und wiederherzustellen.
Weitere Informationen finden Sie in einem OpenGL-Referenzhandbuch.
#GL_INVALID_VALUE
wird erzeugt, wenn left = right, oder bottom = top, oder zNear = zFar ist.
#GL_INVALID_OPERATION
wird erzeugt, wenn gl.Ortho()
zwischen
gl.Begin() und gl.End() ausgeführt wird.
#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