Windows+VS2015配置OpenGL

本文详细介绍如何使用GLFW库搭建OpenGL开发环境,包括下载源代码、使用CMake生成工程文件、编译工程、链接GLFW库及OpenGL库、使用GLAD获取OpenGL函数地址等关键步骤。

目前有一些库节省了书写操作系统相关代码的时间,提供了窗口和上下文用来渲染。目前最流行的几个库有GLUT,SDL,SFML,GLFW。博客中所用为GLFW。

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

1.从下载页上下载源代码包(建议这样,因为可以保证生成的库是兼容你的操作系统和CPU的)并解压。需要用到:

  • include文件夹
  • 用cmake编译生成的库

2.使用CMake生成Visual Studio 2015工程文件

CMake是一个工程文件生成工具,从这里下载。

这里需要用到CMake从GLFW源码里创建一个Visual Studio 2015工程文件。CMake需要一个源代码目录和一个存放编译结果的目标文件目录。源代码目录我们选择GLFW的源代码的根目录,然后我们新建一个 build 文件夹,选中作为目标目录。

点击Configure(设置)按钮,让CMake读取设置和源代码,接下来需要选择工程的生成器,由于我们使用的是Visual Studio 2015,我们选择 Visual Studio 14 选项(因为Visual Studio 2015的内部版本号是14)。CMake会显示可选的编译选项用来配置最终生成的库,保留默认设置就可以。再次点击Configure(设置)按钮保存设置。保存之后,点击Generate(生成)按钮,生成的工程文件会在你的build文件夹中。

3.编译工程文件

build文件夹中找到GLFW.sln文件,用VS2015打开,直接点击Build Solution(生成解决方案)按钮,glfw3.lib就会出现在src/Debug文件夹内。新建一个目录(这里以名称Libraries)为例包含所有的头文件和第三方库,例如头文件全部存入LibrariesIncludes文件夹,第三方库全部存入LibrariesLibs文件夹。

4.创建项目

打开VS2015,创建一个新项目,选择Visual C++,然后选择Empty Project(空项目)。

5.链接

为了使程序使用GLFW,需要把GLFW库链接(Link)进工程,通过在链接器的设置里指定要使用glfw3.lib来完成。但是由于第三方库在另外的目录中,工程还不知道在哪寻找这个文件,于是首先需要将放第三方库的目录添加进设置。

进入Project Properties(工程属性,在解决方案窗口里右键项目),然后选择VC++ Directories(VC++ 目录)选项卡。将Includes文件夹路径添加到 Include Directories,Libs文件夹路径添加到Library Directories。如下图所示:

现在VS可以找到所需的所有文件了。最后需要在Linker(链接器)选项卡里的Input(输入)选项卡里Additional Dependencies(附加依赖项)添加glfw3.lib这个文件。除此之外,还需要添加一个链接条目链接到OpenGL的库,在windows平台中,opengl32.lib已经包含在Microsoft SDK里了,它在Visual Studio安装的时候就默认安装了,所以按照同样的方式将opengl32.lib添加进去就可以了。

6.使用GLAD获取函数地址并将其保存在函数指针中

GLAD是目前最新,也是最流行的在运行时获取函数地址并将其保存在函数指针中供以后使用的库,而不需要开发者自己实现。

打开GLAD的在线服务,将语言(Language)设置为C/C++,在API选项中,选择3.3以上的OpenGL(gl)版本。之后将模式(Profile)设置为Core,并且保证生成加载器(Generate a loader)的选项是选中的。先(暂时)忽略拓展(Extensions)中的内容。都选择完之后,点击生成(Generate)按钮来生成库文件。

在生成的压缩文件中含两个头文件目录,和一个glad.c文件。将两个头文件目录(gladKHR)复制到你的Include文件夹中,并添加glad.c文件到你的工程中。经过前面的这些步骤之后,你就应该可以将以下的指令加到你的文件顶部了:

#include <glad/glad.h> 

到这里点击编译按钮应该不会提示任何错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值