MayEngine渲染管线更新

2023年8月3日 0 By Majjcom

由于开发需要,一开始制作的及其低级的OpenGL渲染管线已经无法满足需要。

于是,更新渲染管线迫在眉睫。

全新的渲染管线呈现为树的结构,存在多个渲染入口和中间节点,最后输出到最终的Buffer。

由于结构比较复杂,管线的配置以Json文件的形式加载,之前由于比较简单,使用的是纯代码加载。


本次的管线有几个层级,最上层的是Pipeline,是游戏开发者使用的类,主要提供管线加载、渲染任务输入、显示输出等操作。

第二层是Bunch,是一段连续的渲染流程,一个Bunch至少拥有一个Buffer,同时,每个Bunch中有多个Shader,负责丰富渲染逻辑。由于Bunch存在指定的渲染尺寸,所以Bunch可以采用AB Buffer的方式来节约显存的使用。

最后就是对接到OpenGL的基础组件了:Shader、Buffer以及Texture等基础的图形渲染组件。

在全新的渲染管线的加持下,我相信MayEngine能够带来更加丰富的画面表现。

现在唯一缺少的大概是对它的性能开销的预计,由于有多个Buffer之间相互渲染,且做不到多线程渲染,不知它的实际表现会如何。

——Majjcom