Pregunta

En mi aplicación para el iPhone, necesito proyectar escena 3D en 2D las coordenadas de la pantalla para algunos cálculos. Mis objetos pasan por varias rotaciones, traslaciones y escalado. Así que pensé que necesita multiplicar los vértices con matriz modelview primero, entonces necesito para multiplicar con la matriz de proyección ortogonal.

En primer lugar la mañana en el camino correcto?

Tengo la vista del modelo Matrix, pero necesito la matriz de proyección. ¿Hay un glOrtho () equivalente en ES 2.0?

¿Fue útil?

Solución

mat4 projectionMatrix = mat4( 2.0/768.0, 0.0, 0.0, -1.0,
                              0.0, 2.0/1024.0, 0.0, -1.0,
                              0.0, 0.0, -1.0, 0.0,
                              0.0, 0.0, 0.0, 1.0);                        

gl_Position = position;
gl_Position *= rotationMatrix;
gl_Position.x -= translateX;
gl_Position.y -= translateY;
gl_Position *= projectionMatrix;

Para obtener una resolución fija (1024x768 en mi caso para el iPad) que utiliza esta matriz y todo funciona como encanto :) He aquí la descripción completa los valores que se necesita para poner en su matriz: glOrtho.html

Otros consejos

El página del manual para glOrtho() describe las operaciones equivalentes , de manera que siempre y cuando tenga la matriz útil debe ser capaz de volver a ponerlo en práctica.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top