/* Présentation d'OpenGL
   7 Mars 2003
   Clément Bourdarias <phneutre@icculus.org>
*/

/* exemple1 : utiliser GLUT */
/* compiler avec gcc -o exemple1 exemple1.c -ansi -pedantic -Wall -lglut -lGLU -lGL */

#include <GL/gl.h>
#include <GL/glut.h>

/* fonction est appelée dès que la fenêtre
 *  est redimensionnée 
 */
void
reshape(int w, int h)
{
  /* informe OpenGL de la nouvelle taille de la fenetre */
  glViewport(0, 0, w, h);
}

/* fonction qui contient les fonctions
   OpenGL décrivant la scène
 */
void
display(void)
{
  /* on vide l'écran */
  glClear(GL_COLOR_BUFFER_BIT);
  
  /* on dessine l'image en mémoire */ 
  glutSwapBuffers();
}

/* fonction appelée quand il n'y a rien d'autre
  à faire...
 */
void idle_func(void)
{
  /* dessine l'image à l'écran */
  glutPostRedisplay();
}

/* fonctions d'initialisations d'OpenGL */
void
init_opengl(void)
{

}

int
main(int argc, char **argv)
{
  /* initialisation de GLUT */
  glutInit(&argc, argv);
  glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGB);
  glutInitWindowSize(640,480);
  
  /* création de la fenêtre en elle même */
  glutCreateWindow("exemple1");
  
  /* fonctions d'initialisations d'OpenGL */
  init_opengl();
  
  /* assignation des fonctions de dessin et 
      de redimesionnement */
  glutDisplayFunc(display);
  glutReshapeFunc(reshape);
  glutIdleFunc(idle_func);
  
  /* c'est parti ! */
  glutMainLoop();
  return 0;
}


syntax highlighted by Code2HTML, v. 0.9.1