#include <glad/glad.h>
#include <GLFW/glfw3.h>
#include <iostream>
int main(void)
{
//初始化glfw窗口环境
glfwInit();
//配置版本信息3.3
glfwWindowHint(GLFW_VERSION_MAJOR,3);//主版本号
glfwWindowHint(GLFW_VERSION_MINOR,3);//次版本号
//设置核心模式
glfwWindowHint(GLFW_OPENGL_COMPAT_PROFILE,GLFW_OPENGL_CORE_PROFILE);
//创建窗口对象,GLFW大写,window首字母小写
GLFWwindow* window = glfwCreateWindow(500,500,"first_window",NULL,NULL);
//窗口长宽以及名称,后两个默认填NULL
//出错处理,创建窗口失败的情况,需要销毁窗口对象
if(window == NULL)
{
//glfwDestroyWindow(window);
glfwTerminate();
return -1;
}
//设置创建的窗口的上下文为当前线程的context
glfwMakeContextCurrent(window);
//视口回调函数,渲染窗口的大小
glfwSetFramebufferSizeCallback(window,setViewPort);
//渲染循环,保证窗口不关闭
while(!glfwWindowShouldClose(window))
{
glfwSwapBuffers(window);
//glfwSwapBuffers函数会交换颜色缓冲(储存着GLFW窗口每一个像素颜色值的大缓冲),它在这一迭代中被用来绘制,并且将会作为输出显示在屏幕上。
glfwPollEvents();
//glfwPollEvents函数检查是否触发事件(比如键盘输入、鼠标移动)、更新窗口状态,并调用对应地回调函数(可以通过回调方法手动设置)
}
}
void setViewPort(GLFWwindow* window,int width,int height)
{
glViewport(0,0,width,height);
}
linux下使用glfw库创建一个简单窗口(还未完成)
最新推荐文章于 2024-01-24 19:33:08 发布