OpenGL窗口创建
写在前面:学习过程中的所有代码我都会放在 github 中,有需要的同学可以自取:https://github.com/Kaoru-misono/OpenGL
本节介绍如何在利用配置好的GLFW和GLAD进行一个简单窗口的绘制,首先明白在OpenGL中进行图形绘制到窗口的整个流程:
- 初始化GLFW
- 创建窗口window
- 创建OpenGL上下文
- 初始化Glad
- 渲染循环
- 结束绘制
初始化GLFW
然后我们从上面的流程逐步进行窗口创建,首先完成GLFW的初始化,代码如下:
//Init
//-----------------------------------------------------------------------
glfwInit();
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
解释一下上面几行代码的含义,首先glfwInit()
完成对GLFW的初始化,接着我们对Hint进行指定,因为使用的是OpenGL3.3,所以主版本号GLFW_CONTEXT_VERSION_MAJOR
和副版本号GLFW_CONTEXT_VERSION_MINOR
均设置为3,OPenGL的模式设置为GLFW_OPENGL_CORE_PROFILE
,核心模式,关于核心模式见OpenGL介绍那节。完成上述操作之后,GLFW窗口的初始化就成功了。
创建窗口
使用函数glfwCreateWindow
来创建一个GLFWwindow
指针,持有我们创建的窗口,在函数中对窗口的各种属性进行指定,分别为窗口的宽和高,窗口的标题,以及后面两个GLFWmonitor和GLFWwindow的指针,可以设置为nullptr
。
// glfw window creation
// --------------------
GLFWwindow* window