/* simple.c This program draws a red rectangle on a green background.*/ /* E. Angel, Interactive Computer Graphics */ #include /* glut.h includes gl.h and glu.h*/ void display(void) { /* clear window */ glClear(GL_COLOR_BUFFER_BIT); /* draw unit square polygon */ glBegin(GL_POLYGON); glVertex2f(-0.5, -0.5); glVertex2f(-0.5, 0.5); glVertex2f(0.5, 0.5); glVertex2f(0.5, -0.5); glEnd(); /* flush GL buffers */ glFlush(); } void init() { /* set clear color to black (0,0,0,0) default, or green (0,1,0,0)*/ glClearColor (0.0, 1.0, 0.0, 0.0); /* set fill color to white (1,1,1) default, or red (1,0,0)*/ glColor3f(1.0, 0.0, 0.0); /* set up standard orthogonal view with clipping */ /* box as cube of side 2 centered at origin */ /* This is default view and these statement could be removed */ glMatrixMode (GL_PROJECTION); glLoadIdentity (); glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0); } int main(int argc, char*argv[]) { /* Initialize mode and open a window in upper left corner of screen */ /* Window title is name of program (arg[0]) */ glutInit(&argc,argv); /* optional */ /* following three lines may be omitted, default */ glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB); glutInitWindowSize(300,300); glutInitWindowPosition(0,0); glutCreateWindow("simple"); glutDisplayFunc(display); /* !!! "display" called */ init(); /* !!! "init" called */ glutMainLoop(); return 0; }