static void draw(CompScreen* s, GLint gear1, GLint gear2, GLint gear3, GLfloat angle) { glPushMatrix(); glTranslatef(0.0f, 0.0f, s->width / 2); glScalef(1.0f / s->width, 1.0f / s->height, 1.0f); glPushMatrix(); glTranslatef(-3.0, -2.0, 0.0); glRotatef(angle, 0.0, 0.0, 1.0); glCallList(gear1); glPopMatrix(); glPushMatrix(); glTranslatef(3.1, -2.0, 0.0); glRotatef(-2.0 * angle - 9.0, 0.0, 0.0, 1.0); glCallList(gear2); glPopMatrix(); glPushMatrix(); glTranslatef(-3.1, 4.2, 0.0); glRotatef(-2.0 * angle - 25.0, 0.0, 0.0, 1.0); glCallList(gear3); glPopMatrix(); glPopMatrix(); }