L'exécutable

Le source: Texture1.cpp

#include <windows.h>

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

#define LI 64 
#define LH 64 
GLubyte image[LI][LH][3]; 
  
void makeImage(void) { 
  int i,j,c; 
  for( i = 0 ; i < LI ; i++ ) { 
    for( j = 0 ; j < LH ; j++ ) { 
      c =(((i&0x8)==0)^((j&0x8)==0))*255; 
      image[i][j][0] =(GLubyte) c; 
      image[i][j][1] =(GLubyte) c; 
      image[i][j][2] =(GLubyte) c; } } 
} 
  
void myinit(void) { 
  glClearColor(0.0,0.0,0.0,0.0); 
  glEnable(GL_DEPTH_TEST); 
  glDepthFunc(GL_LESS); 
  makeImage(); 
  glPixelStorei(GL_UNPACK_ALIGNMENT,1); 
  glTexImage2D(GL_TEXTURE_2D,0,3,LI,LH,0,GL_RGB,GL_UNSIGNED_BYTE,&image[0][0][0]); 
  glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_CLAMP); 
  glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_CLAMP); 
  glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST); 
  glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST); 
  glTexEnvf(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_DECAL); 
  glEnable(GL_TEXTURE_2D); 
  glShadeModel(GL_FLAT); 
} 
  
void CALLBACK display(void) { 
  glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); 
  glBegin(GL_QUADS); 
  glTexCoord2f(0.0F,0.0F); 
  glVertex3f(-2.0F,-1.0F,0.0F); 
  glTexCoord2f(0.0F,1.0F); 
  glVertex3f(-2.0F,1.0F,0.0F); 
  glTexCoord2f(1.0F,1.0F); 
  glVertex3f(0.0F,1.0F,0.0F); 
  glTexCoord2f(1.0F,0.0F); 
  glVertex3f(0.0F,-1.0F,0.0F); 
  glTexCoord2f(0.0F,0.0F); 
  glVertex3f(1.0F,-1.0F,0.0F); 
  glTexCoord2f(0.0F,1.0F); 
  glVertex3f(1.0F,1.0F,0.0F); 
  glTexCoord2f(1.0F,1.0F); 
  glVertex3f(2.41421F,1.0F,-1.41421F); 
  glTexCoord2f(1.0F,0.0F); 
  glVertex3f(2.41421F,-1.0F,-1.41421F); 
  glEnd(); 
  glFlush(); 
} 
  
void CALLBACK myReshape(int w,int h) { 
  glViewport(0,0,w,h); 
  glMatrixMode(GL_PROJECTION); 
  glLoadIdentity(); 
  gluPerspective(43.0,1.0*(float)w/(float)h,1.0,30.0); 
  glMatrixMode(GL_MODELVIEW); 
  glLoadIdentity(); 
  glTranslatef(0.0F,0.0F,-3.6F); 
} 
  
void main(void) { 
  auxInitDisplayMode(AUX_SINGLE|AUX_RGB|AUX_DEPTH); 
  auxInitPosition(0,0,300,200); 
  auxInitWindow("Les échiquiers"); 
  myinit(); 
  auxReshapeFunc(myReshape); 
  auxMainLoop(display); 
} 
 RETOUR