gluPerspective parámetros - ¿qué significan?


Me pregunto acerca de los parámetros gluPerspective.

En todos los ejemplos que veo fovy se establece en alrededor de 45-60degrees He intentado configurarlo a diferentes valores y el objeto simplemente desaparece ¿cuál es la explicación?

El valor aspect siempre debe ser la relación? ¿por qué lo cambiaría?

zNear, zFar - una vez más los valores habituales son alrededor de 10 y 500+ ¿qué refleja?

Author: Andreas Haferburg, 2013-05-15

1 answers

El propósito de los 4 parámetros es definir un view frustum , así:

perspectiva frustum

Donde nada fuera del tronco debe ser visible en la pantalla ( para lograr esto, los parámetros se utilizan para calcular una matriz 4x4, que luego se utiliza para transformar cada vértice en el llamado espacio de clip. Allí, probar si un vértice está dentro del tronco o no es trivial)

El parámetro campo de visión es básicamente el ángulo entre un plano pasando a través de la posición de la cámara, así como la parte superior de la pantalla y otro plano que pasa a través de la posición de la cámara y la parte inferior de la pantalla. Cuanto más grande es este ángulo, más puedes ver del mundo, pero al mismo tiempo, los objetos que puedes ver se harán más pequeños.

Para observar su influencia, sugeriría codificar una aplicación simple donde pueda aumentar / disminuir gradualmente el campo de visión a través de la presión de las teclas , luego renderizar algunas esferas u otros objetos básicos y ver lo que sucede mientras cámbialo.

La relación de aspecto es la relación de aspecto de la ventana. (En el gráfico de arriba, la vista se encuentra en el plano de recorte cercano) Ser capaz de definirla a voluntad tiene sentido, ya que la relación de aspecto de su vista puede variar.

Los valores zNear y zFar definen la distancia entre la posición de la cámara y los planos de recorte cercano y lejano, respectivamente. Nada que esté más cerca de la cámara que zNear o más lejos que zFar será visible. Ambos valores debe ser > 0, y obviamente, zFar > zNear. zFar debería elegirse idealmente para que todo lo que desea renderizar sea visible, pero hacerlo más grande de lo necesario desperdicia la prescripción del búfer de profundidad y puede conducir a efectos de parpadeo, llamados z-fighting. Del mismo modo, el ajuste de zNear demasiado cerca de la cámara puede causar el mismo efecto - de hecho, tener un valor razonable zNear es más importante que zFar. Si quieres saber exactamente por qué sucede esto, debes leer algunas explicaciones en profundidad, como esto uno o este

 69
Author: gemse,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-02-08 14:41:24