#include <GL/gl.h> #include <GL/glu.h> #include "aux.h" /* GL_SMOOTH is actually the default shading model. */ void myinit (void) { glShadeModel (GL_SMOOTH); } void cube(void) { glBegin (GL_QUADS); glColor3f (1.0, 0.0, 0.0); glVertex3f (5.0, 0.0, 0.0); glColor3f (1.0, 1.0, 0.0); glVertex3f (5.0, 5.0, 0.0); glColor3f (0.0, 1.0, 0.0); glVertex3f (0.0, 5.0, 0.0); glColor3f (0.0, 0.0, 0.0); glVertex3f (0.0, 0.0,0.0); glEnd (); glBegin (GL_QUADS); glColor3f (1.0, 0.0, 0.0); glVertex3f (5.0, 0.0, 0.0); glColor3f (1.0, 0.0, 1.0); glVertex3f (5.0, 0.0, 5.0); glColor3f (0.0, 0.0, 1.0); glVertex3f (0.0, 0.0, 5.0); glColor3f (0.0, 0.0, 0.0); glVertex3f (0.0, 0.0,0.0); glEnd (); glBegin (GL_QUADS); glColor3f (0.0, 1.0, 0.0); glVertex3f (0.0, 5.0, 0.0); glColor3f (0.0, 1.0, 1.0); glVertex3f (0.0, 5.0, 5.0); glColor3f (0.0, 0.0, 1.0); glVertex3f (0.0, 0.0, 5.0); glColor3f (0.0, 0.0, 0.0); glVertex3f (0.0, 0.0,0.0); glEnd (); glBegin(GL_LINES); glColor3f(0.0,0.0,0.0); glVertex3f(0.0,0.0,0.0); glVertex3f(10.0,0.0,0.0); glEnd(); glBegin(GL_LINES); glVertex3f(0.0,0.0,0.0); glVertex3f(0.0,10.0,0.0); glEnd(); glBegin(GL_LINES); glVertex3f(0.0,0.0,0.0); glVertex3f(0.0,0.0,10.0); glEnd(); } void display(void) { glClear (GL_COLOR_BUFFER_BIT); cube (); glFlush (); } void myReshape(int w, int h) { glViewport(0, 0, w, h); glLoadIdentity(); glRotatef(-30.0,1.0,0.0,0.0); glRotatef(45.0,0.0,1.0,0.0); glOrtho(-8.0,8.0, -8.0, 8.0 , -8.0, 8.0); } int main(int argc, char** argv) { auxInitDisplayMode (AUX_SINGLE | AUX_RGB); auxInitPosition (0, 0, 750, 750); auxInitWindow (argv[0]); glClearColor(1.0,1.0,1.0,0.0); myinit(); auxReshapeFunc (myReshape); auxMainLoop(display); }