-
1 # 超能網
-
2 # 硬體學堂
NVIDIA在8月20日的科隆遊戲展前釋出會上,正式揭曉了全新一代基於“圖靈”架構的20系遊戲顯示卡。針對圖形效能,NVIDIA帶來了革命性的改進,引入了實時光線追蹤技術。如果你是一名發燒級遊戲玩家,在忍受多年傳統光柵化渲染技術虛虛實實的折磨後,一定會喜歡NVIDIA全新實時光線追蹤技術帶來的真實畫面效果,因為二者在遊戲畫面展現上的差距有著天淵之別。
顛覆性的技術革新
實時光線追蹤技術對於很多遊戲玩家來說或許非常生澀,但放在遊戲體驗中我們可以這麼理解,3D大型遊戲憑藉超現實的遊戲環境被玩家所追捧,雙眼直觀感受到的遊戲畫面比傳統2D遊戲更加豐富,這主要歸功於設計師精湛的3D建模技術讓人物、山水變得擬真度極高,但不管遊戲發展的趨勢,我們切實能夠感受的都只能呈現在顯示器平面上,開發者需要透過複雜的轉換將3D遊戲場景轉化為2D畫面,這就需要畫面內每一個物品都和真實環境相似,具備陰影等效果。
每一位沉浸在遊戲畫面中的玩家都會慢慢發現遊戲世界中的體驗效果並不真實。至於假到什麼程度?可能我們經過某處,物體表現的渲染沒有任何變化或者直接被突如其來的大量人物陰影直接遮蓋。四周環境也不會因你的到來而發生絲毫的變化,該亮的地方依舊很亮,該暗的地方卻沒有變暗。
換言之也就是整個遊戲內的一切可能出現的陰影都是提前設計好的,只會因玩家的出現而增加,但不會隨玩家的移動而改變。遊戲世界的環境都是設計時固定的,並不會因為玩家角色的變化而隨之變化。
傳統光柵化渲染
光柵化渲染其實將一個3D圖形的幾何資訊轉變為一個個柵格組成的2D影象的過程,可以理解為在這個3D圖形的每個點都包含有顏色、深度以及紋理資料,經過一系列計算變換後,將其轉換為2D影象的畫素,進而呈現在顯示裝置上。
這一過程也就構成了我們視覺所看到的各類陰影效果以及光線投射,直白地說,遊戲的設計者結合環境說一個物體這裡有陰影,並基於這樣的觀點進行計算,進而呈現在遊戲畫面中,我們看到的這一物體就會有一塊非常逼真的陰影,達到逼真的視覺效果。
如果開發者的判斷是對的,那麼畫面上的效果也就是對的,但是遊戲開發者只能做到無限接近於真實狀態,並不能保證這就是真實的效果。反之,如果開發者的判斷是錯誤的,在不可能出現陰影的地方有了陰影,作為觀看者的我們也沒有任何辦法。
所以說光柵化技術有非常明顯的缺陷,因為它是一個騙人的技術。
隨著遊戲產業的發展,幾乎每一款3A級遊戲大作都為玩家構建了一個非常完整的世界。但不管是之前的遊戲還是現在的遊戲,玩家的行為越來越不可控,任何一個單獨的角落、不是正常途徑的路線都能成為玩家經過之地。這種行為對於設計師或者開發者而言,是極大的開發壓力,因為沒有人可以將所有玩家途徑的區域全部考慮在內。
如果對遊戲場景進行限制又會讓遊戲喪失自由度。通常的處理方式是考慮儘可能多的環境場景,規定GPU在這些特定的場景下進行特定的光柵化渲染,產生陰影等視覺效果。
它的侷限性在於,當我們途徑一塊並不是規定的區域或角度有所偏差的時候,物體的光柵化渲染效果並不會改變,依舊是設定好的效果呈現。
造成的結果也就是在體驗遊戲的過程中,看到的一切畫面其實都是提前設定好的,看似真實,但總是會有瑕疵。
視覺真實的光線追蹤
標準化的光線追蹤(raytracing)是以光源為起點定義光線,進而追蹤由此產生的光線與物體表面以及光線與光線之間互動關係的過程。但該技術目前實現起來非常困難,因為這一技術需要無限多的光線照射在物體表面,透過反射、折射、漫射等途徑進入最終的“攝像機”成像。這一過程需要耗費大量的算力(當前PC的計算能力無法做到)且會有大量光線損失,此次NVIDIA推出的RTX 20系顯示卡包括現在絕大多數光線追蹤技術採用的都是逆向思維,即以“攝像機”鏡頭為出發點,反向回溯光線並透過這些光線尋找光源。
可以理解為RTX的光線追蹤是人為定義了射入攝像機的光線總量,透過回溯這些光線反射後以尋找光源,每一個交匯結果都可以被作為是回溯過程中招惹到的光源所發射的光線與物體作用的結果,找不到就丟棄。
這樣做的好處在於光線關係的起點是攝像機,這就造成光線關係與場景可視的幾何資訊存在高度的關聯性和可遍歷性,也就是所有進入不了視野的光線都將被認為的剔除。
另外,光線的實際範圍被約束在了可視場景內,方便光線在回溯過程中的排序以及遍歷,光線的處理過程既可以跟shader過程結合,也可以透過direct compute單獨拿出來做獨立數學步驟,就像deferred shading一樣。
這樣做會極大的加速整個追蹤和交匯檢查過程的效率,我們可以看做是手解高階方程與使用計算機處理的差別。
當然,他的缺點也是不容忽視的,比如這類實時光線追蹤並不是從光源出發,而是從視角的角度出發,無法做到對真實的光線進行真實的遍歷,人為規定了光線的數量以回溯光線的過程,也就意味著整個過程脫離不開人為定義,錯誤的干擾依舊是不精確甚至錯誤的主要原因。但總的來說,實時光線追蹤技術可以讓玩家體驗到更加真實的遊戲場景,光線決定了物體表現的最終紋理,在體驗遊戲真實性上是一次巨大的技術革新。
RTX光線追蹤技術
很多人都說實時光線追蹤追了這麼多年還是追不上,但此次NVIDIA RTX的實時光線追蹤可以認為是歷史上距離真實最接近的一次,在未來數年內甚至引領顯示卡行業的發展。這類說法可能不完全正確,但RTX在實時光線追蹤技術上的突破的確具有劃時代意義。
我們以10W束標準自然光線的場景遍歷舉例,平均每道光線進行3次互動檢查,大概需要100T的DP算力。而基於DXR環境下的光線追蹤。以16T的SP算力實現100G束光線的單次交匯檢查,這個運算效率的提升的顛覆性的。它將天生與快取體系敵對的光線追蹤過程重新拉回現有渲染流水能夠控制的範圍內,讓現有流水線能夠處理本來無法完成的過程。
而且效果也是明顯的,雖然這個RT是人為規定的反向回溯,但反向回溯也是回溯,一旦正確回溯到光源,那這條光線就是真實正確的,它與物體之間的所有互動關係所產生的顏色、亮度甚至透視度等變化都將是符合自然規律的,這比光柵化渲染的人為定義光源結果要正確得多。可以說RTX的實時光線追蹤技術以及與最終形態的光線追蹤技術近乎接近。
還原真實視覺體驗
以上就是我們對NVIDIA RTX的實時光線追蹤技術的一次簡單解析,我們可以看到,全新的光線追蹤技術對於整個遊戲產業帶來翻天覆地的改變,隨著9月20日的臨近,想必會有更多遊戲大作開始支援實時光線追蹤技術,與往常我們一直深受遊戲設計開發者預設好的“欺騙式”畫面體驗不同,實時光線追蹤技術會將所有遊戲愛好者帶到一片與真實環境無太大差別的世界中,甚至我們可以透過遊戲畫面感受到與真實世界相同的視覺體驗。
另外,實時光線追蹤在未來絕不僅僅侷限於遊戲市場,由於光線追蹤的演算法與現實的真實世界物理規則幾乎一致,也就是在構建畫面的過程中具備了巨大的優勢。在可預期的未來,實時光線技術將大幅改善實時3D影象的質量,光線效果也將更加真實精準,最重要在於光線追蹤技術突破了渲染的限制,實現了實時光線效果,在傳統渲染引擎面前複雜的影象處理問題也將迎刃而解,變得更加高效簡易。
回覆列表
我們的2018年已經過去,說漫長卻難以伸手抓住、說短暫卻巴不得早點脫身的2018年被我們拋在身後似乎僅僅是一瞬間的事情,所以是時候給今年的市場發展尋找關鍵詞。說到拋在身後,就不禁想起《西遊記》當中孫悟空一躍十萬八千里的筋斗雲,今年下半年中美合拍的《西遊記》即將正式開機,美猴王孫悟空、正能量的形象,文體兩開花,弘揚中華文化,希望大家能多多關注……好吧其實是開玩笑,言歸正傳,如果要給今年的顯示卡市場找關鍵詞的話,那肯定是“光線追蹤”,光線追蹤技術在今年年初以毫無徵兆之勢來到世上, 猶如在所有人都沒有準備的時候點燃的煙火,並且在秋天憑藉新一代圖靈架構顯示卡集中到來,而在很快就要到來的2019年,將會有更多支援光線追蹤的遊戲,所以在新年到來前,我們需要幫助讀者用一文看懂光線追蹤。
到底什麼是光線追蹤?
我們來假設你並非是熟悉硬體的遊戲玩家,那麼你很有可能在以前從未聽說過光線追蹤,所以經過近半年的、遠超範弗利特彈藥量投送的新聞轟炸後,你很有可能早已感到聽覺疲勞:到底什麼是光線追蹤?為什麼我需要知道這玩意?以前大家都沒有光線追蹤的時候不是一切都很好嗎?難道我們現在就像等待加內特或者是皮爾斯復出的波士頓一樣等待著光線追蹤技術帶領我們撐過總決賽?
當然並沒有這麼誇張,光線追蹤技術就像錦上添花,但是就像後知後覺的一切美好,比如說你第一次用固態硬碟、第一次用高效能顯示卡、第一次用4K HDR G-Sync顯示器、第一次用手感完美的機械鍵盤,一旦你習慣光線追蹤創造出來的逼真環境,你再看到過往的光影環境就會覺得很寒酸,真實能一眼就看出它們的光影計算錯陰影投射、光線的明暗。
那麼說那麼多,到底光線追蹤技術是何方神聖呢?所謂的光線追蹤技術,就是採用更加接近真實物理世界光子傳播的方式來計算環境內光線的照射路徑以及與物體碰撞後形成的反射效果,以此計算哪裡明亮、哪裡昏暗、哪裡是被第一次光線反射而照亮的、光線照到這裡然後反射到哪裡跟哪裡……並且根據物體表面的不同材質,反射的光線同樣有明亮而銳利、昏黃而溫和的區分,進而創造出現有條件內最佳、最真實的解決方案。
光線追蹤並非是全新的技術,其基本思路在上世紀晚些時候已經有充分的雛形與發展,今年被提升議程的主要原因是因為硬體的突破而造成這項技術從幕後到幕前的時間被大幅縮短。光線追蹤主要思想是從我們的觀察位置向成像平面上的像素髮射光線,並檢測光線與物體的碰撞(其實就是照射情況),如果交點表面為散射面,則計算光源直接照射該點產生的顏色;如果該交點表面為鏡面或折射面,則繼續向反射或折射方向跟蹤另一條光線,如此往復迴圈,直到光線射出場景或者達到規定計算次數(NVIDIA表示目前的GeForce RTX大多采集50次,而這已經是很大的計算量)。
我們為何需要光線追蹤?
好吧,上面說的似乎有些複雜,能不能直接說光線追蹤技術到底好在哪裡?畢竟不能你說要買我們就必須買,重要得是要知道錢花在哪裡,而這部分內容就需要展開去說,即目前以光柵化框架為渲染基礎的遊戲有哪些缺點,以及光線追蹤技術能夠帶來哪些優點兩部分內容。
1.光線追蹤主要都是NVIDIA在推廣,他們是光線追蹤技術最重要的奠基人(X)
2.光線追蹤技術強無敵,光柵化技術低效還鹹魚還是進博物館吧(X)
3.光線技術就是牛,以後遊戲都堆砌它簡直不能再美(X)
…………
上述言論都是目前一些不嚴謹的認識極端化表現後出現的不全面的、錯誤的觀點,一旦我們交代清楚前因後果,大家都會知道它們錯在哪裡。
(可以這麼通俗認為)話說在圖形技術的上古時期,就好像盤古在蛋中沉睡並甦醒一樣,他發現世界一片混沌,各種各樣的標準、規格漫天都是,他說不行,這不符合基本法,世界要統一,要書同文、車同軌、統一度量衡,於是慢慢地,大家開始使用統一的渲染單元,使用統一的圖形介面,於是大家開始慢慢朝同樣的方向開發遊戲,但是大家都知道在看上去無聊的時代就會出現天才,慢慢地有天才發現,大家應該使用都認可的技術來渲染圖形框架,這樣可以省去時間跟精力,這時候推出的技術就叫做光柵化(這裡向大家推薦由人品與技術都無可挑剔的葉勁峰先生翻譯的《遊戲引擎架構》,數學功底過硬的同學可以自行學習),光柵化技術是目前絕大多數圖形技術的基礎,它最大的積極意義就在於能夠透過較低的硬體開銷實現豐富的效果。
所謂光柵化,就是將三維世界裡的頂點座標“降維”、“拍扁”的過程,即將這些座標表現在二維的顯示器平面當中,成為能夠被顯示的畫素點,它是光線追蹤的基礎,也是高效替代方案,但正因為這是長久以來軟體向硬體效能妥協的結果(姑且就這麼認為罷),光柵化技術雖然能夠以較低的成本繪製豐富的場景,但是因為其本身的原理,在有些時候依然會顯得比較脫離現實,比如光影缺少層次感、空間內僅僅出現“亮、很亮、中等、很暗、暗”的過渡,並且在場景複雜的時候會出現陰影渲染太直、太硬的感覺。
正因為如此,在本世代開始出現各種環境光遮蔽(AO)、螢幕空間反射(SSR)、立體畫素全域性光照(VXGI)技術都是意圖扭轉這種局面,儘可能增強空間內的光影效果,然而現在因為光線追蹤技術的到來,原本高度的Tricky在深層次原理層面得到解決,因為光線追蹤技術本身的原理就是更加貼近物理現實的。
所以說,光線追蹤技術就是能夠更直接、更深度改變遊戲中光影效果生成方式、呈現方式的技術,相比以往在受妥協的框架內的技術,光線追蹤技術能夠極大程度提高光影的真實感、層次感,感受接近真實世界的光影效果。
這裡的反射效果是比較典型而誇張的例子
既然這麼完美,為什麼不早點推出呢?
混蛋!你以為我們不想嗎?你以為全世界的程式設計師、科學家、工程師都是摸魚的嗎?但是閣下的要求實在是……太難實現啊!
因為光線追蹤的原理要求,它需要取樣的光線樣本太多、計算量太大,因為你需要記錄、追溯的光源資訊實在是太繁雜,尤其是考慮到重新整理率,這些對於目前的計算機生態都提出極為苛刻的要求,不單單是需要極高效能的顯示卡、還需要支援充分的作業系統、驅動層支援,是牽一髮而動全身的大工程,為早點讓光線追蹤技術成為能唾手可得的技術,首先是微軟在年初的GDC 2018推出劃時代的DirectX Raytracing,最為DirectX 12標準的一部分存在,並且整合在Windows 10 October Update 2018當中,這才是踏出支援的第一步,讓後面的一切成為可能。
然後是NVIDIA,透過大量工程師的努力,在微架構層面在最新的圖靈顯示卡當中增加為加速光線追蹤效能的專用模組RT Core,再透過聯合遊戲廠商推出專門的最佳化驅動,才讓光線追蹤的體驗出現在我們的面前,而即使是這樣,目前的遊戲當中光柵化框架依然是要堅持不動搖的,準確來說目前是光柵化+光線追蹤共同努力的“混合渲染”,可見光線追蹤技術對於效能的要求到底有多高。
所以針對前面的三點不全面、錯誤的表述,正確的回答應該是這樣的:
1.儘管NVIDIA在開發、推廣光線追蹤方面有重要貢獻,但是微軟的基礎性工作同樣是值得大家關注的
2.低估光柵化框架的潛力是幼稚的,如果是固定的場景配合較高的精力、成本,現有技術依然能夠達到很高的高度
3.以今天的硬體水平,拋棄光柵化的框架是不現實的,更現實的是各有分工的“混合渲染”
4.光線追蹤跟“GeForce RTX”商標之間那並不能劃等號,前者是範圍更大的全集
光線追蹤技術的應用前景如何?
理論上看光線追蹤技術的價值不可忽視,但是實際應用還是要看支援的遊戲。由於我們前面已經解釋的原因,要實現光線追蹤技術需要本身極高的運算效能,而且在微架構層面要有特定的硬體級加速單元(RT Core),所以現在Intel、AMD在這方面都是賬面支援,實際的產品還沒有到來,所以我們唯一能夠觸及的就是NVIDIA GeForce RTX,根據官方八月份公佈的訊息,能夠支援光線追蹤的遊戲共11款,包括《神力科莎(Assetto Corsa Competizione)》、《戰地(Battlefield)V》、《控制(Control)》、《逆水寒(Justice)》、《地鐵(Metro Exodus)》、《古墓麗影:暗影》,看起來雖然不算很多但夠玩是夠玩對不對?
但其實增加光線追蹤技術的難度,準確來說是為遊戲增加GeForce RTX技術的難度比想象得大得多,這本身就是極為複雜的技術,所以原本是今年年底發售的《地鐵(Metro Exodus)》已經跳票到二月份,《古墓麗影:暗影》說好的光線追蹤技術不僅跳票而且連何時出爐都不知道,現在這份承諾可能已經被人遺忘,《逆水寒》尚且沒有具體的時間表,大機率是要到2019年上半年,真正能夠為我們服務的,目前僅有《戰地V》一款遊戲而已,好在寒霜引擎的潛力確實很高,表現力確實很不錯,我們這次就透過這款遊戲來為大家展示光線追蹤的效果,以及相應的硬體需求。
首先來看看單機戰役模式,因為單機戰役模式的節奏是穩定可控的,所以比較容易捕捉精彩鏡頭。我們選擇非裔士兵這關來看看光線追蹤能帶來怎樣的視覺改觀,首先大家可以見到,在開啟光線追蹤後,湖面對岸的火光能夠直接反射到湖中,樹木的倒影更加真實,但是關閉光線追蹤後是什麼都沒有的,沒有火光,樹木的倒影的真實性同樣不如前者。
隨後是走進山中的戰鬥,對面的德軍裝備非常好,直接發射一顆反坦克火箭筒過來,開啟光線追蹤你會發現這顆後端推進的火箭戰鬥部能照亮旁邊的野草,而關閉光線追蹤後唯獨戰鬥部底部的地面能夠被照亮。
最後戰鬥開始,這是一塊有積水的山地,開啟光線追蹤你會發現這片積水的反射效果相當好,不,不能簡單說是好,應該說是精細、豐富,保留有很多樹木、草木的細節,而關閉光線追蹤後睡眠的反射則相當簡單、簡略。
最後再來看看多人模式的表現,我們依然選擇以前對比的鹿特丹地圖,大家可以看到開啟光線追蹤後,最明顯的就是車輛的金屬表面能夠很真實的反射周遭的人物、環境,比如玩家經過的時候能夠看到身體的倒影,還有玻璃櫥窗的反射效果都同樣很真實。
看上去效果很不錯是不是?那麼這背後的效能要求如何呢?其實最初發布的時候《戰地V》光線追蹤效能確實是有待最佳化的,不過經過12月份EA的更新,再配合NVIDIA GeForce驅動的更新,效能已經提升不少,根據NVIDIA官方推薦的效能來看,RTX 2070、RTX 2080、RTX 2080 Ti的效能都提高不少,首先是RTX 2070,作為目前最優價效比的光線追蹤顯示卡,建議是在1080p解析度開啟低(RTX Low),這樣就能實現超過70FPS的表現,而RTX 2080則可以進階到1440p解析度,同樣的RTX Low設定可以跑到66.8FPS,這可是1440p解析度哦,然後就是旗艦顯示卡的RTX 2080,它可以跑1440p解析度、RTX Ultra設定,還能穩穩超過60 FPS,旗艦就是旗艦。
最後, 如果大家還有興趣的話,我可以推薦給大家若干在計算機科學、計算機圖形方面專業性較為突出的知乎使用者關注,相較於普羅大眾的讀者,甚至是大部分編輯來說,這些知乎使用者的知識水平都非常豐富、紮實,相當值得學習(如果你願意的話),老話說與高水平的朋友為伍可以當明鏡,經常學習高水平的使用者同樣避免相當多低水平的爭吵、陰謀論,這些使用者是:
FOXhunthttps | 計算機軟體
Vinjn張靜 | Democratizing Visual Computing
文刀秋二 | 計算機圖形
叛逆者 |計算機軟體
Raymond Fei | 計算機軟體
龔黎明 | 深度學習/計算機視覺/ASIC
安柏霖 | 遊戲引擎架構
大薩比 | 遊戲引擎工程師
Yubo Zhang | 計算機科學