11-10-2023 11:43 PM - edited 11-11-2023 04:24 AM
大概是在一個星期之前,Snapdragon官方的Youtube頻道放出了一個影片,內容展示了應用 Ray tracing 技術運算出來的畫面效果。
影片在這裡,推薦大家可以發揮自己的火眼金睛仔細觀察一番。
https://www.youtube.com/watch?v=CFuSR4rVWg4
說回標題,Snapdragon 8 Gen 3 採用的 Ray tracing 是真正的光線追蹤嗎?筆者覺得這其實沒有標準答案。如果我們把 NVIDIA RTX 採用的 Ray tracing 計算方是作為標準,Snapdragon 8 Gen 3 應該還沒有達到相同的位置。這其中不只是核心效能的差異。
目前新型的個人電腦和家用主機平台採用的光線追蹤技術,是直接透過硬體支援的方式來達成,可以這樣理解:個人電腦和家用遊戲主機的核心硬體架構中專門有一個區塊用可以來「加快」光線追蹤的運算,盡可能把這個效果即時呈現出來。
目前已知 Snapdragon 8 Gen 3 和 Gen 2 在核心的硬體架構上並沒有太大的修改,Snapdragon 在展示中也沒有刻意提到他們在核心硬體架構中特別增加或是獨立讓哪一個區塊輔助 Ray tracing 運算,所以和主流顯示卡採用的硬體加速方式不同。
但 Snapdragon 8 Gen 3 的 Ray tracing 展示動畫,也確實展示出了光線追蹤才能比較容易呈現的「光線反射」效果,這也是筆者認為這個展示影片主要想表達的主要訊息。
這是一個火力展示的手段,類似 Unreal Engine 的宣傳影片,告訴大家「可以做出這種效果」,雖然火力相比之下不如 Unreal Engine 強大。
光線追蹤為什麼困難?
光線追蹤之所以成為很多硬體廠商主打的亮點,主因是光線追蹤的運算相當複雜,對硬體效能會帶來相當大的負擔,但只要可以活用這個技術,就可以呈現出光線反射效果更加真實、變化也更多端的虛擬場景。對硬體廠商來說,光線追蹤成為了火力展示的戰場。
光線追蹤技術在引入遊戲之前就已經存在,很多電影的畫面都是運用光線追蹤技術製作出真實感極高的畫面。我們看到的電影畫面,每一幀可能是都花費數分鐘、數小時甚至好幾天才運算好的結果。
但遊戲需要和玩家即時互動,每一幀畫面生成的時間非常短,目前的硬體效能其實不能負擔和電影工業同等級的質感,必須要想盡各種辦法縮短光線追蹤效果的運算時間,才能盡可能呈現出特別的畫面。
光線追蹤的目的是什麼?
光線追蹤技術主要可以凸顯「光線反射」效果,讓畫面呈現的光影更貼近真實。
簡單來說,以往的遊戲場景,是把畫面中的立體物件切割成很多細小的向量多邊形,透過數學方式把每個向量多邊形轉換成像素資料呈現在場景的攝影機上,最後就會變成我們看到的畫面。
以前的計算方式擁有較高的運算效率,計算出每個像素點資料的時間都差不多,近幾年得益於硬體效能的提升,我們看到遊戲場景的複雜度也顯著的提升。
雖然這種運算方式很有效率,但它很難呈現出場景中各個物體彼此間受到場景光源照射時呈現出來的各種反射、投射、漫射效果。我們可以直觀的分辨出眼前的畫面究竟是真實、虛擬,很大一部分會被這些光線的效果影響。
光線追蹤的原理,是把光做為射線的方式計算,通常會先把場景中的立體物件描繪出來,接著把光線照進這個場景,通過計算,把場景中不斷碰撞、最後進入場景攝影機的光線資料捕捉起來,最後把這些光線資料繪製成像素點呈現在我們的螢幕上。
這個畫面運算技術的好處,是可以捕捉到各種物體在場景中相互反射、投射的效果。只要這些射線的資料足夠多,就可以得到一個以假亂真的畫面。
但你肯定可以從以上簡單的敘述發現,這種運算方法的複雜度很高,而且每一條射線在場景中前進的距離都不一樣,需要計算的資料很複雜,鏡頭上每個像素點生成的時間也會有差異。以上這些都是目前「即時光線追蹤」的困難點。
展示動畫中只有部分物件擴充了反射效果
在 Snapdragon 8 Gen 3 的宣傳影片中,我們可以很明顯看到水面、地面、紅色瓦罐以及刀身都出現了人物的投影,也就是說,畫面在運算的時候有把光線照射在人物身上、接著反射在其它物體上的資訊收集並且繪製出來。
但,如果更仔細看,人物的手靠近金屬劍柄的時候就沒有呈現類似的效果。
拔劍之後,人物在地面呈現的陰影也是含糊的。假設這段畫面的確是即時演算,我們不難看出,演示中並不是所有的物件都反映出 Ray Tracing 的效果。
演示中的人物模型是穿著布料材質,可能是一個巧妙的安排,如果想用更直接的方式展示人物模型和場景其他物體的相互影響,其實可以製作一個身穿金屬鎧甲的人物。這樣的安排應該還是受限於硬體效能限制,但某種程度上也呈現出這個畫面效果的可信度。
雖然展示的動畫不如 Unreal Engine 5 華麗,但宣傳的目的還是達到了。可以推測 Snapdragon 8 Gen 3 可以在特定條件、特定範圍中呈現部分光線追蹤的效果,我們還是可以樂觀的期待這個技術在未來的應用。