Shader Abstraction and Uniforms

引言

上一节我们加入了 Transform 变换,本节来重构着色器接口抽象。

因为每次粘贴代码造成开发效率低下,所以之后可能博文以思路为主,附加遇到的一些问题和解决方案,具体代码更改可参考 Github

原先 Shader 中包含大量 OpenGL 代码,将其转移到新建的 OpenGLShader.hOpenGLShader.cpp 中。同时对部分接口函数进行修改,主界面添加了一个 GUI 调整颜色。

与此同时对智能指针进行了简单的封装。

调试

在调试过程中出现了无法找到文件 Shader.h,而 Infinite 本身的生成过程并没有报错,所以我猜想问题出现在 Sandbox 并没有链接文件,对预生成文件进行了一些修改(实际上我的预生成文件一直存在问题,不能完整的包含 src/ 中的文件,目前只能用比较笨比较繁琐的方式运行)。

经过修改预生成文件,整个引擎可以正常运行,但保不准哪天需要调用某个库又出现同样的问题。