OpenGL开发1-配置OpenGL开发环境
正文
配置OpenGL开发环境
在开始OpenGL编程前首先需要配置OpenGL开发环境,本文使用Windows10进行配置,IDE为Visual Studio 2022,图形库使用GLFW和GLAD。
OpenGL本身只是一个用以规范函数输入/输出的程序规范,而它们的具体实现则由显卡驱动厂商来决定。这意味着我们需要一些库来帮助我们获取OpenGL的上下文环境,并进行窗口创建、输入处理等系统特化的操作。GLFW是一个使用C编写的开源库,作用是为我们提供OpenGL的上下文环境,管理窗口创建、输入处理等行为。它可以满足我们的需求。
下载并编译GLFW
首先打开GLFW官网。在GLFW中我们可以直接下载对应于我们系统环境的二进制文件,也可以下载代码自行编译。这里选择使用CMake自行编译。自行编译的好处是,无论我们的系统环境如何,总能获得适合于我们系统环境的程序,因为并不是每一个程序都能为我们提供适合的发行版。
点击Source package按钮,下载并解压对应的源代码。
进入解压后的文件夹,输入pwsh使用powershell打开此文件夹(cmd也可以)。
输入以上两条命令分别配置和构建该项目(这一步需要先安装CMake)。如果在编译时遇到超时报错,需要进行换源或设置代理操作(具体操作略)。
编译后打开build/src/Debug文件夹,即可看到编译后的库二进制文件。
将include文件夹和库文件(glfw3.lib)复制到同一个区域,以方便管理和复用。
鉴于OpenGL只是一个松散的行为规范,其具体实现取决于显卡制造商,它并没有告诉我们各个函数应当在哪里取得,因此我们只能在运行时而不是在编译时取得各个函数的指针。绑定指针的行为是系统特化的,在Windows中类似于如下操作:
1 | typedef void (*GL_GENBUFFERS) (GLsizei, GLuint*); |
每使用一个程序,我们都需要这样绑定,显然这是一件麻烦且不必要的事情。GLAD能够为我们处理这种事情,这就是为什么我们需要它。
下载GLAD
访问GLAD1官网https://glad.dav1d.de(而不是GLAD2),点击“gl”下拉栏选择一个OpenGL版本。
勾选“Generate a loader”,点击“GENERATE”。
点击下载glad.zip并解压。
将解压后的文件夹放到指定位置方便管理和复用。
配置开发选项
我们现在需要让IDE知道库文件、include文件的位置。
打开VS 2022,创建一个空项目,并点击“项目/属性”按钮。
首先配置include目录,在“VC++目录/常规”中设置“包含目录”(对应的文件位置取决于具体设置)。
再在“链接器/常规”中设置“附加库目录”。
将指定库文件添加到“附加依赖项”中。先添加glfw的库,而对于Windows,我们需要添加的OpenGL库名为“opengl32.lib”。
再将glad.c(它在glad/src目录中)添加到项目中。
添加一个OpenGL测试程序(main.cpp),可以看到已经可以运行了。