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 dune 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
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.