• Viernes 29 de Marzo de 2024, 11:54

Autor Tema:  De Perspective a Orthographic Projection  (Leído 2117 veces)

Lucas Lover

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
De Perspective a Orthographic Projection
« en: Martes 2 de Junio de 2009, 20:55 »
0
Hola!!

Estoy dibujando un terreno tridimensional (es como un plano arrugado, digamos), sobre el plano de Y=0, basicamente. Uso GL_PERSPECTIVE. Y ningun inconveniente.

Cuando lo miro desde arriba (gluLookAt en Y= un valor alto), quisiera tambien poder pasarlo pasar a proyeccion ortografica (para verlo como un rectangulo bien definido, digamos).

En glOrtho(),como limites pongo las coordenadas de la pantalla. Pero los planos near y far no se como difinir cuales son. He probado con varios, pero termina no mostrandome nada. Incluso leo el z-buffer con glReadPixels, y todo esta en 1.0, o sea, no hay nada.

He leido muchos tutoriales, pero como que son arbitrarios los planos near y far. Y ademas, no usan LookAt. Así que no se si es problema de los planos o las transformaciones

Como puedo determinar bien los planos near y far, teniendo info de la proyeccion de perspectiva? El problema surge al usar glLookAt?

Muchas gracias desde ya.
PD: No puse código para no complicar la lectura.  Si les resulta de ayuda para ayudarme, avisenme. Gracias nuevamente.

akabane89

  • Nuevo Miembro
  • *
  • Mensajes: 5
  • Nacionalidad: pe
    • Ver Perfil
Re: De Perspective a Orthographic Projection
« Respuesta #1 en: Sábado 13 de Junio de 2009, 07:45 »
0
glOrtho()
Se utiliza para especificar una proyección ortográfica. Este tipo de proyección define un volumen de vista rectangular, concretamente define un paralelepípedo de tamaño infinito, este hecho nos lleva a definir una serie de planos de corte para detallar con exactitud el volumen de vista. OpenGL define la sentencia como:

glOrtho(xmin, xmax, ymin, ymax, cerca, lejos);

Estos seis argumentos definen la ventana de visualización y los planos de corte tanto cercano como lejano. Para definir la ventana de visualización es suficiente definir las coordenadas de dos esquinas de la ventana, con estos dos valores queda totalmente definida. Los valores de cerca y lejos representan el plano cercano y el plano lejano. Hay que tener en cuenta que el objeto a visualizar debe encontrarse dentro de ambos planos, si sobrepasan estos dos planos el objeto se recortará automáticamente.

ejemplo de valores para glOrtho
glOrtho(-300.0,300.0, -300.0,300.0,-300.0,300.0);