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
|
#define NB_POINTS 12I
#define PI 3.14159265358979323846
float x[NB_POINTS], z[NB_POINTS];
void init(void)
{
int i;
float angle;
glClearColor (0.0, 0.0, 1.0, 0.0);
glEnable (GL_DEPTH_TEST);
for (i = 0; i < NB_POINTS; i++) {
angle = i * 2 * PI / NB_POINTS;
x[i] = cos(angle);
z[i] = sin(angle);
}
}
void jeton(float r, float g, float b)
{
int i;
glColor3f (r, g, b);
glPushMatrix();
glScalef(0.5,0.25,0.5);
glBegin(GL_POLYGON);
for (i = 0; i < NB_POINTS; i++) {
glVertex3f(x[i], 1, z[i]);
}
glEnd();
glBegin(GL_POLYGON);
for (i = 0; i < NB_POINTS; i++) {
glVertex3f(x[i], -1, z[i]);
}
glEnd();
glBegin(GL_QUADS);
for (i = 0; i < NB_POINTS-1; i++) {
glVertex3f(x[i], -1, z[i]);
glVertex3f(x[i], 1, z[i]);
glVertex3f(x[i+1], 1, z[i+1]);
glVertex3f(x[i+1], -1, z[i+1]);
}
glVertex3f(x[NB_POINTS-1], -1, z[NB_POINTS-1]);
glVertex3f(x[NB_POINTS-1], 1, z[NB_POINTS-1]);
glVertex3f(x[0], 1, z[0]);
glVertex3f(x[0], -1, z[0]);
glEnd();
glPopMatrix();
} |