<html>
<head>
</head><body><pre>&lt;html&gt;
&lt;head&gt;
&lt;/head&gt;&lt;body&gt;&lt;pre&gt;&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;&amp;lt;pre&amp;gt;
/*
** File:          square2.c
** Description:   A simple C program using OpenGL
**                and GLUT to render a yellow square
**                with a blue border on a white background.
** Rev:           1.0
** Created:       26 August 2001
** Last Update:   22 July 2002
** Author:        Fran Soddell
** Email:         F.Soddell@bendigo.latrobe.edu.au
*/
#include &amp;amp;lt;GL/glut.h&amp;amp;gt;
/*
** colour management
*/
#define NUM_COLOURS 8
#define ALPHA 0.0
enum {black,
      red,green,blue,
      yellow,magenta,cyan,
      white
};
typedef GLfloat colourType[3];
colourType colour[NUM_COLOURS]={
   {0.0,0.0,0.0},
   {1.0,0.0,0.0},{0.0,1.0,0.0},{0.0,0.0,1.0},
   {1.0,1.0,0.0},{1.0,0.0,1.0},{0.0,1.0,1.0},
   {1.0,1.0,1.0}
};
/*
** model management
*/
enum {x,y};
typedef GLdouble vertexType [2];
int numVertices=4;
vertexType square[]={
   {-0.5,0.5},{0.5,0.5},{0.5,-0.5},{-0.5,-0.5}
};
/*
**  ***********************************************************
*/
void render(vertexType * image, int numVertices, GLenum mode){
   int i;
   glBegin(mode);
      for(i=0;i&amp;amp;lt;numVertices;i++)
         glVertex2d(image[i][x],image[i][y]);
   glEnd();
}
void renderView(){
   glColor3fv(colour[yellow]);
   render(square,numVertices,GL_POLYGON);
   glColor3fv(colour[blue]);
   render(square,numVertices,GL_LINE_LOOP);
}
void display(){
   /*
   ** Clear the window with the background colour before
   ** (re)rendering.
   */
   glClear(GL_COLOR_BUFFER_BIT);
   renderView();
   glFlush();
}
void setUpGLUT(int argc,char ** argv){
   glutInit(&amp;amp;amp;argc,argv);
   glutCreateWindow(&amp;amp;quot;Square&amp;amp;quot;);
   /*
   ** Register callbacks.
   */
   glutDisplayFunc(display);
}
void initialiseGL(){
   /*
   ** Set the background colour
   ** (clear colour) to white.
   */
   glClearColor(1,1,1,ALPHA);
}
int main(int argc,char ** argv){
   setUpGLUT(argc,argv);
   initialiseGL();
   /*
   ** Display window and enter the GLUT event
   ** processing loop.
   */
   glutMainLoop();
   return 0;
}

&amp;lt;/pre&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&lt;/pre&gt;&lt;/body&gt;&lt;/html&gt;</pre></body></html>