我该如何利用piccolo引擎学习游戏引擎的知识?

好帅一枝花
发布于

直接复刻引擎?还是选择某一个知识点深度钻研?图形小白希望大家不吝赐教,感激不尽

4
评论 4
收藏 2
  • 张渐渐
    怎么放眼望去都是卷渲染的图形老哥hhh
  • Lazy_V
    Lazy_V
    我也算图形小白,之前我是搞 .NET 服务器开发的。我分析 Piccolo 的方式首先是阅读 CMakeLists.txt,分析项目文件结构,有哪些编译目标,以及编译流程是怎么样的。然后生成项目,可以是 VS 解决方案,可以是 XCode 工程,也可以直接用 Clion 在根目录打开。随后找到 main loop,打断点,单步调试,了解大致的执行流程。对于图形渲染这一块,我会使用 RenderDoc 去抓帧,看看渲染管线中存在哪些 Pass,每个 Pass 做了什么事情,数据怎么组织,然后分析对应 C++ 代码和 glsl 代码是怎么写的。对于反射系统,我会大致了解 Clang 的 API 以及代码生成的流程,不过这主要也只是为了编辑器绘制更加方便,Schema 组织更简单,前期可以不用太深究,以免浪费太多时间,我一开始自己写引擎都是自己硬写的,没用反射。然后就可以开始借鉴 Piccolo 的思路开始写引擎了,不过在那之前还可以看看 The Cherno 的系列视频,参考 Hazel 的实现。我则是借鉴了 Piccolo 的项目结构、Hazel 的核心,随后参考其他开源引擎,实现了 OpenGL + DX11 双 RHI 的小引擎,正在开发中。OpenGL 的 RHI 设计,多半是先学习 LearnOpenGL 的某个知识点以后,根据自己引擎的数据组织方式,整合成一些 RenderCommand。DX11 这边我目前暂停开发了,想着 OpenGL 先实现差不多了再说。当引擎实现一定的功能后,就可以开始基于引擎去写一些样例项目了,这些样例项目可以实现一些图形渲染效果,这样就可以一边完善引擎,一边深入图形渲染的学习。以上仅为我个人的思路,希望对你有帮助。
    11
    展开2条回复