Bonjour,
j'ai un soucis avec Glut.
Pour faire "propre" j'utilise des classes pour develloper mon programme.

voici la la d'initialisation de glut:
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
 
/*Classe d'initialisation de la fenètre OpenGL*/
#ifndef CINIT_H
#define CINIT_H
 
#include <iostream>
#include <windows.h>
#include <stdlib.h>
#include <gl/glut.h>
 
class Cinit
{
    private: 
        int WindowName;
        int Time_Debut;
        int Time;
        bool Flag_Sound;
 
    public:
        Cinit(int argc, char *argv, int width, int height);
 
    private:
        static void Reshape(int width, int height);
        static void Draw();
        static void Key(unsigned char key, int x, int y);
        void Init_Sound();
 
};
Le probleme que j'ai c'est le faite que certaines méthodes soit static.

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
 
Cinit::Cinit(int argc, char *argv, int width, int height)
{
  //On récupère l'heure a laquelle le programme est lancé
  Time_Debut = GetTickCount();
 
  //On met le drapeau pour le son a false
  Flag_Sound = false;
 
  //On initialise Glut
  glutInit( &argc, &argv );
 
  //On definie le mode d'affichage couleur RGBA, double buffer, et un Z-buffer 
  glutInitDisplayMode( GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH );
 
  //On initialise la taille de notre fenètre
  glutInitWindowSize( width, height );  
 
  //Et on la créé en lui donnait en paramètre le titre
  WindowName = glutCreateWindow( "Demo 01" );
 
  //On demande si la demo doit apparaitre en mode plein écran ou en mode fenétré
  if (MessageBox(NULL,"Mode plein écran ?", "Plein écran ?",MB_YESNO|MB_ICONQUESTION)==IDYES)
  {
	     glutFullScreen(); 	
  }	
 
  //On efface le curseur de la sourie de l'écran
  glutSetCursor(GLUT_CURSOR_NONE);
 
 
 
  //On initialise la fonction de gestion de l'évenement WM_SIZE a Glut 
  glutReshapeFunc( Reshape ); 
 
  //On initialise la fonction du traitment du message WM_PAINT
  glutDisplayFunc( Draw );
 
  //On initialise la fonction de gestion du clavier
  glutKeyboardFunc(Key);
 
  glutMainLoop();
 
}
si les methode Draw, Reshape et Key ne sont pas déclarer static j'ai des erreur de compilations :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
41 D:\OpenGL\Demo 01\Cinit.cpp ourceargument of type `void (Cinit::)()' does not match `void (*)()'
Le hic, c'est que dans ces méthode je dois utiliser des variable non statique, ainsi que d'autre méthodes, et evidemment ca ne passe pas pour le compilateur.

Que faire svp?