手機上的光線追蹤,OPPO率先做到了

機器之心發表於2021-10-29

說到當今電子遊戲裡最知名的圖形渲染技術,可能非光線追蹤莫屬了。


不論 Minecraft、魔獸世界還是戰地,越來越多知名遊戲都在加入光追效果。不過對於玩家們來說,畫質和流暢度之間需要作出取捨——開啟光追很多時候都意味著幀率減半,即使是在有專門 RTX 核心的英偉達 GPU 上也是如此。

手機上的光線追蹤,OPPO率先做到了

「把光追關了」是玩家們感覺畫面卡頓後的前排解決方案。距離實用化已過去 3 年,光追還只是高階玩家炫耀硬體的資本。

然而在 10 月 27 日的 OPPO 開發者大會上,OPPO 進行了一番手機光追的演示,一直以來硬體需求很高的畫面特效,居然已經能在手機上實現了:
手機上的光線追蹤,OPPO率先做到了
這是我們第一次在手機上看到如此精細的畫面效果。光線追蹤技術還沒有在 PC 和主機上廣泛鋪開,就又把目標轉向了數以億計的智慧手機。

OPPO 軟體工程事業部總裁吳恆剛表示:「預計在明年上半年,我們將可以提供光線追蹤的能力接入,面向硬體支援的手機裝置。」

看到這樣的場面,我們不禁要問:這真是一件能實現的事嗎?光線追蹤值不值得?要想回答這些問題,還得從技術本身說起。

光線追蹤:前所未有的特效

光線追蹤首次以計算形式的應用可以追溯到 1968 年,又在 1980 年由 Turner Whitted 開創性的研究而被學界、業界所熟知。著名電腦科學家,英偉達前首席科學家 David Krik 說過:「以前有句玩笑話——光線追蹤是未來的技術,而且這個未來永遠不會到來。」

2019 年 5 月,頂級計算圖形學機構 ACM SIGGRAPH 頒發了一項最佳博士論文獎。獲獎者閆令琪博士畢業於加州大學伯克利分校,目前已是加州大學聖巴巴拉分校(UCSB)的一名助理教授。他的博士論文頒獎詞是這麼說的:「他的論文每章都可以自成一篇博士論文。」

閆令琪博士論文的一個章節有關全域性光照,其研究最終引出瞭如今商用化的「光線追蹤技術」Ray Tracing,將電子遊戲的畫質水平提升了一個臺階。

未來已經成為了現實,隨著英偉達提出的 Turing 顯示卡,單塊 GPU 已經可以實現實時的畫面光追渲染。
手機上的光線追蹤,OPPO率先做到了
光線追蹤意味著設定一個光源,隨後模擬其投射效果:在自然環境中會出現反射、折射、陰影等等。人們想在虛擬世界復現真實環境,就需要找到方法實現人眼對於這些目標的直覺認知。

在當前被人們廣泛應用的方法中,光線追蹤大概遵循這樣的流程工作:在虛擬空間中發射一條光線,遍歷整個場景,尋找可能被光線追蹤的物體,根據不同結果進行不同處理,隨後又需要對其進行著色。在此過程中我們還需要執行遞迴,即回到最初的步驟,發射更多光線,獲得更多反射、陰影結果。

手機上的光線追蹤,OPPO率先做到了

在 DirectX 和 Vulkan 的光線追蹤中存在五種新著色器:光線生成、求交、無交點、傳統和任意交點著色器,以分別模擬反射、折射、透明材質等情況。

簡而言之,光追就是透過複雜的流程,消耗晶片的大量並行化算力,試圖生成出與真實世界相近的光照效果。而隨著場景的不斷增大,畫面複雜程度的升高,光線追蹤的效果會愈發明顯。

目前有關光線追蹤技術的應用,大多數是 3A 遊戲大作。在最新、最熱門的遊戲裡你可以找到這個可選項,想要開啟還得更新一下 GPU 驅動。

手機上的光線追蹤,OPPO率先做到了

仙劍奇俠傳 7 的光線追蹤效果。

雖然很吃算力,但在眾多 3A 大作展現的畫面中我們可以發現,開啟光追就像開啟了新世界的大門。

如何把光追塞進手機

和 AI 技術發展的軌跡類似,光線追蹤也經歷了理論的提出和完善,又在多年後後因為晶片算力的提升而被逐步實用化。然而近幾年來,傳統矽晶片的效能發展逐漸接近物理極限,我們再也難以透過簡單使用更小電晶體的方式來承載更高的算力了。

在臺式電腦上難以實現的光線追蹤,又是如何被 OPPO 應用在手機上的呢?

首先,它是真實的效果,除了 OPPO 在開發者大會的現場展示的兩段 demo 影片,在開發者大會的展區中也有實機演示,光追是在目前市面上銷售的量產手機上實現的。

