glFrustum-Funktion
Die glFrustum-Funktion multipliziert die aktuelle Matrix mit einer Perspektivmatrix.
Syntax
void WINAPI glFrustum(
GLdouble left,
GLdouble right,
GLdouble bottom,
GLdouble top,
GLdouble zNear,
GLdouble zFar
);
Parameter
-
left
-
Die Koordinate für die links-vertikale Clippingebene.
-
right
-
Die Koordinate für die rechte vertikale Clippingebene.
-
bottom
-
Die Koordinate für die untere horizontale Clippingebene.
-
top
-
Die Koordinate für die untere horizontale Clippingebene.
-
zNear
-
Die Entfernungen zur nahezu tiefen Clippingebene. Muss positiv sein.
-
zFar
-
Die Entfernungen zu den tiefen Clippingebenen. Muss positiv sein.
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Fehlercodes
Die folgenden Fehlercodes können von der glGetError-Funktion abgerufen werden.
Name | Bedeutung |
---|---|
|
zNear oder zFar war nicht postitiv. |
|
Die Funktion wurde zwischen einem Aufruf von glBegin und dem entsprechenden Aufruf von glEnd aufgerufen. |
Bemerkungen
Die glFrustum-Funktion beschreibt eine Perspektivmatrix, die eine perspektivische Projektion erzeugt. Die Parameter (links, unten, zNear) und (rechts, oben, zNear) geben die Punkte auf der nahen Clippingebene an, die den unteren linken bzw. oberen rechten Ecken des Fensters zugeordnet sind, wobei vorausgesetzt wird, dass sich das Auge bei (0,0,0, 0) befindet. Der zFar-Parameter gibt die Position der fernen Clippingebene an. Sowohl zNear als auch zFar müssen positiv sein. Die entsprechende Matrix ist in der folgenden Abbildung dargestellt.
Die glFrustum-Funktion multipliziert die aktuelle Matrix mit dieser Matrix, wobei das Ergebnis die aktuelle Matrix ersetzt. Das heißt, wenn M die aktuelle Matrix und F die Frustum-Perspektivmatrix ist, ersetzt glFrustum M durch M F.
Verwenden Sie glPushMatrix und glPopMatrix , um den aktuellen Matrixstapel zu speichern und wiederherzustellen.
Die Genauigkeit des Tiefenpuffers wird von den für zNear und zFar angegebenen Werten beeinflusst. Je größer das Verhältnis von zFar zu zNear ist, desto weniger effektiv ist der Tiefenpuffer bei der Unterscheidung zwischen oberflächennahen Oberflächen. Wenn
die Genauigkeitdes Tiefenpuffers geht ungefähr 2 (r)-Bits verloren. Da sich r der Unendlichkeit nähert, wenn sich zNear 0 nähert, sollten Sie zNear niemals auf 0 festlegen.
Die folgenden Funktionen rufen Informationen zu glFrustum ab:
glGet mit Argument GL_MATRIX_MODE
glGet mit argument GL_MODELVIEW_MATRIX
glGet mit Argument GL_PROJECTION_MATRIX
glGet mit Argument GL_TEXTURE_MATRIX
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) |
Windows 2000 Server [nur Desktop-Apps] |
Header |
|
Bibliothek |
|
DLL |
|