Question

Dans mon iPhone, je dois projeter scène 3D dans les coordonnées 2D de l'écran pour certains calculs. Mes objets passent par différentes rotations, traductions et mise à l'échelle. Donc, je me suis dit que je dois multiplier les sommets avec la matrice MODELVIEW d'abord, je dois multiplier avec la matrice de projection orthogonale.

D'abord h sur la bonne voie?

Je le Model View Matrix, mais besoin de la matrice de projection. Y at-il un équivalent dans ES 2.0 glOrtho ()?

Était-ce utile?

La solution

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;

Pour une résolution fixe (1024x768 dans mon cas pour l'iPad) J'ai utilisé cette matrice et tout fonctionne comme un charme :) Voici la description complète ce que vous avez besoin de mettre les valeurs que dans votre matrice: glOrtho.html

Autres conseils

Le page de manuel glOrtho() décrit les opérations équivalentes donc, tant que vous avez la matrice pratique devrait pouvoir re-mettre en œuvre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top