begin process at 2010 02 10 07:07:30
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Tutoriaux

 > TUTORIAL POUR GLUT (VC++, GCC,DEV C++)

TUTORIAL POUR GLUT (VC++, GCC,DEV C++)


 Information sur la source

Note :
2 / 10 - par 2 personnes
2,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Tutoriaux Niveau :Débutant Date de création :10/04/2002 Date de mise à jour :11/04/2002 20:47:53 Vu :9 464

Auteur : Cesar4

Ecrire un message privé
Site perso
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

 Description

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

  • 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);
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
        


 Sources du même auteur

TUTO SUR LE BUMP MAPING POUR DIRECT 8.1[VC++6]
Source avec Zip CLASS DIRECT INPUT[VC++6.0] VERSION 0.1
Source avec Zip MOTEUR 3D DE JEU DE COURSE AVEC DIRECTX 8 [VC++6]

 Sources de la même categorie

AFFICHAGE D'UN TRIANGLE ISOCELE par nabche
Source avec Zip GESTION D'UNE BIBLOTHEQUE par leclerro19
[PSP]HELLO WORLD par Mario1095
Source avec Zip Source avec une capture UTILISER LA LIB DIRENT par Lemng
UN TABLEAU MULTIDIMENTIONNEL COMME PARAMETRE DE FONCTION EN ... par Mcjo

Commentaires et avis

Commentaire de Heero le 12/04/2002 22:29:50

chez moi le glutfullscreen fait planter le prog (erreur dans glut32.dll je crois)

Commentaire de zzzzzz le 27/01/2003 13:29:33

tres util pour les debutants comme moi ! merci beaucoup!

Commentaire de morky le 16/09/2003 04:22:17

attention à la définition de 'bouton' dans la fonction Souris et dans l'appel dans le main, ils n'ont pas le meme nom !!!

Commentaire de triomen le 15/01/2005 10:59:12

Question très bête : J'ai fait un programme en C, qui fonctionne parfaitement, et je voulais juste créer une fênetre et afficher ce programme dedans. Est ce possible ?
Merci

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,499 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales