freeglut是opengl跨平台实用工具库,用于做窗口界面,封装各个平台鼠标键盘事件等等。用于替代早期的glut库(1998年后就不在更新维护)。
本文采用的环境是CMake3.23.1 + Visual Studio 2019,环境搭建步骤:
1. 去官网下载freeglut:http://freeglut.sourceforge.net/
2. 解压:新版使用winRAR进行解压需使用命令行方式
start winrar x -y freeglut-3.2.2.tar.gz
3. 使用CMake生成Visual Studio2019工程
配置源码目录、构建目录。
点击Configure配置VisualStudio的版本,再单击Generate生成工程文件,最后单击Open Project打开工程
4. 在Visual Studio中进行构建
右击“ALL BUILD”,在弹出的菜单中点击“生成”即可完成编译。
5. 新建OpenGL工程进行测试
用VS新建空项目,在项目“属性”中进行以下配置:
- C/C++ --> 附加包含目录,将freeglut源码中的include目录加入
- 链接器 --> 常规,附加库目录,将上步编译的库目录加入, 即${编译目录}\lib\Release
- 链接器 --> 输入,附加依赖项,新加入freeglut.lib
将上一步生成的freeglut.dll文件放到C:\Windows下,或者拷贝到测试工程的构建目录下,防止运行时找不到freeglut.dll文件。
在工程中新增源文件,内容如下:
#define NDEBUG
#include "gl/glut.h"
void redraw()
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_TRIANGLES);
//glColor3f(1, 0, 0);
glColor3f(0.0, 0.0, 1.0);
glVertex3f(-0.5, 0, 0.5);
//开始画1
//
glColor3f(1.0, 0, 0);
glVertex3f(0.5, 0.0, 0.5);
glColor3f(0.0, 1.0, 0);
glVertex3f(0, 0.8, 0.5);
//2
glEnd(); // GL_QUADS
glutSwapBuffers();
}
int main(int argc, char* argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE);
int windowHandle
= glutCreateWindow("Simple GLUT App");
glutDisplayFunc(redraw);
glutMainLoop();
return 0;
}
运行,如果输出以下三角形,说明配置没有问题。