第一课,opengl窗口设置笔记
1 初始化glfw 设置opengl版本及窗口模式
glfwInit();
glfwWindowHint();
2 创建窗口 设置为当前线程
window = glfwCreateWindow(w , h, name, np, np)
glfwMakeContextCurrent(window);
3 初始化glew/glad(glad是glew的升级版)
glew
glewExperimental = GL_TRUE;
//让GLEW在管理OpenGL的函数指针时更多地使用现代化的技术
glewInit() //成功返回GLEW_OK
glad( OpenGL® 4.5 Reference Pages中有glad的所有函数说明 )
if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress))
{
std::cout << "Failed to initialize GLAD" << std::endl;
return -1;
}
gladLoadGLLoader()
给GLAD传入了用来加载系统相关的OpenGL函数指针地址的函数
GLFWglproc glfwGetProcAddress(const char * procname)
返回指定函数的地址
4 设置视口
glfwGetFramebufferSize(window, &width, &height);
glViewport(0, 0, width, height);
5 设置回调函数
glfwSetKeyCallback(window, key_callback);
void key_callback(GLFWwindow* window, int key, int scancode, int action, int mode);
6 Game Loop
while (!glfwWindowShouldClose(window)){
glfwPollEvents();
渲染指令~~~~~~~~
glfwSwapBuffers(window);
}
7 释放glfw
glfwTerminate();
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容