L'exécutable

 

Le source: ObjetsAuxiliary.cpp

#include <windows.h>

#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glaux.h>

#include <stdio.h>
#include <stdlib.h>

static float anglex = 0.0F ;
static float angley = 0.0F ;
static int obj = 0 ;

void CALLBACK display(void) {
  glClearColor (1.0,1.0,1.0,1.0);
  glClear(GL_COLOR_BUFFER_BIT);
  glColor3f(0.0F,0.0F,0.0F);
  glPushMatrix();
  glRotatef(angley,0.0F,1.0F,0.0F) ;
  glRotatef(anglex,1.0F,0.0F,0.0F) ;
  switch ( obj ) {
    case 0  : auxWireSphere(7.0) ;
              break ;
    case 1  : auxWireCube(11.0) ;
              break ;
    case 2  : auxWireCone(6.0,9.0) ;
              break ;
    case 3  : auxWireCylinder(3.0,9.0) ;
              break ;
    case 4  : auxWireBox(4.0,7.0,12.0) ;
              break ;
    case 5  : auxWireTorus(2.0,6.0) ;
              break ;
    case 6  : auxWireTetrahedron(9.0) ;
              break ;
    case 7  : auxWireOctahedron(9.0) ;
              break ;
    case 8  : auxWireDodecahedron(9.0) ;
              break ;
    case 9  : auxWireIcosahedron(9.0) ;
              break ;
    case 10 : auxWireTeapot(7.0) ; }
  glPopMatrix();
  glFlush();
  auxSwapBuffers();
}

void myinit (void) {
}

void CALLBACK myReshape(int w,int h) {
  glViewport(0,0,w,h);
  glMatrixMode(GL_PROJECTION);
  glLoadIdentity();
  glOrtho(-10.0,10.0,-10.0*h/w,10.0*h/w,-10.0,10.0);
  glMatrixMode(GL_MODELVIEW);
  glLoadIdentity();
}

void CALLBACK up(void) {
  anglex++ ;
}

void CALLBACK down(void) {
  anglex-- ;
}

void CALLBACK left(void) {
  angley++ ;
}

void CALLBACK right(void) {
  angley-- ;
}

void CALLBACK space(void) {
  obj++ ;
  if ( obj == 11 )
    obj = 0 ;
}

void main(void) {
  auxInitDisplayMode (AUX_DOUBLE | AUX_RGBA);
  auxInitPosition (0, 0, 500, 500);
  auxInitWindow ("Objets");
  myinit ();
  auxKeyFunc(AUX_UP,up) ;
  auxKeyFunc(AUX_DOWN,down) ;
  auxKeyFunc(AUX_LEFT,left) ;
  auxKeyFunc(AUX_RIGHT,right) ;
  auxKeyFunc(AUX_SPACE,space) ;
  auxReshapeFunc (myReshape);
  auxMainLoop(display);
}
 RETOUR