欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

GLFW+GLAD+VS2017配置OpenGL开发环境超详细教程

程序员文章站 2022-07-14 08:06:06
...

GLFW

GLFW是一个专门针对OpenGL的C语言库,它提供了一些渲染物体所需的最低限度的接口。它允许用户创建OpenGL上下文,定义窗口参数以及处理用户输入。
GLFW可以从它官方网站的下载页上获取。为了完整性,我们需要下载源码包。从源代码编译库可以保证生成的库是兼容你的操作系统和CPU的,而预编译的二进制文件可能会出现兼容问题(甚至有时候没提供支持你系统的文件)。
GLFW+GLAD+VS2017配置OpenGL开发环境超详细教程

CMake

提供源代码所产生的一个问题在于不是每个人都用相同的IDE开发程序,因而提供的工程/解决方案文件可能和一些人的IDE不兼容。所以我们只能从.c/.cpp和.h/.hpp文件来自己建立工程/解决方案,这是一项枯燥的工作。但因此也诞生了一个叫做CMake的工具。
CMake是一个工程文件生成工具。用户可以使用预定义好的CMake脚本,根据自己的选择(Visual Studio, Code::Blocks, Eclipse)生成不同IDE的工程文件。这允许我们从GLFW源码里创建一个Visual Studio 2017工程文件,之后进行编译。首先,我们需要从这里下载安装CMake。即使你的电脑是64位系统,也要选择Win32安装程序。

当CMake安装成功后,CMake需要一个源代码目录和一个存放编译结果的目标文件目录。源代码目录我们选择GLFW的源代码的根目录,然后我们新建一个 build 文件夹,选中作为目标目录。
GLFW+GLAD+VS2017配置OpenGL开发环境超详细教程
在设置完源代码目录和目标目录之后,点击Configure(设置)按钮,让CMake读取设置和源代码。我们接下来需要选择工程的生成器,由于我使用的是Visual Studio 2017,我们选择 Visual Studio 15 选项(因为Visual Studio 2017的内部版本号是15)。CMake会显示可选的编译选项用来配置最终生成的库。这里我们使用默认设置,并再次点击Configure(设置)按钮保存设置。保存之后,点击Generate(生成)按钮,生成的工程文件会在你的build文件夹中。

在build文件夹里可以找到GLFW.sln文件,用Visual Studio 2017打开。因为CMake已经配置好了项目,所以我们直接点击生成解决方案按钮,然后编译的库glfw3.lib(注意我们用的是第3版)就会出现在src/Debug文件夹内。
GLFW+GLAD+VS2017配置OpenGL开发环境超详细教程
库生成完毕之后,我们需要让IDE知道库和头文件的位置,建立一个新的目录包含所有的第三方库文件和头文件,并且在你的IDE或编译器中指定这些文件夹。我个人会使用一个单独的文件夹,里面包含libs和include文件夹,在这里存放OpenGL工程用到的所有第三方库和头文件。这样我的所有第三方库都在同一个位置(并且可以共享至多台电脑)。然而这要求你每次新建一个工程时都需要告诉IDE/编译器在哪能找到这些目录。请看我的:
GLFW+GLAD+VS2017配置OpenGL开发环境超详细教程

完成上面步骤后,我们就可以使用GLFW创建我们的第一个OpenGL工程了!

首先,打开Visual Studio,创建一个新的项目,选择Visual C++,然后选择Empty Project(空项目)。现在我们终于有一个空的工作空间了,开始创建我们第一个OpenGL程序吧!

为了使我们的程序使用GLFW,我们需要把GLFW库链接(Link)进工程。这可以通过在链接器的设置里指定我们要使用glfw3.lib来完成,但是由于我们将第三方库放在另外的目录中,我们的工程还不知道在哪寻找这个文件。于是我们首先需要将我们放第三方库的目录添加进设置。
GLFW+GLAD+VS2017配置OpenGL开发环境超详细教程
现在VS可以找到所需的所有文件了。最后需要在Linker(链接器)选项卡里的Input(输入)选项卡里添加glfw3.lib这个文件:
GLFW+GLAD+VS2017配置OpenGL开发环境超详细教程

openGL32.lib
glfw3.lib
glew32s.lib

要添加这些目录(需要VS搜索库和include文件的地方),我们首先进入Project Properties(工程属性,在解决方案窗口里右键项目),然后选择VC++ Directories(VC++ 目录)选项卡(如下图)。在下面的两栏添加目录:

GLAD

GLAD是一个开源的库,它能解决我们繁琐的问题。GLAD的配置与大多数的开源库有些许的不同,GLAD使用了一个在线服务。在这里我们能够告诉GLAD需要定义的OpenGL版本,并且根据这个版本加载所有相关的OpenGL函数。
打开GLAD的在线服务,将语言(Language)设置为C/C++,在API选项中,选择3.3以上的OpenGL(gl)版本(我们的教程中将使用3.3版本,但更新的版本也能正常工作)。之后将模式(Profile)设置为Core,并且保证生成加载器(Generate a loader)的选项是选中的。现在可以先(暂时)忽略拓展(Extensions)中的内容。都选择完之后,点击生成(Generate)按钮来生成库文件。

GLAD现在应该提供给你了一个zip压缩文件,包含两个头文件目录,和一个glad.c文件。将两个头文件目录(glad和KHR)复制到你的Include文件夹中(或者增加一个额外的项目指向这些目录),并添加glad.c文件到你的工程中。最终文件夹文件如下:

GLFW+GLAD+VS2017配置OpenGL开发环境超详细教程
GLFW+GLAD+VS2017配置OpenGL开发环境超详细教程
GLFW+GLAD+VS2017配置OpenGL开发环境超详细教程
好啦,下一篇我们将正式开始我们的OpenGL代码之旅~
哪里有不明白的,可以留言评论或者私信我~
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
上文glew32s可以忽略

相关标签: OpenGL