I use glut, but I don't see a glMatrixMode, glLoadIdentity, and I don't know if you need to create a window like in glut. But that is what I see. example code in glut to compare
Code:
#include <GL/gl.h>
#include <GL/glut.h>
void init(void){
glClearColor(0.0,0.0,0.0,0.0);
glShadeModel(GL_FLAT);
}
void display(void){
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(0.0,0.0,1.0);
glBegin(GL_POLYGON);
glVertex3f(0.25,0.25,0.0);
glVertex3f(0.75,0.25,0.0);
glVertex3f(0.75,0.75,0.0);
glVertex3f(0.25,0.75,0.0);
glEnd();
glFlush();
}
int main(int argc,char **argv){
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_RGB|GLUT_SINGLE);
glutInitWindowSize(250,250);
glutInitWindowPosition(100,100);
glutCreateWindow("Hey");
init();
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0,1.0,0.0,1.0,-1.0,0.0);
glutDisplayFunc(display);
glutMainLoop();
return 0;
}