Coordonnées souris OpenGL

Coordonnées souris OpenGL - C - Programmation

Marsh Posté le 26-10-2004 à 10:41:51    

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
 

Code :
  1. case WM_LBUTTONDOWN:
  2. GetCursorPos(&Cursor);
  3. glGetIntegerv(GL_VIEWPORT,viewport);
  4. glGetDoublev(GL_MODELVIEW_MATRIX,mvmatrix);
  5. glGetDoublev(GL_PROJECTION_MATRIX,projmatrix);
  6. gluProject ( CamX, CamY, 0, mvmatrix, projmatrix, viewport, &wx, &wy, &wz2 );
  7. gluUnProject(Cursor.x, Cursor.y ,wz2 ,
  8. mvmatrix, projmatrix, viewport, &wx, &wy, &wz);
  9. break;


 
Fonction repaint
 

Code :
  1. void RePaint ()
  2. {
  3. glClear (GL_COLOR_BUFFER_BIT);
  4. glMatrixMode (GL_MODELVIEW);
  5. glLoadIdentity ();
  6. gluLookAt (CamX,CamY,zoom,CamX,CamY,0,0,1,0);
  7. //ici le zoom vaut -500  
  8. //dessine point aux coordonnées souris  
  9. glBegin (GL_POINTS);
  10. glColor3d (32,1,8);
  11. glVertex2i (wx,-wy);
  12. glEnd ();
  13. glCallList(cube2);
  14. SwapBuffers (DC);
  15. }


 
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 ???

Reply

Marsh Posté le 26-10-2004 à 10:41:51   

Reply

Marsh Posté le 26-10-2004 à 11:22:47    

non mais dessine le en mode ortho ton point ???


Message édité par cris56 le 26-10-2004 à 11:23:01
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed