OpenGL-glut库入门小记
初始化
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE); //初始化窗口的显示模式
glutInitWindowPosition(WINDOW_X, WINDOW_Y); //设置窗口的位置
glutInitWindowSize(WINDOW_W, WINDOW_H); //设置窗口的大小
glutCreateWindow("BatteryInfo"); //创建窗口
glut初始化代码如上
glutDisplayFunc(displayFunc);
注册glut绘图函数,没当glut要求绘制时都会调用displauFunc
函数
glutTimeFunc(REFRESH,timer,id);
该函数会在REFRESH毫秒后调用timer函数,timer函数必须是void timer(int)类型,然后将id作为参数输入该函数。
最后调用
glutMainLoop();
开始绘制
初始化为2D模式
OpenGL是一个3D图形库,故绘制时需要指定投影模式,当然也有2d模式,这里我们只讲述2D模式下OpenGL的使用
为了使用2D模式,我们需要做一些初始化工作
glClearColor(1.0f,1.0f,1.0f);
glMatrixMode(GL_PROJECTION);
gluOrtho2D(x,w,y,h);
第一行代码设置窗口背景色为白色,第二行代码指定了投影参数,第三行代码定义了投影范围。
开始绘制
glClear(GL_COLOR_BUFFER_BIT);
用当前背景色填充窗口
glColor3f(r,g,b);
设置绘图颜色
glBegin(绘图模式);
开始绘图循环
glVertex2i(x,y);
绘制二维点
glEnd();
结束绘图循环
glSwapBuffers();
将缓冲区的图像绘制到当前窗口上