opengl初学

#include 
#include 
#include 
#include 
void  display()
{
    glClear(GL_COLOR_BUFFER_BIT);//执行清屏
    glColor3f(1.0, 1.0, 1.0);//设定绘图颜色,在此后绘制都使用这种颜色,除非再次调用这个函数修改颜色
//绘制多边形,位于z=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();
    //glRectf(0.25, 0.25, 0.75, 0.75);
    
    glFlush();//确保绘图命令被执行,而不是存储在缓冲区中等待其他的opengl命令
}
void init()
{
    glClearColor(0.0, 0.0, 0.0, 0.0);//确定窗口被清除时的颜色,真正清除窗口的任务有glClear()函数执行
    glMatrixMode(GL_PROJECTION);//------------------------------?
    glLoadIdentity();//-------------------------------?
    glOrtho(0.0, 1.0, 0.0, 1.0,-1.0, 1.0);//指定opengl绘制图像时所使用的坐标系统,决定图像如何映射到屏幕上

}
int main(int argc, char** argv)
{
//----五个窗口管理函数,在调用glutMainLoop()函数之前,窗口没有显示
    glutInit(&argc, argv);//因该在调用其他GLUT函数之前被调用
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);//指定是RGBA还是颜色索引模式,还可以指定使用单缓冲还是双缓冲窗口等
    glutInitWindowSize(250, 250);//窗口大小,像素为单位
    glutInitWindowPosition(100, 100);//窗口左上角的屏幕位置
    glutCreateWindow("hello");//为新窗口返回一个唯一的标识符
    init();
    glutDisplayFunc(display);
    glutMainLoop();
    
    return 0;
}


```