Aller au contenu

[opengl] récupérer la matrice de projection


Zerrac

Recommended Posts

Bonjour à tous.

J'ai besoin de récupérer la position à l'écran d'un point dans l'espace 3D (pour pouvoir sélectionner des tiles dans l'éditeur de mon jeu).

J'ai essayé de récupérer la matrice de projection comme ceci:

gl.glMatrixMode(GL10.GL_PROJECTION);

gl.glLoadIdentity();

float xmax = (float)Math.tan(mCameraFOV*0.5f)*mNearClippingPlane;

float ymax = xmax * mScreenHeight/mScreenWidth;

gl.glFrustumf(-xmax,xmax,-ymax,ymax,mNearClippingPlane,mFarClippingPlane);

if (gl instanceof GL11)

{

((GL11)gl).glGetFixedv(GL11.GL_PROJECTION_MATRIX, mProjectionMatrix.mCoefs, 0);

}

(mProjectionMatrix.mCoefs est un int[16])

Mes coefficients ne sont pas modifiés, alors que je passe bien dans glGetFixedv??

Comment faire pour récupérer cette matrice?

Lien vers le commentaire
Partager sur d’autres sites

  • 2 weeks later...

Vous aussi vous séchez?

Bon, finalement j'ai fait autrement, j'ai calculé un vecteur direction en fonction de mon plan de clipping et de la position de ma caméra, et j'ai fait des calculs de projection sur mes objets pour savoir lequel est sélectionné. Plus bourrin, plus compliqué aussi niveau calculs, mais au moins ça fonctionne.

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...