Leader
Leader
发布于 2023-10-07 / 35 阅读 / 0 评论 / 0 点赞

OpenGL-glut库入门小记

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();将缓冲区的图像绘制到当前窗口上


评论