Partager via


fonction glFrustum

La fonction glFrustum multiplie la matrice actuelle par une matrice de perspective.

Syntaxe

void WINAPI glFrustum(
   GLdouble left,
   GLdouble right,
   GLdouble bottom,
   GLdouble top,
   GLdouble zNear,
   GLdouble zFar
);

Paramètres

left

Coordonnée du plan de découpage vertical gauche.

right

Coordonnée du plan de découpage vertical droit.

Bas

Coordonnée du plan de découpage horizontal inférieur.

top

Coordonnée du plan de découpage horizontal inférieur.

zNear

Distances au plan de découpage de près de la profondeur. Doit être positif.

zFar

Distances jusqu’aux plans de découpage de profondeur. Doit être positif.

Valeur renvoyée

Cette fonction ne retourne pas de valeur.

Codes d’erreur

Les codes d’erreur suivants peuvent être récupérés par la fonction glGetError .

Name Signification
GL_INVALID_ENUM
zNear ou zFar n’était pas postitif.
GL_INVALID_OPERATION
La fonction a été appelée entre un appel à glBegin et l’appel à glEnd correspondant.

Notes

La fonction glFrustum décrit une matrice de perspective qui produit une projection de perspective. Les paramètres (gauche, bas, zNear) et (à droite, en haut, zNear) spécifient les points du plan de découpage proche qui sont mappés aux coins inférieur gauche et supérieur droit de la fenêtre, respectivement, en supposant que l’œil se trouve à (0,0,0). Le paramètre zFar spécifie l’emplacement du plan de découpage éloigné. zNear et zFar doivent être positifs. La matrice correspondante est illustrée dans l’image suivante.

Diagramme montrant la matrice de perspective qui produit une projection de perspective. Équations montrant la fonction glFrustum qui décrit une matrice de perspective.

La fonction glFrustum multiplie la matrice actuelle par cette matrice, le résultat remplaçant la matrice actuelle. Autrement dit, si M est la matrice actuelle et F est la matrice de perspective frustum, glFrustum remplace M par M F.

Utilisez glPushMatrix et glPopMatrix pour enregistrer et restaurer la pile de matrices actuelle.

La précision de la mémoire tampon de profondeur est affectée par les valeurs spécifiées pour zNear et zFar. Plus le rapport entre zFar et zNear est élevé, moins la mémoire tampon de profondeur sera efficace pour distinguer les surfaces qui sont proches les unes des autres. Si

Équation montrant le rapport de loin à proche.

Environ 2(r) bits de la précision de la mémoire tampon de profondeur sont perdus. Comme r approche de l’infini lorsque zNear approche de zéro, vous ne devez jamais définir zNear sur zéro.

Les fonctions suivantes récupèrent des informations sur glFrustum :

glGet avec GL_MATRIX_MODE d’argument

glGet avec argument GL_MODELVIEW_MATRIX

glGet avec argument GL_PROJECTION_MATRIX

glGet avec argument GL_TEXTURE_MATRIX

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge
Windows 2000 Server [applications de bureau uniquement]
En-tête
Gl.h
Bibliothèque
Opengl32.lib
DLL
Opengl32.dll

Voir aussi

glBegin

glEnd

glGet

glMatrixMode

glMultMatrix

glOrtho

glPopMatrix

glPushMatrix

glViewport