Compartir a través de


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
GL_INVALID_ENUM
zNear o zFar no fue postitivo.
GL_INVALID_OPERATION
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.

Diagrama que muestra la matriz de perspectiva que genera una proyección de perspectiva. Ecuaciones que muestran la función glFrustum que describe una matriz de perspectiva.

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

Ecuación que muestra la relación de lejos a cerca.

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
Gl.h
Biblioteca
Opengl32.lib
Archivo DLL
Opengl32.dll

Consulte también

glBegin

glEnd

glGet

glMatrixMode

glMultMatrix

glOrtho

glPopMatrix

glPushMatrix

glViewport