1.什么是OpenGL
OpenGL是一个由Khronos组织制定并维护的规范(Specification),规范严格规定了每个函数该如何执行,以及它们的输出值。至于内部具体每个函数是如何实现(Implement)的,将由OpenGL库的开发者(也就是显卡厂商)自行决定。
2.GLFW
GLFW是一个专门针对OpenGL的C语言库,它提供了一些渲染物体所需的最低限度的接口。它允许用户创建OpenGL上下文,定义窗口参数以及处理用户输入。GLFW专门为OpenGL的开发完成了一些基础工作。获取的过程自行百度。
3.GLAD
由于OpenGL的库是显卡厂商提供的,所以我们在开发过程中需要实时获取每个OpenGL的函数地址并且存放在函数指针中供我们使用,如下面代码
// 定义函数原型
typedef void (*GL_GENBUFFERS) (GLsizei, GLuint*);
// 找到正确的函数并赋值给函数指针
GL_GENBUFFERS glGenBuffers = (GL_GENBUFFERS)wglGetProcAddress("glGenBuffers");
// 现在函数可以被正常调用了
GLuint buffer;
glGenBuffers(1, &buffer);
GLAD替我们完成了这一过程使得可以直接使用OpenGL中的函数,获取过程自行百度
配置完上述环境后就可以进行OpenGL的开发了。