作者:zhuhuanhuan,圖形技術(shù)專家
隨著3D技術(shù)的應(yīng)用普及,越來(lái)越多的場(chǎng)景都能看到3D的身影,比如充電動(dòng)效、3D壁紙、游戲等等,給用戶帶來(lái)了更有趣、更豐富的體驗(yàn)。要滿足用戶的3D體驗(yàn)需求,離不開(kāi)3d渲染引擎。本期,我們就和大家聊一聊HarmonyOS的3D渲染引擎。
一、產(chǎn)生背景
現(xiàn)有的商業(yè)3D引擎,在游戲、工業(yè)設(shè)計(jì)、影視等領(lǐng)域發(fā)揮了至關(guān)重要的作用。為了兼顧跨平臺(tái)的一致性、降低開(kāi)發(fā)者的使用門檻,這些引擎往往會(huì)對(duì)不同的硬件平臺(tái)做抽象,提供一站式的統(tǒng)一開(kāi)發(fā)框架,讓開(kāi)發(fā)者在開(kāi)發(fā)應(yīng)用時(shí)無(wú)需關(guān)注硬件平臺(tái)的差異性。這雖然給開(kāi)發(fā)者帶來(lái)了便利,但在一些輕量級(jí)3D場(chǎng)景下卻存在應(yīng)用架構(gòu)龐大的問(wèn)題,并且會(huì)消耗過(guò)多的內(nèi)存和功耗。
以3D壁紙為例,如果使用現(xiàn)在流行的商業(yè)渲染引擎來(lái)實(shí)現(xiàn),其內(nèi)存占用和功耗都很大。下面的圖1展示了一款典型的2D靜態(tài)壁紙與其3D版本之間的資源消耗對(duì)比??梢钥闯觯瑑?nèi)存和功耗都大大增加了,這會(huì)大幅降低設(shè)備的待機(jī)時(shí)間。

圖1 靜態(tài)壁紙與動(dòng)態(tài)壁紙的資源消耗對(duì)比
為了解決當(dāng)前主流渲染引擎資源占用過(guò)高的問(wèn)題,服務(wù)“1+8+N”眾多設(shè)備的輕3D需求,華為自主研發(fā)了全新的輕量級(jí)HarmonyOS 3D渲染引擎。
二、HarmonyOS 3D渲染引擎介紹
HarmonyOS 3D渲染引擎采用了業(yè)界最先進(jìn)的ECS(Entity-Component-System,實(shí)體-組件-系統(tǒng))渲染引擎架構(gòu)。 ECS架構(gòu)的數(shù)據(jù)和方法分離,按照組合的方式將組件及其行為拼裝成對(duì)象,對(duì)cache命中更加友好,并且更加易于實(shí)現(xiàn)多線程并行。
那么基于ECS架構(gòu)的HarmonyOS 3D渲染引擎到底是怎樣的?下面我們從典型特征、特性列表、性能表現(xiàn)三個(gè)方面,帶大家了解HarmonyOS 3D渲染引擎。
1. 典型特征
HarmonyOS 3D渲染引擎具有以下典型特征:
- 數(shù)據(jù)驅(qū)動(dòng)
為了最大限度減輕迭代開(kāi)發(fā)的工作量,采用了數(shù)據(jù)驅(qū)動(dòng)的設(shè)計(jì)思想,使得大量配置和修改都無(wú)需重新編譯代碼。例如render node graph、shader pipeline、renderpass layout、vertex data declaration和post-processing等內(nèi)容都可以通過(guò)json等文本文件指定,開(kāi)發(fā)者可以通過(guò)修改這些配置文件實(shí)現(xiàn)改變渲染流程、增加后處理效果、修改模型形狀等操作。
- 插件機(jī)制
在保持引擎核心代碼盡可能少的同時(shí),提供了極為方便的架構(gòu)級(jí)插件擴(kuò)展支持。比如,在低端設(shè)備上,可以只提供引擎的核心部件,這樣編譯出來(lái)的二進(jìn)制文件規(guī)模非常小。而在高端設(shè)備上,可以根據(jù)需要添加擴(kuò)展功能插件,例如碰撞功能、粒子效果等。這樣,既可以降低應(yīng)用的資源消耗,也可以讓開(kāi)發(fā)者輕松構(gòu)建自定義渲染管線。
- 高度并行
自動(dòng)支持渲染并行化。GPU資源可以按照l(shuí)ock-free的方式訪問(wèn),開(kāi)發(fā)者無(wú)需使用鎖,也不用擔(dān)心資源訪問(wèn)的多線程競(jìng)爭(zhēng)問(wèn)題。
- 軟硬結(jié)合
HarmonyOS與HISI芯片的軟硬件聯(lián)合優(yōu)化,以及華為在GPU Turbo技術(shù)的長(zhǎng)期沉淀,為3D應(yīng)用能效比的提升作出了重要貢獻(xiàn)。
- 現(xiàn)代圖形API
圖形API充分借鑒了Vulkan API的設(shè)計(jì)思想,能夠有效利用Vulkan的大量創(chuàng)新特性,例如multi-queue、indirect rendering、stateless rendering、descriptor sets等。
2. 特性列表
相比當(dāng)前業(yè)界常用的渲染引擎,HarmonyOS 3D渲染引擎已經(jīng)支持所有核心功能和常用特性,可以滿足絕大部分3D應(yīng)用的開(kāi)發(fā)需求。下面我們就來(lái)看看HarmonyOS 3D渲染引擎支持哪些特性吧:

