#include void init(void) { glClearColor(1.0, 1.0, 1.0, 0.0); glMatrixMode(GL_PROJECTION); gluOrtho2D(-400, 400.0, -400.0, 400.0); } void transform(void) { glClear(GL_COLOR_BUFFER_BIT); glMatrixMode(GL_MODELVIEW); /* glLoadIdentity(); */ glPushMatrix(); glColor3f(0.9, 0.9, 0.9); glRecti(-50,-50,50,50); /* glColor3f(0.6,0.6,0.6); */ /* glTranslatef(150,0,0); */ /* glRecti(-50,-50,50,50); */ /* glLoadIdentity(); */ /* glColor3f(0.4,0.4,0.4); */ /* glRotatef(45, 0,0,1); */ /* glTranslatef(150,0,0); */ /* glRecti(-50,-50,50,50); */ /* glLoadIdentity(); */ /* glColor3f(0,0,0); */ /* glScalef(2,1,1); */ /* glRotatef(-90, 0,0,1); */ /* glTranslatef(150,0,0); */ /* glRecti(-50,-50,50,50); */ glColor3f(0.6,0.6,0.6); glTranslatef(150,0,0); glRecti(-50,-50,50,50); glPopMatrix(); glPushMatrix(); glColor3f(0.4,0.4,0.4); glRotatef(45, 0,0,1); glTranslatef(150,0,0); glRecti(-50,-50,50,50); glPopMatrix(); glPushMatrix(); glColor3f(0,0,0); glScalef(2,1,1); glRotatef(-90, 0,0,1); glTranslatef(150,0,0); glRecti(-50,-50,50,50); glPopMatrix(); glFlush(); } int main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutInitWindowPosition(0, 0); glutInitWindowSize(800, 800); glutCreateWindow("An Transform Program"); init(); glutDisplayFunc(transform); glutMainLoop(); return 1; }