This works fine for me, something must be wrong in another part of your code.
Here is the complete code I used:
#include <GL/glut.h>
void display(void) {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode (GL_PROJECTION);
glLoadIdentity ();
glFrustum(-5,5,-5,5,1,1000);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0,0,-3,0,0,0,0,1,0);
glColor3f(1.0,1.0,1.0);
glBegin(GL_QUADS);
glVertex3f(-0.5,-0.5,-0.5);
glVertex3f(0.5,-0.5,-0.5);
glVertex3f(0.5,0.5,-0.5);
glVertex3f(-0.5,0.5,-0.5);
glEnd();
glFlush();
glutSwapBuffers();
}
int main(int argc, char **argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);
glutInitWindowPosition(200,200);
glutInitWindowSize(512,512);
glutCreateWindow("Test");
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
I compiled it as follows:
gcc test.cpp -lGL -lglut -lGLU -o test
Here is a screenshot:

source
share