圖2 支持的特性列表
說(shuō)明:圖2中的“插件系統(tǒng)”是可以根據(jù)需要進(jìn)行擴(kuò)展的特性,其他特性則是系統(tǒng)默認(rèn)支持的特性。
如圖2所示,HarmonyOS 3D渲染引擎除了支持Java/C++ API以外,還將在2022年支持HarmonyOS的JS開(kāi)發(fā)框架和聲明式UI。后處理方面,目前支持FXAA抗鋸齒技術(shù),后續(xù)還將支持基于時(shí)域的TAA(Temporal Anti-Aliasing)抗鋸齒技術(shù),以達(dá)到更好的顯示效果。
3. 性能表現(xiàn)
HarmonyOS 3D渲染引擎主打輕量級(jí),其性能表現(xiàn)尤為重要。
我們從開(kāi)源項(xiàng)目獲取了一些標(biāo)準(zhǔn)模型,這些模型經(jīng)常用于圖形領(lǐng)域的各種demo測(cè)試?;邝梓?90平臺(tái)評(píng)估這些模型在多個(gè)引擎中的性能表現(xiàn),測(cè)試結(jié)果如下圖所示:

圖3 性能測(cè)試結(jié)果
開(kāi)源項(xiàng)目:https://github.com/KhronosGroup/glTF-Sample-Models
從以上測(cè)試結(jié)果可以看出,HarmonyOS 3D渲染引擎在內(nèi)存和功耗上表現(xiàn)都非常出色。
三、應(yīng)用示例
HarmonyOS 3D渲染引擎當(dāng)前主要面向普通的應(yīng)用開(kāi)發(fā)者,典型應(yīng)用場(chǎng)景是在以2D為主的應(yīng)用中嵌入少量的3D元素。
目前3D渲染引擎已經(jīng)內(nèi)置到HarmonyOS中了,下面我們來(lái)看看HarmonyOS 3D渲染引擎的幾個(gè)典型應(yīng)用示例:
UX 3D動(dòng)效:

Qmoji(相機(jī)趣味變裝):

3D壁紙:

四、未來(lái)展望
雖然HarmonyOS 3D渲染引擎當(dāng)前主要面向輕量級(jí)的3D應(yīng)用場(chǎng)景,但其同樣支持復(fù)雜3D場(chǎng)景的開(kāi)發(fā),例如3D游戲、車控界面等。為了協(xié)作開(kāi)發(fā)者更好地完成3D場(chǎng)景開(kāi)發(fā),HarmonyOS將在2022年推出3D場(chǎng)景配套的開(kāi)發(fā)工具,敬請(qǐng)期待!
未來(lái),HarmonyOS 3D渲染引擎以及配套的3D開(kāi)發(fā)工具鏈將隨著HarmonyOS持續(xù)演進(jìn),不斷拓寬應(yīng)用場(chǎng)景,持續(xù)推動(dòng)3D應(yīng)用在各種智能設(shè)備上的廣泛落地,打造更加絢麗的數(shù)字世界!
-
3D
+關(guān)注
關(guān)注
9文章
2959瀏覽量
110710 -
HarmonyOS
+關(guān)注
關(guān)注
80文章
2126瀏覽量
32960
發(fā)布評(píng)論請(qǐng)先 登錄
答疑|3D打印能打印立體字母嗎?
芯原推出面向可穿戴設(shè)備的超低功耗OpenGL ES GPU,支持3D/2.5D混合渲染
HT 可視化監(jiān)控頁(yè)面的 2D 與 3D 連線效果

西門子Innovator3D IC平臺(tái)榮獲3D InCites技術(shù)賦能獎(jiǎng)

3D打印中XPR技術(shù)對(duì)于打印效果的影響?
騰訊混元3D AI創(chuàng)作引擎正式發(fā)布
C#通過(guò)Halcon實(shí)現(xiàn)3D點(diǎn)云重繪
技術(shù)資訊 | 2.5D 與 3D 封裝

TAS3103 EVM用于具有3D效果的數(shù)字音頻處理器

3D集成電路的結(jié)構(gòu)和優(yōu)勢(shì)

在不用miniDSP的情況下,使用信號(hào)處理模塊時(shí),aic3254怎么配置DAC的3D效果?
維愛(ài)普3D打印設(shè)備工字電感磁芯:驅(qū)動(dòng)創(chuàng)新與高效的科技核心
3D打印耗材控濕方案--無(wú)水電解除濕器

評(píng)論