在 Cocos Creator v3.1 中,Cocos 通过集成华为海思 GPU 团队的 HMS Core CG Kit,开发实现了延迟渲染管线。
这一里程碑式的合作成果是 Cocos 和华为海思 GPU 团队合作的首次亮相,代表着一个全新的起点,为 Cocos 在移动端次时代品质的游戏画面奠定了基础。未来 Cocos 将给开发者带去更多优秀的引擎特性,帮助开发者在华为平台上制作优秀的游戏。
此次延迟渲染管线的实现出自华为海思 GPU 团队的 CG Kit 产品,其目标是将海思 GPU 团队的软硬件能力开放给引擎厂商和广大游戏开发者,推动移动设备渲染效果和性能的提升。

移动端、可落地的延迟渲染管线
熟悉图形学的开发者可能知道,由于出色的大规模动态光源支持,延迟渲染管线一直是桌面端最主流的渲染管线。但受制于硬件的设计,延迟渲染若在移动端实现则会造成更大的带宽损耗和性能压力,因此延迟渲染管线一直没有被广泛应用于移动端。
而随着硬件性能的不断提升以及 Vulkan 和 Metal 在移动端的普及,我们可以利用 Tiled Based Rendering 特性在越来越多的设备上实现高性能的延迟渲染管线。
首先用一段 Demo 给大家展示在 Cocos Creator v3.1 中使用延迟渲染管线实现的动态多光源效果:
https://v.qq.com/x/page/u3253d7taws.html

视频中所使用 Demo 可以在开源仓库中找到。仓库地址: https://github.com/cocos-creator/Deferred_RenderPipeline
Cocos 和海思 GPU 团队有着共同的愿景,都希望帮助开发者更好地利用图形技术创作优秀的游戏作品。Cocos 在引擎层面充分利用 CG Kit 软硬件优势,并将硬件商的算法和优化封装在引擎功能中,这使得开发者们不需要关注过多细节便可轻松受益。
当然,Cocos Creator v3.1 中的延迟渲染管线还只是一个供开发者体验的“初级版本”,远远不是“最终形态”。此次Cocos 和海思 GPU 团队的深度合作目标是实现可适配主流移动端设备的高性能延迟渲染管线,所以在 Cocos Creator v3.x 后续版本中,Cocos 还会和华为一起持续优化延迟渲染管线的实现。
Cocos 的 3D 渲染器架构
以技术为核心的合作,自然也要用技术的语言来展示,这里就简单描绘一下 Cocos 的 3D 渲染器框架和 CG Kit 延迟渲染管线在其中的重要地位。

从图中可以看出,CG Kit 延迟渲染管线(Deferred)是完全基于 Cocos Creator 的渲染管线和 GFX 图形接口的,不仅支持华为的安卓设备和鸿蒙 OS 设备,同时也兼容所有其他平台。
Cocos Creator 自 v3 开始,已经完成了从 2D 到 3D 引擎的蜕变,并在引擎中抽象了 Render Pipeline 基础接口,引擎默认的前向管线和 CG Kit 延迟渲染管线都是继承自 Render Pipeline 基类。同时,Cocos 引擎还抽象了 GFX 抽象图形接口层,向下对接所有平台的不同图形接口,比如 OpenGL ES 3 和 Vulkan,向上提供接近于 Vulkan 的抽象图形接口。CG Kit 延迟渲染管线正是基于 GFX 图形接口实现的,这使得其天然得支持所有平台。
从用户层面来说,Cocos 引擎的用户无需关心具体细节,海思 GPU 团队以强大的技术保障了延迟渲染管线和前向渲染管线渲染结果的统一性,开发者只需要根据自己的游戏对动态光源的需求和用户设备情况来选择是否使用延迟渲染管线;而 Cocos 引擎则负责管理渲染场景和渲染组件在前向和延迟两种渲染管线中的无缝切换,双方的通力配合之下保障了开发者的极简使用体验。
更重要的是,由于 GFX 抽象图形接口层是更接近现代图形接口的封装,所以对于 TBR 和 TBDR 架构的 GPU 特性支持也更加友好。在接下来的版本中,Cocos 将和海思 GPU 团队继续深入优化延迟渲染管线的内存和带宽使用,利用芯片缓存减少渲染过程中的内存读取和写入,让延迟渲染管线可以在更多设备上以高性能运行。
期待和展望
除了延迟渲染管线的后续优化以外,Cocos 和海思 GPU 团队在渲染领域的合作还将继续深化,将更多高性能的渲染算法带到 Cocos 引擎中,秉承普惠所有开发者的心愿进行合作。
另一方面,华为在硬件、系统和驱动层面的能力与特性将更多地开放给引擎开发者,Cocos 引擎将充分利用这些特性帮助开发者输出更酷炫的游戏表现和更顺滑的游戏体验。
敬请所有开发者期待正在飞速成长的 Cocos 引擎,也借此机会再次感谢华为海思 GPU 团队为 Cocos 的成长贡献的强大支持!