在虛擬現實(VR)技術飛速發展的當下,如何提升VR體驗的流暢度與效率,始終是科研人員聚焦的核心問題。近期在一項研究中,加州大學聖地亞哥分校,科羅拉多大學丹佛分校,廣東工業大學和內布拉斯加大學林肯分校團隊提出了一種 VR 渲染優化方法 YORO,可降低超 50% GPU 開銷。
立體渲染技術是當前 VR 應用的主流方式,但它要求為每隻眼睛分別渲染視圖。這一特性使得 VR 遊戲相較於平面螢幕遊戲,運行難度大幅增加。由於 GPU 需要承擔雙倍的渲染任務,導致 VR 遊戲的圖形保真度難以提升,畫面質量大打折扣,進而極大地削弱了 VR 對眾多主流遊戲玩家的吸引力。
儘管像 Quest 這類獨立 VR 頭戴設備採用了單通道立體技術,在優化立體渲染過程中的 CPU 繪製調用方面取得了一定進展,但 GPU 仍需對雙眼視圖進行渲染。這其中包含了成本高昂的每像素著色操作以及內存開銷,成為制約 VR 性能進一步提升的瓶頸。
YORO 技術為解決上述難題提供了一種新方法,摒棄了傳統的雙眼分別渲染模式,首先按照常規方式渲染一隻眼睛的視圖。對於另一隻眼睛的視圖,不再進行重複渲染,而是通過兩個高效階段進行合成,即重投影和修補。
需要特別說明的是,YORO 並非基於人工智慧的系統,不涉及神經網路,因此不會出現 AI 幻覺等問題,確保了合成視圖的準確性和穩定性。
在重投影階段,系統利用計算著色器將已渲染眼睛的每個像素精準遷移至另一隻眼睛的螢幕空間,並標記出那些被遮擋的像素,即已渲染眼睛無法看到的像素。
隨後進入修補階段,藉助一個輕量級圖像著色器,對重投影步驟中標記出的遮擋像素應用具有深度感知的繪畫濾鏡。通過將背景像素模糊後填充到這些位置,實現了另一隻眼睛視圖的合成。
研究人員宣稱,YORO 技術能夠將 GPU 的渲染開銷降低 50% 以上。在大多數情況下,合成出的眼睛視圖實現了「視覺上無損」的效果,為用戶帶來了幾乎與真實雙眼渲染相同的視覺體驗。
在實際測試中,YORO技 術展現出了驚人的性能提升。在 Quest 2 設備上運行 Unity 的 VR Beginner: The Escape Room 示例時,應用 YORO 技術後,幀速率提升了 32%,從 62 FPS 提高到了 82 FPS。
然而,任何技術都難以做到盡善盡美,YORO 技術也不例外。在極近場情況下,即虛擬物體離眼睛非常近時,物體與眼睛的距離越近,立體視差越大,YORO 方法的效果會在一定程度上打折扣。
針對這一情況,研究人員建議直接回歸常規的立體渲染方式,甚至可以只針對特定物體,如距離眼睛極近的物體進行渲染,而無需對整個場景進行渲染,從而在保證視覺效果的同時,兼顧性能優化。
此外,YORO 技術還有一個較為重要的限制,即不支持透明幾何體。但研究人員指出,在移動 GPU 上,透明效果本身就需要進行第二次渲染,實際應用中很少使用。因此,他們建議將 YORO 插入到透明渲染過程之前,以充分發揮其優勢。
為了讓更多開發者受益於這項創新技術,Unity 實現的 YORO 源代碼已在 GitHub 上發布,且遵循 GNU 通用公共許可證(GPL)。從理論上講,VR 開發者現在已經可以將這一功能應用到自己的遊戲中,為玩家帶來更流暢、更高效的 VR 體驗。