OPPO 展示了光在光滑材質表面的「真實」反射效果,以及更為細膩的陰影:
手機上的光線追蹤,OPPO率先做到了
還有效果最明顯的鏡面反射、透明體折射等效果。PC 遊戲上的光線追蹤,在這裡幾乎都可以呈現出來,幀數也達到了足夠高(30 幀左右):
手機上的光線追蹤,OPPO率先做到了
OPPO 介紹說,OPPO 光線追蹤是基於 Vulkan API,面向下一代移動光追硬體的技術,目前已在移動平臺上實現了原型開發。該技術能夠在硬體算力受限的情況下清晰還原現實世界中的很多細節,提升畫質體驗。除了遊戲,光線追蹤技術還可以在 3D 動態桌布、影像濾鏡、AR 等領域獲得應用。

目前手機的圖形渲染大多使用光柵化的方式,在需要表現光照的位置使用 2D 投影,雖然保證了低功耗需求,但很多時候表現效果較為有限。

而全域性的光線追蹤顯然是手機算力難以承載的任務,因此 OPPO 選擇了「混合渲染」的方式。對於原有的渲染方式進行較小改動,並不追求對每個畫素進行光追,而是著重在如物體的陰影,武器的光澤等效果明顯的位置。這種方式既可以提升影像效果,也保持了輕量化。
手機上的光線追蹤,OPPO率先做到了
在一些場景中,我們可以使用光柵化生成初步影像,然後利用光線追蹤技術打造更加逼真、動人的效果。

在實現道路上,和以往英偉達、AMD 等繫結硬體的光線追蹤技術不同,基於 Vulkan 的開源光追技術在業界標準上相容了更多裝置,同時也方便開發者接入。

OPPO 的核心優勢是具有統一的場景遍歷和光線求交運算,不僅支援安卓手機端,還支援 PC 等多種平臺,短期的目標至少是聯發科和高通平臺全支援。

手機上的光線追蹤,OPPO率先做到了

除了開發者大會上提出的光線追蹤和異構計算,幻影平臺還將包含更多功能。

「選擇在這個時間點做,一個很重要的原因就是因為業界終於有了標準,這就意味著不同的平臺廠商會以可互相相容的方式去推動光追的實現,」OPPO 高階演算法產品經理田一真說道。

不到一年時間,從研發到落地

幻影平臺的光線追蹤能力來自 OPPO 美國研究院西雅圖中心,在不到一年的研究過程中,OPPO 與聯發科、Unity、騰訊天美工作室等展開了合作。目前 OPPO 已經與天美在使命召喚手游上完成了兩個場景的技術演示。

在 OPPO 的技術展示之前,聯發科曾於今年初提出在天璣 1200 上可以實現光線追蹤的效果。而在 ODC 上,展示光追 Demo 的機型是 Reno6 Pro。在 2021 年內,就有手機廠商實現了當初人們的期望。

「一些遊戲公司、應用開發者甚至聯發科這樣的晶片提供商都在做光追,但他們是從各自的角度去完成的,」田一真說道。「對於 OPPO 來說,我們可以在共同開發的過程中從遊戲廠商那裡獲得具體需求,同時向硬體平臺協調算力呼叫方式,最適合完成這件事情的落地。」
手機上的光線追蹤,OPPO率先做到了
當前在遊戲製作過程中,光追管線與遊戲管線差別巨大,這減少了開發者們應用新技術的意願。OPPO 提出的幻影平臺希望透過小步的方式去改進傳統管線的圖形渲染能力,同時大幅降低使用難度,開發者甚至不需要知道光追內部的實現細節。

基於 Vulkan 這一業界唯一光線追蹤標準,OPPO 將向開發者們提供開源介面,並向 Unity 等流行遊戲引擎提供外掛,這一適用於未來技術發展的演進,並支援多種硬體。

未來對於開發者來說,光追效果可能是在遊戲設計過程中呼叫一個介面,只需在遊戲引擎中一鍵就可以在 OPPO 手機上開啟光追,直接最佳化已有場景。

而對於使用者來說,他們也不需要更新特定的驅動,或是下載特殊的遊戲客戶端就可以獲得更好的光影效果。

OPPO 成為了首家把光線追蹤技術落地到移動終端上的手機廠商,不過它目前還沒有推出專用遊戲手機的計劃:光線追蹤、異構計算等技術是希望能夠提供給所有使用者的。

人人都可用,效率足夠高,是 OPPO 光追技術的目標。預計到明年上半年,OPPO 就會透過開放應用接入的方式將這種技術提供給開發者們。最早在 2023 年,就會出現手機端的光追應用。

最後,如果我是一名原神玩家,什麼時候能在遊戲裡開啟光追選項呢?OPPO 表示:如果米哈遊期待加入這樣的特效,他們可以向 OPPO 提出自己的最佳化需求,我們期待儘快與遊戲廠商和應用開發者展開合作。

這一天應該離我們並不遙遠。

相關文章