合成層
在向用(yòng)戶呈現渲染圖像時(shí),有時(shí)希望将場(chǎng)景的(de)元素分(fēn)離到不同的(de)層中。每個(gè)這(zhè)樣的(de)層可(kě)以單獨渲染,然後合成在一起形成最終的(de)場(chǎng)景。這(zhè)可(kě)以幫助提高(gāo)每個(gè)渲染層的(de)穩定性和(hé)質量,但代價是一些性能。
這(zhè)些層被稱爲合成層,Snapdragon Spaces SDK允許開發人(rén)員(yuán)訪問不同類型的(de)合成層。以下(xià)是這(zhè)些類型的(de)簡要總結。更多(duō)詳細信息可(kě)以在特定引擎的(de)文檔中找到。
支持的(de)渲染器 并非所有在此處描述的(de)層都适用(yòng)于所有渲染API(OpenGLES、Vulkan等)。有關更多(duō)詳細信息,請參閱任何特定引擎的(de)文檔。 |
層類型
投影(yǐng)層
投影(yǐng)層代表從每隻眼睛使用(yòng)透視投影(yǐng)渲染的(de)平面投影(yǐng)圖像。這(zhè)通(tōng)常用(yòng)于從用(yòng)戶的(de)視點渲染虛拟世界。投影(yǐng)層是從主攝像機的(de)透視圖自動生成的(de),并渲染到XR頭顯。不需要采取任何措施來(lái)渲染這(zhè)個(gè)自動生成的(de)投影(yǐng)層。目前還(hái)不能提交額外的(de)投影(yǐng)層。
四邊形層
四邊形層适用(yòng)于顯示用(yòng)戶界面元素或渲染到虛拟世界的(de)2D内容,四邊形層僅從前方可(kě)見,沒有厚度。
深度層
深度層包含将深度信息匹配到最終圖像的(de)所需數據。深度圖像僅與投影(yǐng)層一起提交。
僅支持VR 深度提交僅在選定的(de)VR硬件上支持。在Unity中,可(kě)以通(tōng)過打開“項目設置” > “XR插件管理(lǐ)” > “OpenXR”并選擇深度提交模式爲Depth 16位或Depth 24位來(lái)啓用(yòng)深度層。然後,深度圖像對(duì)應于默認投影(yǐng)層将自動生成并自動提交,開發人(rén)員(yuán)無需進一步操作。 |
排序順序
所有合成層都按照(zhào)“畫(huà)家算(suàn)法”進行排序和(hé)渲染,其中較低的(de)層首先被渲染,較高(gāo)的(de)層在其上被渲染。
層的(de)數量
最多(duō)可(kě)使用(yòng)16個(gè)合成層。這(zhè)個(gè)總數包括負責從主攝像機渲染内容的(de)默認投影(yǐng)層 - 實際計數爲1 + 15個(gè)額外的(de)合成層。每個(gè)使用(yòng)的(de)層都會帶來(lái)額外的(de)性能開銷。如果層的(de)最大(dà)數量被超過,最高(gāo)的(de)層将不會被渲染。
提示! 爲了(le)獲得(de)最佳性能,請盡量使用(yòng)較少的(de)層。 |
層的(de)尺寸
合成層的(de)最大(dà)允許尺寸由硬件确定,但通(tōng)常支持高(gāo)達16k紋理(lǐ)的(de)尺寸。