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