Block 1: glBegin(GL_POLYGON); glVertex3f(20.0, 20.0, 0.5); glVertex3f(80.0, 20.0, -0.5); glVertex3f(80.0, 80.0, 0.0); glVertex3f(20.0, 80.0, 0.2); glEnd(); Block 2: glBegin(GL_POLYGON); glVertex3f(120.0, 120.0, 0.0); glVertex3f(180.0, 120.0, 0.0); glVertex3f(180.0, 180.0, 0.0); glVertex3f(120.0, 180.0, 0.0); glEnd(); Block 3: glBegin(GL_POLYGON); glVertex3f(20.0, 20.0, 0.0); glVertex3f(80.0, 20.0, 0.0); glVertex3f(80.0, 80.0, 0.0); glEnd(); Block 4: glBegin(GL_POLYGON); glVertex3f(-20.0, -20.0, 0.0); glVertex3f(80.0, 20.0, 0.0); glVertex3f(120.0, 120.0, 0.0); glVertex3f(20.0, 80.0, 0.0); glEnd(); Block 5: glColor3f(1.0, 0.0, 0.0); glBegin(GL_POLYGON); glVertex3f(20.0, 20.0, 0.0); glVertex3f(80.0, 20.0, 0.0); glVertex3f(80.0, 80.0, 0.0); glVertex3f(20.0, 80.0, 0.0); glEnd(); glColor3f(0.0, 1.0, 0.0); glBegin(GL_POLYGON); glVertex3f(40.0, 40.0, 0.0); glVertex3f(60.0, 40.0, 0.0); glVertex3f(60.0, 60.0, 0.0); glVertex3f(40.0, 60.0, 0.0); glEnd(); Block 6: glBegin(GL_POLYGON); glColor3f(1.0, 0.0, 0.0); glVertex3f(20.0, 20.0, 0.0); glColor3f(0.0, 1.0, 0.0); glVertex3f(80.0, 20.0, 0.0); glColor3f(0.0, 0.0, 1.0); glVertex3f(80.0, 80.0, 0.0); glColor3f(1.0, 1.0, 0.0); glVertex3f(20.0, 80.0, 0.0); glEnd(); Block 7: glLineWidth(5.0); glBegin(GL_LINES); glColor3f(1.0, 0.0, 0.0); glVertex3f(20.0, 20.0, 0.0); glColor3f(0.0, 1.0, 0.0); glVertex3f(80.0, 20.0, 0.0); glEnd(); Block 8: glBegin(GL_TRIANGLES); glVertex3f(10.0, 90.0, 0.0); glVertex3f(10.0, 10.0, 0.0); glVertex3f(35.0, 75.0, 0.0); glVertex3f(30.0, 20.0, 0.0); glVertex3f(90.0, 90.0, 0.0); glVertex3f(80.0, 40.0, 0.0); glEnd(); Block 9: glBegin(GL_TRIANGLE_FAN); glVertex3f(10.0, 10.0, 0.0); glVertex3f(15.0, 90.0, 0.0); glVertex3f(55.0, 75.0, 0.0); glVertex3f(70.0, 30.0, 0.0); glVertex3f(90.0, 10.0, 0.0); glEnd(); Block 10: glBegin(GL_QUADS); glVertex3f(10.0, 90.0, 0.0); glVertex3f(10.0, 10.0, 0.0); glVertex3f(40.0, 20.0, 0.0); glVertex3f(35.0, 75.0, 0.0); glVertex3f(55.0, 80.0, 0.0); glVertex3f(60.0, 10.0, 0.0); glVertex3f(90.0, 20.0, 0.0); glVertex3f(90.0, 75.0, 0.0); glEnd(); Block 11: glBegin(GL_QUAD_STRIP); glVertex3f(10.0, 90.0, 0.0); glVertex3f(10.0, 10.0, 0.0); glVertex3f(30.0, 80.0, 0.0); glVertex3f(40.0, 15.0, 0.0); glVertex3f(60.0, 75.0, 0.0); glVertex3f(60.0, 25.0, 0.0); glVertex3f(90.0, 90.0, 0.0); glVertex3f(85.0, 20.0, 0.0); glEnd(); Block 12: glBegin(GL_POLYGON); glVertex3f(20.0, 20.0, 0.0); glVertex3f(50.0, 20.0, 0.0); glVertex3f(80.0, 50.0, 0.0); glVertex3f(80.0, 80.0, 0.0); glVertex3f(20.0, 80.0, 0.0); glEnd(); Block 13: glBegin(GL_POLYGON); glVertex3f(20.0, 20.0, 0.0); glVertex3f(80.0, 20.0, 0.0); glVertex3f(40.0, 40.0, 0.0); glVertex3f(20.0, 80.0, 0.0); glEnd(); Block 14: glBegin(GL_POLYGON); glVertex3f(80.0, 20.0, 0.0); glVertex3f(40.0, 40.0, 0.0); glVertex3f(20.0, 80.0, 0.0); glVertex3f(20.0, 20.0, 0.0); glEnd();