Accueil > > > TUTORIAL POUR GLUT (VC++, GCC,DEV C++)
TUTORIAL POUR GLUT (VC++, GCC,DEV C++)
Information sur la source
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
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui l'ont sagement suivi. Je profite de ce poste pour fai...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLETECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLE par ROMELARD Fabrice
Speakers: Julien Marechal, Gautier Confiant, Sébastien MEYER La session débute par le positionnement de la solution System Center par rapport aux concepts d'organisation ITIL. Le portail du catalogue de se...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : PLEINIèRE SECOND JOURTECHDAYS PARIS 2012 : PLEINIèRE SECOND JOUR par ROMELARD Fabrice
Après une première journée dédiée aux développeurs, cette seconde journée est dédiée au monde des entreprises et de ses applications. Ainsi, cette pleinière est dédiée à faire un 360 de l'évolution des applications Business aux demandes ac...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : RETOUR D'EXPéRIENCE SUR LA MISE EN PLACE D'UN CLOUD PRIVéTECHDAYS PARIS 2012 : RETOUR D'EXPéRIENCE SUR LA MISE EN PLACE D'UN CLOUD PRIVé par ROMELARD Fabrice
Speaker : Guillaume Rochette Cette session est dédiée à fournir le retour sur la mise en place d'un cloud privé (IaaS) par Osiatis pour son compte ou celui de ses clients. Ce projet s'est déroulé sur 4 mois et a permis de faire évoluer...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|