在我们画出出色的效果之前,首先要做的就是创建一个OpenGL上下文和一个用于显示的窗口。然而,这些操作1在每个系统上都是不一样的,OpenGL有目的地从·这些操作抽象出去。这意味着我们不得不自己处理创建窗口,定义OpenGL上下文以及处理用户输入。
构建GLFW
GLFW是一个专门针对OpenGL的C语言库,提供了一些渲染无所需的最低限度接口。
为了完整性最好下载源代码包,用CMaker从编译源码开始。从源代码编译库可以保证生成的库是兼容你的操作系统和CPU的,而预编译的二进制文件可能会出现兼容性问题。
具体编译过程可以参考learnOpenGL创建窗口一节;
GLAD
因为OpenGL只是一个标准/规范,具体的实现是由驱动开发商针对显卡实现的。由于OpenGL驱动版本众多,它大多数函数的位置都无法在编译时确定下来,需要在运行时查询。开发者需要在运行时将其保存在一个函数指针中供以后使用。取得地址的方法因平台而异。在Windows上如下:
Glad是一个开源的库,能解决上面繁琐的问题,使用了一个在线服务;按照如下选择,将会下载一个压缩包,里面包括两个头文件目录GLAD和KHR,将其复制到三方库include里面,在VS中指定路径包含,同时在工程中添加glad.c文件。
经过如上步骤之后,就可以在包含glew头文件最前面加上:
#include <glad/glad.h>