几乎算是照着抄下来的,理解了一下窗口创建流程,和显示流程。
通过使用GLUT工具来创建窗口,然后自己设置显示函数,通过GLUT来执行定义的显示函数。
#include <GL/glut.h>
void myDisplay(void)
{
//设置清除对象
glClear(GL_COLOR_BUFFER_BIT);
//通过对角线两个点的位置绘制矩形
glRectf(-0.5f, -0.5f, 0.5f, 0.5f);
//保证代码的执行,而不是在缓冲区中
glFlush();
}
//可输入参数的main方法
int main(int argc, char *argv[])
{
//初始化GLUT
glutInit(&argc, argv);
//设置显示方式
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
//设置窗口位置
glutInitWindowPosition(100, 100);
//设置窗口大小
glutInitWindowSize(400, 400);
//创建窗口,并设置窗口名字
glutCreateWindow("第一个OpenGL程序");
//设置显示函数
glutDisplayFunc(&myDisplay);
//窗口循环,窗口关门后会结束
glutMainLoop();
return 0;
}
窗口的出现需要glutMainLoop();的执行,字面意思理解是循环重复的在屏幕上绘画。关闭窗口后就结束循环。