Función glFrustum
La función glFrustum multiplica la matriz actual por una matriz de perspectiva.
Sintaxis
void WINAPI glFrustum(
GLdouble left,
GLdouble right,
GLdouble bottom,
GLdouble top,
GLdouble zNear,
GLdouble zFar
);
Parámetros
-
left
-
Coordenada del plano de recorte vertical izquierdo.
-
right
-
Coordenada del plano de recorte vertical derecho.
-
Parte inferior
-
Coordenada del plano de recorte horizontal inferior.
-
top
-
Coordenada del plano de recorte horizontal inferior.
-
zNear
-
Distancias al plano de recorte de profundidad cercana. Debe ser positivo.
-
zFar
-
Distancias a los planos de recorte de profundidad lejana. Debe ser positivo.
Valor devuelto
Esta función no devuelve ningún valor.
Códigos de error
La función glGetError puede recuperar los siguientes códigos de error.
Nombre | Significado |
---|---|
|
zNear o zFar no fue postitivo. |
|
Se llamó a la función entre una llamada a glBegin y la llamada correspondiente a glEnd. |
Comentarios
La función glFrustum describe una matriz de perspectiva que genera una proyección de perspectiva. Los parámetros (left, bottom, zNear) y (right, top, zNear) especifican los puntos en el plano de recorte cercano que se asignan a las esquinas inferior izquierda y superior derecha de la ventana, respectivamente, suponiendo que el ojo se encuentra en (0,0,0). El parámetro zFar especifica la ubicación del plano de recorte lejano. Tanto zNear como zFar deben ser positivos. La matriz correspondiente se muestra en la siguiente imagen.
La función glFrustum multiplica la matriz actual por esta matriz, con el resultado reemplazando la matriz actual. Es decir, si M es la matriz actual y F es la matriz de perspectiva frustum, glFrustum reemplaza M por M F.
Use glPushMatrix y glPopMatrix para guardar y restaurar la pila de matriz actual.
La precisión del búfer de profundidad se ve afectada por los valores especificados para zNear y zFar. Cuanto mayor sea la proporción de zFar a zNear , menos eficaz será el búfer de profundidad que distinguirá entre superficies cercanas entre sí. Si
sepierden aproximadamente 2 bits de búfer de profundidad. Dado que r se aproxima al infinito cuando zNear se aproxima a cero, nunca debe establecer zNear en cero.
Las siguientes funciones recuperan información sobre glFrustum:
glGet con GL_MATRIX_MODE de argumentos
glGet con GL_MODELVIEW_MATRIX de argumentos
glGet con GL_PROJECTION_MATRIX de argumentos
glGet con GL_TEXTURE_MATRIX de argumentos
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible |
Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible |
Windows 2000 Server [solo aplicaciones de escritorio] |
Encabezado |
|
Biblioteca |
|
Archivo DLL |
|