Salut,
J’ai un problème avec les interuption glut :^/
J’aimerai pouvoir me déplacer dans ma scène 3d. Pour cela, un simple « glTranslatef » suffi seulement, quel interuption utiliser ? Si j’utilise glutKeyboardFunc, le déplacement n’est pas celui souété car il faut attendre un certain moment avec la touche enfoncé avent que la fonction ce lance en boucle.
Une solution sous glu été d’utiliser les interruptions WM_KEYDOWN et WM_KEYUP dans WindowProc pour détecter l’appuie et le relâchement. Seulement, je ne croi pas qu’il existe un équivalent d’une interruption de relâchement d’une touche sous glut :^/
Dans un ancien poste, shenron666 m’avait dit que glu et glut pouvaient fonctionner ensemble ce que d’ailleurs je fais. Mais es qu’il est aussi possible d’utilier en meme temps des interuption de glu et glut dans le meme programme ? car je n’ai pas reussi a faire cela :^/
Ou bien si cela n’est pas possible existe-t-il un sollution a mon problème ?

Merci

Code actuelle :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
int main(int argc,char **argv)
{
  glutInit(&argc,argv);
  glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
  glutInitWindowPosition(200,200);
  glutInitWindowSize(640,480);
  glutCreateWindow("window");
 
  // Initialisation d'OpenGL
  glClearColor(0.0,0.0,0.0,0.0);
  glColor3f(1.0,1.0,1.0);
  glEnable(GL_DEPTH_TEST);
 
  // enregistrement des fonctions de rappel
  glutReshapeFunc(Reshape);
  glutDisplayFunc(Draw);
  glutKeyboardFunc(GestionClavier);  	
 
  // Entree dans la boucle principale glut
  glutMainLoop();
  return 0;
}
 
void GestionClavier(unsigned char key, int x, int y)
{
  If (key == ‘z’)
    y++ ;
}