【OpenGL学习】OpenGL环境配置

OpenGL环境配置

为了能够定义OpenGL上下文和创建用于显示的窗口,我们首先需要配置一些库来帮助我们实现,当前比较流行的用于创建窗口的库有GLUTSDLSFMLGLFW,其中网上的大部分教程使用的都是GLFW,因此我们也选用GLFW进行配置。

GLFW

一、什么是GLFW?

GLFW是一个专门针对OpenGL的C语言库,它提供了一些渲染物体所需的最低限度的接口。它允许用户创建OpenGL上下文定义窗口参数以及处理用户输入

二、GLFW获取

GLFW可以从其官网进行下载:Download | GLFW

在这里插入图片描述

可以直接下载其源码包或者从github上面进行下载,一般不建议下载预编译好的二进制文件,因为在不同的电脑上面可能会无法运行,最好还是自己下载源码进行编译。

三、GLFW编译

GLFW编译可以使用CMake,下载好CMake之后,直接在刚才下载好的GLFW源文件所在文件夹中创建build文件夹,然后命令行中进入到build目录,执行命令cmake... (确保上层目录中有camkelist文件),编译生成的工程文件会放到你的build文件夹中,然后运行GLFW.sln文件,在解决方案中,右键并选择生成,生成的库文件会保存到 build/src/Debug 当中。

四、GLFW环境配置

我们最终需要的文件就是源代码中的include文件夹以及编译生成的库文件glfw3.lib(也有可能是GLFW.lib),将这两部分文件放到我们OpenGL项目的根目录下,为了方便管理,建议创建单独的文件夹保存并区分。

之后在OpenGL工程中进行链接,首先进入Project Properties(工程属性,在解决方案窗口里右键项目),然后选择**VC++ Directories(VC++ 目录)**选项卡(如下图)。在下面的两栏添加目录:
在这里插入图片描述

注意这两个目录的位置就是刚才你保存的位置,在设置的时候按照实际文件所在位置进行调整。

最后还需要进行链接,在Linker(链接器)选项卡里的Input(输入)选项卡里添加glfw3.lib,除了GLFW之外,你还需要添加一个链接条目链接到OpenGL的库,但是这个库可能因为系统的不同而有一些差别,Windows平台是opengl32.lib,将opengl32.lib添加进链接器设置里。

在这里插入图片描述

如果一切顺利,那么创建一个文件之后添加GLFW的头文件之后不会报错,说明GLFW配置成功了。

#include <GLFW\glfw3.h>

GLAD

一、什么是GLAD

为了能够更加方便地访问OpenGL的各种接口,我们需要另外一个库来简化OpenGL的使用,这个库可以是GLEW,但是现在有了更新的版本GLAD,我们可以在其官网上进行下载:https://glad.dav1d.de

img

根据你的需要选择合适的版本,在这里我们选择3.3以适配大部分内容,3.3之后的版本都是在此基础上进行的,所以学会3.3之后其他版本也很好上手。模式Profile设置为Core。

选择好之后点击Generate,就会下载打包好的文件,这个文件中包含两个头文件和一个.c文件。

二、配置GLAD

像GLFW一样,将上面下载好的文件放到特定的位置,并在属性选项卡中进行设置,但是有一点区别的地方就是.c文件需要添加到工程中,添加方法在Visual Stdio中也很简单,右键选择添加到项目,我这里已经添加了所以显示的是移除。
在这里插入图片描述

至此所有基本内容已经配置完毕,现在可以使用GLFW和GLAD来进行窗口绘制和渲染了。

三、通过premake来进行配置

在比较大型的项目中,上述用来配置环境的方法显得有些笨拙,我一般使用的方法是通过premake将GLFW和GLAD设置为两个子项目,并通过主项目进行引用之后使用,这样的好处就是方便管理,并且易于跨平台开发,具体的配置方式可以看这篇premake的文章,我在里面通过GLFW和GLAD作为例子进行了配置。

  • 0
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值