Coordonnées souris OpenGL

goutbouyo

Nouveau membre
Salut,

Je voudrais récupérer les coordonnées du curseur de ma souris dans ma fenêtre opengl.

C'est en 3D mais mon dessin est seulement en 2D (CamX,CamY), et il y a un zoom(zoom).

En regardant des posts j'ai trouvé quelques choses.

J'ai essayé comme ça :

Quand on clique bouton gauche souris

[cpp]case WM_LBUTTONDOWN:

GetCursorPos(&Cursor);

glGetIntegerv(GL_VIEWPORT,viewport);
glGetDoublev(GL_MODELVIEW_MATRIX,mvmatrix);
glGetDoublev(GL_PROJECTION_MATRIX,projmatrix);

gluProject ( CamX, CamY, 0, mvmatrix, projmatrix, viewport, &wx, &wy, &wz2 );

gluUnProject(Cursor.x, Cursor.y ,wz2 ,
mvmatrix, projmatrix, viewport, &wx, &wy, &wz);

break;[/cpp]

Fonction repaint

[cpp]void RePaint ()
{
glClear (GL_COLOR_BUFFER_BIT);
glMatrixMode (GL_MODELVIEW);
glLoadIdentity ();

gluLookAt (CamX,CamY,zoom,CamX,CamY,0,0,1,0);
//ici le zoom vaut -500


//dessine point aux coordonnées souris
glBegin (GL_POINTS);
glColor3d (32,1,8);
glVertex2i (wx,-wy);
glEnd ();

glCallList(cube2);

SwapBuffers (DC);
}[/cpp]

Le point que je dessine par rapport aux coordonés obtenus est toujours en rapport avec la souris mais il est toujours pas mal en dessous et un peu à droite de la souris.

Je comprends pas pourquoi ...

Pouvez vous m'aider SVP ???
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 098
Messages
6 717 073
Membres
1 586 286
Dernier membre
petitangebleu1977
Partager cette page
Haut