1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
|
#define ESCAPE 27
GLfloat light_position[] = { 1.0F,0.0F,1.0F,0.0F };
GLfloat lightambiant[] = { 1.0f,1.0f,1.0f,0.0};
int window;
void InitGL(int Width, int Height)
{
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
glClearDepth(1.0);
glDepthFunc(GL_LESS);
glEnable(GL_DEPTH_TEST);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glLightfv(GL_LIGHT0,GL_POSITION,light_position);
glLightfv(GL_LIGHT0,GL_AMBIENT,lightambiant);
/* model d'ombrage */
glShadeModel(GL_SMOOTH); //GL_FLAT = ombrage plat; GL_SMOOTH = ombrage de Gouraud (degradé)
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0f,(GLfloat)Width/(GLfloat)Height,0.1f,100.0f);
glMatrixMode(GL_MODELVIEW);
}
void ReSizeGLScene(int Width, int Height)
{
// ...
}
void DrawGLScene()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glLoadIdentity();
gluLookAt(8.0,6.0,4.0,0.0,0.0,0.0,0.0,1.0,0.0);
/*************************
* Cube avec ombrage plat *
*************************/
//dessin cube en donner les 4 sommets et la normale des 6 faces
glBegin (GL_QUADS);
// face 1
glNormal3f (0.0f,0.0f,1.0f);
glVertex3i(1,1,1);
glVertex3i(1,-1,1);
glVertex3i(-1,-1,1);
glVertex3i(-1,1,1);
//face2
glNormal3f (0.0f,0.0f,-1.0f);
glVertex3i(1,1,-1);
glVertex3i(1,-1,-1);
glVertex3i(-1,-1,-1);
glVertex3i(-1,1,-1);
// face3
glNormal3f (1.0f,0.0f,0.0f);
glVertex3i(1,1,1);
glVertex3i(1,-1,1);
glVertex3i(1,-1,-1);
glVertex3i(1,1,-1);
// face4
glNormal3f (-1.0f,0.0f,0.0f);
glVertex3i(-1,1,1);
glVertex3i(-1,-1,1);
glVertex3i(-1,-1,-1);
glVertex3i(-1,1,-1);
// face5
glNormal3f (0.0f,1.0f,0.0f);
glVertex3i(-1,1,-1);
glVertex3i(-1,1,1);
glVertex3i(1,1,1);
glVertex3i(1,1,-1);
// face6
glNormal3f (0.0f,-1.0f,0.0f);
glVertex3i(-1,-1,1);
glVertex3i(1,-1,1);
glVertex3i(1,-1,-1);
glEnd ();
glutSwapBuffers();
}
void keyPressed(unsigned char key, int x, int y)
{
// ...
}
int main(int argc, char **argv)
{
// ...
} |
Partager