Função glFrustum
A função glFrustum multiplica a matriz atual por uma matriz de perspectiva.
Sintaxe
void WINAPI glFrustum(
GLdouble left,
GLdouble right,
GLdouble bottom,
GLdouble top,
GLdouble zNear,
GLdouble zFar
);
Parâmetros
-
esquerda
-
A coordenada do plano de recorte vertical esquerdo.
-
direita
-
A coordenada do plano de recorte vertical direito.
-
parte inferior
-
A coordenada do plano de recorte horizontal inferior.
-
início
-
A coordenada do plano de recorte horizontal inferior.
-
zNear
-
As distâncias até o plano de recorte de quase profundidade. Deve ser positivo.
-
zFar
-
As distâncias para os planos de recorte de profundidade. Deve ser positivo.
Retornar valor
Essa função não retorna um valor.
Códigos de erro
Os códigos de erro a seguir podem ser recuperados pela função glGetError .
Nome | Significado |
---|---|
|
zNear ou zFar não era postitivo. |
|
A função foi chamada entre uma chamada para glBegin e a chamada correspondente para glEnd. |
Comentários
A função glFrustum descreve uma matriz de perspectiva que produz uma projeção de perspectiva. Os parâmetros (esquerda, inferior, zNear) e (direita, superior, zNear) especificam os pontos no plano de recorte próximo mapeado para os cantos inferior esquerdo e superior direito da janela, respectivamente, supondo que o olho esteja localizado em (0,0,0). O parâmetro zFar especifica o local do plano de recorte distante. ZNear e zFar devem ser positivos. A matriz correspondente é mostrada na imagem a seguir.
A função glFrustum multiplica a matriz atual por essa matriz, com o resultado substituindo a matriz atual. Ou seja, se M for a matriz atual e F for a matriz de perspectiva de frusto, glFrustum substituirá M por M F.
Use glPushMatrix e glPopMatrix para salvar e restaurar a pilha de matriz atual.
A precisão do buffer de profundidade é afetada pelos valores especificados para zNear e zFar. Quanto maior a proporção de zFar para zNear for, menos eficaz será o buffer de profundidade em distinguir entre superfícies próximas umas das outras. If
aproximadamente log2 (r) bits de precisão de buffer de profundidade são perdidos. Como r se aproxima do infinito à medida que zNear se aproxima de zero, você nunca deve definir zNear como zero.
As seguintes funções recuperam informações sobre glFrustum:
glGet com GL_MATRIX_MODE de argumento
glGet com GL_MODELVIEW_MATRIX de argumento
glGet com GL_PROJECTION_MATRIX de argumento
glGet com GL_TEXTURE_MATRIX de argumento
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte |
Windows 2000 Server [somente aplicativos da área de trabalho] |
Cabeçalho |
|
Biblioteca |
|
DLL |
|