基于GLFW和GL3W库的OPEN GL环境配置

 

GLFW和GL3W库是opengl开发时常用的第三方库。关于库的配置方法如下:

(一)GLFW

(1)在官方网站http://www.glfw.org/download.html下载:

---》可以下载源代码文件,也可以下载预编译的文件。

如果下载预编译文件的话,特别需要注意编译环境的问题是否与自己计算机一致,不一致可能导致问题。以下是下载预编译文件打开后的目录。可惜的是,本来用vs2017,拷贝了对应的lib-vc2015中对应的库文件和include中的头文件,并进行了相应的配置,结果链接失败。

vs2017中使用预编译的lib-vc2015文件夹文件,生成的时候错误。

---》因此,本人下载源代码来执行。

下载后目录如下,需要使用CMake和vs完成编译,关于如何编译,参见:配置GLFW  https://blog.csdn.net/jiuzaizuotian2014/article/details/82915171

本人在用CMake的时候,指定的build目录是下载源文件目录下创建的build文件夹。

当利用vs编译后,会在build目录下面的src的子目录中生成glfw3.lib.   (这里的子目录根据vs编译时选择的参数有关,可能为Debug,也可能为Release,也可能为RelWithDebInfo等等。就以Debug为例,该文件所在路径如下。

这是一个静态链接库(当然这里没有考虑动态链接库的形式,如果采用动态库,则另行参考有关资料)。

为了在vs中运行,还有header头文件需要包含,头文件就在下载的文件夹的include目录中(这个不用编译,下载就有的)。

(2)配置visual studio

首先创建一个空的c++项目,叫做HelloGL吧。在解决方案文件夹中创建两个文件夹,分别为includes 和 lib,前者用于放置头文件,后者用于放置库文件。

然后,把头文件(包含头文件的上一级目录)拷贝到includes文件夹中,并把库文件拷贝到lib文件夹下,如下:

接着,打开项目属性对话框,把新创建的两个目录配置到vc++目录的包含目录和库目录中。在这里用到了基于SolutionDir的相对路径。

接着下一步是配置链接器,同样在项目的属性对话框中配置。

这样,第三方库GLFW就配置完成了,新建一个cpp源文件,就可以使用 #include "GLFW\glfw3.h"作为头文件的引用啦。

关键在于以下几个步骤:利用CMake和Visual Studio生成GLFW库文件和头文件、工程中创建目录并拷贝库文件及头文件、工程中进行c++目录配置、工程中进行链接器配置。

(二)GL3W

 

在GL3W的配置中,可以和GLFW有些不同,gl3w我直接采用源代码放入项目文件中的方式。

(1)下载

下载地址:https://github.com/skaslev/gl3w

下载并解压缩后的目录如下,但这个目录中不包含header及源文件。

 

(2)运行python文件gl3w_gen.py

如果计算机已经安装了python,则直接点击gl3w_gen.py就可以运行该文件。

(说明:此处用的是python来生成相应的文件的,如果不适用python,利用上面GLFW一节所讲的CMake和VisualStudio联合使用,同样能够生成源文件和头文件,本人尝试是可以的。)

(3)配置 visual studio

然后把头文件拷贝到新创建的解决方案的includes文件夹中。并且把源文件gl3w.c拷贝到解决方案的项目文件夹中(HelloGL->HelloGL)。(说明:前一个HelloGL是解决方案文件夹,后一个是项目文件夹。

这样,第三方库GL3W就配置完成啦。(由于GL3W是直接拷贝的源文件gl3w.c到项目中,而没有使用lib或dll文件,所以这里不在需要配置链接器的信息)。

(三)测试

由于GL3W下载文件中已经包含了可以用于测试的文件glfw_test.c,可以显示一个简单的opengl窗口。因此把它直接拷贝到vs项目文件夹中。然后在vs的解决方案窗口中将其添加进来。编译运行后显示出相应的窗口。

 

显示的窗口如下:

在Qt中配置OpenGL通常涉及到设置项目属性、添加依赖以及编写代码来利用OpenGL API。以下是基本步骤: 1. **创建项目**: - 打开Qt Creator,选择"文件" -> "新建文件或项目" -> "Qt Widgets Application"。 2. **启用OpenGL支持**: - 在项目的.pro文件中添加`opengl`模块支持,例如: ``` QT += opengl ``` 这会自动链接到所需的OpenGL。 3. **添加头文件和**: - 在`pro`文件中,添加对OpenGLGLUT的支持(如果需要图形用户界面): ``` HEADERS += OpenGL/gl.h LIBS += -lglut -lGL -lGLEW ``` `GLEW`(OpenGL Extension Wrangler Library)是个开源,用于简化访问OpenGL扩展。 4. **设置构建选项**: - 在构建配置中(例如.pro.user文件),确保选择正确的OpenGL版本(比如DesktopGL或ES2等): ```cpp #define _GLFW_OPENGL_FORWARD_COMPAT 1 #define _GLFW_OPENGL_PROFILE GLFW_OPENGL_CORE_PROFILE ``` 5. **编写OpenGL代码**: - 在源文件中包括头文件,然后你可以开始编写OpenGL渲染代码。例如,创建窗口并设置上下文: ```cpp QSurfaceFormat format; format.setDepthBufferSize(24); format.setVersion(4, 3); format.setProfile(QSurfaceFormat::CoreProfile); QApplication app(argc, argv); glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH); glutCreateWindow("OpenGL Example"); glClearColor(0.1f, 0.2f, 0.3f, 1.0f); ``` 6. **处理错误和初始化**: - 使用OpenGL的错误检查功能,确保代码能够捕获和处理可能出现的问题。 记得在实际开发中,可能还需要考虑跨平台兼容性和其他特定需求。在Qt Creator的调试工具中,你可以查看OpenGL状态和执行命令。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值