??在 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 的成長貢獻的強大支持!????