Réponse acceptée !
#include <stdlib.h>
#include <gl/glut.h> /* En-tête de fichier pour la GLUT (incluant les headers window.h, glu.h et gl.h)*/
#pragma comment(lib, "glut32.lib") /* Demande au précompilateur de lier la librairie glut32.lib*/
void affichage () /* Fonction de notre affichage*/
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); /* Efface le tampon chromatique*/
glLoadIdentity(); /* Initialise la matrice (matrice identité)*/
glTranslatef(0.0f, 0.0f, -5.0f); /* Eloigne notre dessin de 5 unités*/
glColor3f(0.0, 1.0, 0.0); /* couleur: vert*/
glBegin(GL_TRIANGLES);
glVertex3f(-1.0, .0, -3.0); /*Dessin de notre premier triangle*/
glVertex3f(1.0, 0.0, -3.0);
glVertex3f(0.0, -1.0, -3.0);
glEnd();
glColor3f(1.0, 0.0, 0.0); /*couleur: rouge*/
glBegin(GL_TRIANGLES);
glVertex3f(-1.0, 0.0, -5.0); /*Dessin de notre deuxième triangle*/
glVertex3f(1.0, 0.0, -5.0);
glVertex3f(0.0, -1.0, -5.0);
glEnd();
glFinish ();
glutSwapBuffers (); /*Echange des tampons image (celui sur lequel on a dessiné s'affiche pendant que nous dessinerons sur l'autre)*/
}
void redimension (int w, int h) /* Notre fonction de redimension de la fenêtre*/
{
glViewport (0, 0, w, h);
glMatrixMode (GL_PROJECTION);
glLoadIdentity ();
if (h==0)
gluPerspective (80, (float) w, 0.0, 10.0);
else
gluPerspective (80, (float) w / (float) h, 0.0, 10.0);
glMatrixMode (GL_MODELVIEW);
glLoadIdentity ();
}
void clavier (unsigned char key, int x, int y) /* Fonction de gestion du clavier*/
{
switch (key) {
case 27:
glutDestroyWindow(glutGetWindow());
exit (0);
break;
}
}
void init()
{
glShadeModel(GL_SMOOTH); /* Modèle de polygones dégradés*/
glClearColor(0.0f, 0.0f, 0.0f, 1.0f); /* Fond noir*/
}
int main (int argc, char** argv) /* Fonction principale*/
{
glutInit (&argc, argv); /* Initialisation de la GLUT*/
glutInitDisplayMode (GLUT_DEPTH|GLUT_RGBA|GLUT_DOUBLE); /* Affichage en mode RGB et double tampon image*/
glutInitWindowPosition (200, 200); /* Détermine la position initiales de la fenêtre*/
glutInitWindowSize (300, 300); /* Taille de la fenêtre*/
glutCreateWindow ("TeSt"); /* Titre de la fenêtre*/
init();
glutDisplayFunc (affichage); /* Spécifie la fonction avec laquelle on veut afficher*/
glutReshapeFunc (redimension); /* Spécifie la fonction avec laquelle on veut redimensionner la fenêtre*/
glutKeyboardFunc (clavier); /* Spécifie la fonction avec laquelle on veut gérer les entrés au clavier*/
glutIdleFunc (affichage); /* Spécifie la fonction qui s'exécute lorsque la GLUT n'a aucun autres évènements à traiter*/
glutMainLoop (); /* Démarre la GLUT en entrant dans une boucle infinie*/
}
MaLaDeDeDe