Domanda

Nel mio iphone app, ho bisogno di proiettare 3d scena nelle 2D coordinate dello schermo per alcuni calcoli. I miei oggetti passano attraverso varie rotazioni, traduzioni e ridimensionamento. Così ho pensato che ho bisogno di moltiplicare i vertici con modelview matrix prima, poi ho bisogno di moltiplicare con la matrice di proiezione ortogonale.

Prima di tutto del mattino sulla strada giusta?

Ho il Model View Matrix, ma serve la matrice di proiezione. C'è una glOrtho () equivalente a ES 2.0?

È stato utile?

Soluzione

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;

Per una risoluzione fissa (1024x768 nel mio caso per iPad) ho usato questa matrice e tutto funziona come fascino :) Ecco la descrizione completa quali valori è necessario mettere nella vostra matrice: glOrtho.html

Altri suggerimenti

Il pagina manuale glOrtho() descrive le operazioni equivalenti , così finché si dispone la matrice a portata di mano dovrebbe essere in grado ri-attuazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top