#include
void myDisplay(void)
{
// glClear 表示清除 GL_COLOR_BUFFER_BIT 表示清除颜色
// glClear 也可用于清除其他
glClear(GL_COLOR_BUFFER_BIT);
// 绘制一个矩形 四个参数分别表示 位于对角线的两个点的 横纵坐标
glRectf(-0.5f, -0.5f, 0.5f, 0.5f);
// 保证缓冲区的命令都会被执行 类似于 fflush(stdout)
glFlush();
}
int main()
{
// gluInit 对 glut 初始化
glutInit(&argc, argv);
// gluInitDisplayMode 设置显示方式
// GLUT_RGB表示 使用RGB 颜色
// GLUT_SINGLE 表示 单缓冲
// GLUT_DOUBLE 表示 双缓冲
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
//glutInitWindowPositon 设置窗口在屏幕的位置
glutInitWindowPosition(100, 100);
// gluInitWindowSize 设置窗口的尺寸
glutInitWindowSize(400, 400);
// glutCreateWindow 根据前面的信息 创建一个窗口,注意创建后不会立刻显示 需要 调用 glutMainLoop
glutCreateWindow("第一个 OpenGL 程序");
// 设置一个函数 myDisplay,当需要进行画图时候,这个函数就会被调用
glutDisplayFunc(&myDisplay);
// 进入消息循环,学习过 Windows 编程的应该够明白 Windows消息机制
glutMainLoop();
return 0;
}