Tutorial pour glut (vc++, gcc,dev c++)

Contenu du snippet

Ne pas oublier de mettre pour vc++ opengl32.lib glut32.lib pour ce faire aller dans le menu Project puis cliquez sur settings ensuite sur l'onglet Link et tapez opengl32.lib glut32.lib dans Object/library modules

Source / Exemple :


Creation d’une fenêtre

#include "GL/GL.h"
#include "GL\glut.h"//on charge glut.h pour les fonction de notre fenêtre

void Dessiner()
{
glClear(GL_COLOR_BUFFER_BIT); // On vide la fenêtre
//ici le code open gl
glFlush();
}

}
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(555,200); // on cree la fenêtre avec 555 pixels de largeur et 200 de longueur
glutCreateWindow("Fenêtre avec glut"); // Création de la fenêtre avec GLUT
glutFullScreen() ;//pour le mode pleins écran, si vous mettez sa vous n'avez plus besoin de mettre glutInitWindowSize(555,200);
glutDisplayFunc(Dessiner); // Pour dessiner dans la fenêtre
glutMainLoop();
}

Le Clavier

#include "GL/GL.h"
#include "GL\glut.h"//on charge glut.h pour les fonction de notre fenêtre et du clavier

void clavier(unsigned char key, int c, int y)
{
  switch(key)
  {
  case 27: exit(0);//si on clique sur la touche 27 (echap) alors le programme s'arrêtte
	  break;
  }

}
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutCreateWindow("Fenêtre avec glut"); // Création de la fenêtre avec GLUT
glutKeyboardFunc(clavier);//Pour le clavier
glutMainLoop();
}

voici le numéros des touches du clavier
a à z                             65 à 90
home                           36
end                              35
fleche du haut             38
fleche du bas              40
fleche de gauche        37
fleche de droite          39
echap                          27
f1 à f12                       112 à 123
space                          32
ctrl                              17
alt                               18
maj                             16
tab                              9
shift                            16

La Souris

#include "GL/GL.h"
#include "GL\glut.h"//on charge glut.h pour les fonction de notre fenêtre et la souris

void souris(int boutton, int state, int c, int y)
{
  switch(button)
  {
  case GLUT_LEFT_BUTTON: exit(0);//si on clique sur le boutton gauche de la souris alors exit
      break;
  case GLUT_MIDDLE_BUTTON: exit(0);//si on clique sur le boutton du milieu de la souris alors exit
	  break;
  case GLUT_RIGHT_BUTTON: exit(0);//si on clique sur le boutton droit de la souris alors exit
      break;
  }

}
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutCreateWindow("Fenêtre avec glut"); // Création de la fenêtre avec GLUT
glutMouseFunc(souris);
glutMainLoop();
}

/*
vous pouvez aussi mettre:

glutSetCursor(GLUT_CURSOR_RIGHT_ARROW);//pour changer le curseur

ou

GLUT_CURSOR_RIGHT_ARROW 
   Fleche haut droit (Pour gaucher). 
GLUT_CURSOR_LEFT_ARROW 
   Fleche haut gauche (normal). 
GLUT_CURSOR_INFO 
   Une main qui pointe. 
GLUT_CURSOR_DESTROY 
   Aucune selection. 
GLUT_CURSOR_HELP 
   Point d'interrogation. 
GLUT_CURSOR_CYCLE 
   Une fleche tournant dans un cercle. 
GLUT_CURSOR_SPRAY 
   Le symbole du spray. 
GLUT_CURSOR_WAIT 
   Sablier. 
GLUT_CURSOR_TEXT 
   Insertion de texte (comme un I). 
GLUT_CURSOR_CROSSHAIR 
   Une croix simple. 
GLUT_CURSOR_UP_DOWN 
   Fleche bidirectionnel pointant vers le haut et le bas. 
GLUT_CURSOR_LEFT_RIGHT 
   Fleche bidirectionnel pointant vers la gauche et la droite. 
GLUT_CURSOR_TOP_SIDE 
   Une fleche pointant vers le haut. 
GLUT_CURSOR_BOTTOM_SIDE 
   Une fleche pointant vers le bas. 
GLUT_CURSOR_LEFT_SIDE 
   Une fleche pointant vers la gauche. 
GLUT_CURSOR_RIGHT_SIDE 
   Une fleche pointant vers la droite. 
GLUT_CURSOR_TOP_LEFT_CORNER 
   Une fleche pointant vers le haut a gauche. 
GLUT_CURSOR_TOP_RIGHT_CORNER 
   Une fleche pointant vers le haut a droite. 
GLUT_CURSOR_BOTTOM_RIGHT_CORNER 
   Une fleche pointant vers le bas a gauche. 
GLUT_CURSOR_BOTTOM_LEFT_CORNER 
   Une fleche pointant vers le bas a droite. 
GLUT_CURSOR_FULL_CROSSHAIR 
   Une croix en pleine ecran (Si possible, sinon : GLUT_CURSOR_CROSSHAIR). 
GLUT_CURSOR_NONE 
   Curseur invisible. 
GLUT_CURSOR_INHERIT 
   Utilise le pointeur parent.

une fonction pour modifier la position de la souris

glutWarpPointer(500,200);

Conclusion :


Je vais bientôt ajoutter la gestion du joystick et d'autre trucs.

@+

Cesar4

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.