OpenGL包括两个部分,OpenGL工具函数库(GLU)和OpenGL实用工具库(GLUT),幸运的的是Visual Studio在安装的时候就安装了GLU,所以我们只要安装GLUT就好。
GLUT有很多版本,不过不同版本之间的差异不会很大,因为GLUT编写的目的是隐藏不同的窗口系统API所带来的复杂性。这里我们选用了官网提供的GLUT(点击下载)版本。
下载下来是一个压缩包,将这个压缩包解压到我们的开发目录下,最好是一个专门用来安装程序的盘,比如我就将压缩包解压到E盘,目录结构是这样的:
E:\OPENGL
└─glut
glut.dll
glut.h
glut.lib
glut32.dll
glut32.lib
接下来我们打开Visual Studio,建立一个控制台项目。网上有很多教程直接把解压出来的文件放到Visual Studio的安装目录下面,这样虽然能够正常使用,但是并不好。所以我们还是使用正常的方法来配置OpenGL,学了这一招以后所有的配置都可以按照这个方法来啦,比如OpenCV、darknet之类的库。
我们先用这个方法配置好OpenGL,然后再讲类似的库如何配置。
首先切换到创建好的项目中,打开属性管理窗口,主界面没有的可以从窗口中找到。在属性管理窗口中我们可以看到四个环境,分别是Debug x86、Release x86、Debug 64、Release 64,右键点击我们正在使用的环境->属性。
打开属性之后点击 VC++目录,我们可以看到包含目录、库目录,依次点击这两个选项,将我们解压GLUT的目录添加进去。
再点击调试->环境,将GLUT的解压目录添加进去,注意这里的等号两边不能有空格,否则会配置失败,提示找不到glut.dll文件。
然后点击链接器->输入->附加依赖项,将GLUT解压目录里后缀为 .lib
的文件名全部添加上去,最后点击确定保存配置,运行下面的代码检查是否配置成功。
#include "pch.h"
#include
#include
void display() {
glClearColor(0.5, 0.5, 0.5, 0.5);
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
glBegin(GL_POLYGON);
glVertex3f(0.25, 0.25, 0.0);
glVertex3f(0.75, 0.25, 0.0);
glVertex3f(0.75, 0.75, 0.0);
glVertex3f(0.25, 0.75, 0.0);
glEnd();
glFlush();
}
void init() {
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
}
int main(int argc, char *argv[]) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowPosition(100, 100);
glutInitWindowSize(800, 600);
glutCreateWindow("OpenGL-ONE");
init();
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
最后我们再来详细讲一下各个配置的含义:
- 包含目录:这个是头文件所在目录,也就是后缀为
.h
的文件所在的目录,一般文件夹名字是 include之类。 - 库目录:这个是库文件所在目录,即后缀为
.lib
的文件所在的目录,一般存放库文件的目录名为 lib之类。 - 环境:这个是windows动态库文件所在的目录,后缀名为
.dll
,一般和库文件放在一起 - 附加依赖项:附加依赖向指的就是所有的
在我们这个例子中上面发目录都是同一个,这是因为GLUT把所有的文件全部放在一个文件夹里了,如果是OpenCV的话就会有include、lib之类的目录。