Infinite Dev Log

引言
Infinite 引擎的开发过程记录和总结。
BLENDING


Shader Library
添加 Shader Library 并规范 Shader 的创建过程。
过程中出现的主要问题是纹理路径中间加了多余的空格导致读取失败,断言止于 Bind() 函数。
Camera Controllers
构建正交相机控制类,整理沙盒代码。
过程中出现的主要问题是忘记更新事件,补上 OnUpdate() 方法即可。旋转速度还是过快,但平移速度正常,不知道时间步出了什么问题。


1 | ExampleLayer() |
启用旋转后使用 Q 和 E:


Resizing
继续完善窗口大小调整的裁剪事件,修复 Resize 行为。
之前的引擎会在窗口大小改变后固定渲染的区域,并不会随着窗口大小的改变而改变,如图所示:


向 RenderCommand、Renderer 等加入 Resize 事件改变视口后后最大化可以正常显示:



在 git 提交时出现问题:
1 | fatal: unable to access [repo adress]: schannel: failed to receive handshake, SSL/TLS connection failed. |
解决方案:
1 | git config --global http.sslBackend "openssl" |
Preparing for 2D Rendering

Starting our 2D Renderer

2D Renderer Transform




2D Renderer Textures

Single Shader 2D Renderer

Code maintenance
1 | - Convert smart pointers to Hazel wrappers: (Create)Scope and (Create)Ref |

只声明 LayerStack 的构造函数没有实现,报错 LINK2019 无法解析的外部符号。
1 | LayerStack() = default; |
Improving 2D Rendering API

1 | { |
