游戏引擎开发-图形篇(一)——环境搭建

本系列是2024年度OpenGL的学(复)习记录兼游戏引擎的开发教学,在今年一年的时间里,将会根据游戏引擎的基础架构逐步完成一个成熟的引擎

开发环境

比较具有挑战性的VSCode+CMake

目前的成果展示

成功实例化OpenGL框架并设置主循环完成窗口的显示

环境搭建

新版的OpenGL使用GLAD代替了GLEW进行接口的访问,所以不能使用老版的方法进行项目配置

GLAD库提供在线下载,首先进入官网选择相应版本生成对应的文件

前往GLFW官网下载头文件及库文件

将第三方库放入项目中并编写cmake配置文件

编译后不报错即可完成环境的搭建

基本框架

之后根据GLFW官网提供的教程进行glfw的初始化与各项参数的设置即可,这里不过多阐述

需要额外注意的是glad库的初始化

1
2
3
4
5
if(!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress))
    {
        std::cout<<"Failed to initialize GLAD"<<std::endl;
        return -1;
    }

为了能动态调整视口,向glfw注册一个回调函数,该函数在窗口大小变动的时候调用进行调整

1
2
3
4
glfwSetFramebufferSizeCallback(window,[](GLFWwindow* window,int width,int height)
                                            {
                                                glViewport(0,0,width,height);
                                            });

最后别忘了释放资源

1
glfwTerminate();

踩过的坑

主要就是在GLAD库的调试上花费了大半时间,一开始不知道GLFW已经更改了接口规范,然后还第一次接触到以c文件作为库文件的奇特形式,在makefile的编写上花费了不少功夫,之后基本是我得心应手的部分,可能要加快进度了