就在剛剛,隨着新一輪驅動更新,GeForce GTX 1060 6GB以上的帕斯卡架構顯卡正式加入光線追蹤技術陣營。這意味着擁有GeForce GTX 1060 6GB以上顯卡的小夥伴不用升級到GeForce RTX 20系列顯卡,也可以開啓一定的光線追蹤效果。

  但RTX 20系列與GTX 10系列之間在物理結構上存在着巨大差距,其中之一便是採用圖靈架構的RTX 20系列顯卡擁有RT Core加速光線追蹤。那麼GTX 10系列是如何實現光線追蹤?能實現到什麼程度?本文將會進行解答。

  加了實時光線追蹤效果的《雷神之錘II》

  DXR的野望

  早在去年GDC遊戲開發者峯會上,微軟宣佈將DirectX Raytracing融入DirectX 12中,也就是我們常說的DX12 DXR。從那一刻開始,光線追蹤從傳統的離線渲染轉入實時渲染變成了可能。

  如今微軟DirectX API遵循一套機制,就是將軟件、遊戲層面與硬件隔離,也就是說遊戲本身實際上不知道自己跑在什麼硬件上,它們只需要遵守微軟DirectX的規則,就能調用新特效。這也是爲什麼新推出的3A大作通常只支持Windows 10系統,很大原因在於DirectX 12完全體僅能在Windows 10上運行。雖然近期微軟博客有放出風聲會反向移植DX12到Windows 7以支持《魔獸世界》更新,但僅是個例,不會影響主流3A遊戲在Windows 10上運行的格局。

  遊戲們不需要知道使用了什麼硬件,那麼任何顯卡支持光線追蹤在理論上都是有可能的。但當視角換成硬件與DirectX API之間,卻沒有這麼簡單。微軟DXR雖然沒有明確硬件應該如何運作,但指明瞭硬件應該具備哪些特性,並允許廠商將函數功能以黑盒子硬件的方式實現,這套做法讓GPU廠商有了使用自己方式實現功能的可能性。

  在DXR下,光線追蹤提供了兩種執行方案,分別是Compute-base Path和DXR API Path。顧名思義,Compute-base Path是在DXR框架下使用通用計算單元來進行光線追蹤。GeForce GTX 10系列就是利用這一套方式。

  另外一套執行方案DXR API Path,則是使用DXR框架的硬件加速電路在GPU上執行光線追蹤,在GeForce RTX 20系列上,這套硬件加速電路就是RT Core。

  無論哪一套執行方式,都會把光線追蹤拆分成三個動作,分別是:射線的生成,找出射線與場景物體交匯點的求交測試,以及對交匯點進行着色計算。其中,第二步求交測試是最耗時的操作,對於簡單場景來說,75%的耗時都花費在了光線和場景物體的求交計算上,在更復雜的場景中,這類操作的耗時會高達95%,求交計算的耗時與場景中涉及的物體數量直接相關。

  這套技術最終迴歸到了玩家們都很清楚的道理:遊戲場景越複雜,光線追蹤操作越多,幀數越低。

  因此如果要沒有RT Core加速的GeForce GTX 10系列實現光線追蹤,靠着色器硬抗不會有好結果。這時候,一套光線追蹤的分類方案就此誕生了。

  光線追蹤的5套方案

  將光線追蹤實現質量分級其實不太確切,事實上在接下來提到的5套光線運行模式中包含了對不同元素的取捨,並且可以相互疊加,最終實現不同效果的光線追蹤效果。

  反射Reflections

  通過實時光線追蹤完成對光源的單次反射,光線主要涉及到物體表面。全局BVH都會有所響應,以換取較爲逼真的光照效果。根據不同材質,算法上也會進行壓縮,以換取性能。

  多說一句,BVH(Bounding Volume Hierarchy包圍盒層級)是實時光線追蹤技術採用的加速結構,簡單的說對物體進行逐一分類,並不斷層層遞進,最後具體到每一需要處理的三角形。

  其實在離線渲染時代,開發者會建立一套鏡面模型,以實現單次反射效果,只不過相對實時光線追蹤會不太自然。

  二次反射Advanced Reflections

  真實世界中的自然光線是存在折射、反射和漫反射的。這也是實時光線追蹤要追求的真正效果。這是所有顯卡噩夢的開始,它不但包含全局BVH響應,每一個三角形之間還會考慮到折射、反射的效果。

  從實際的遊戲和Demo證明,如果沒有RT Core運算,和Tensor Core進行DLSS加速,大多數顯卡流暢度難以得到保證。

  全局光照Global Illumination

  自然世界中,材質不同所產生的反射,漫反射效果也不會只有一個方向。全局光照將會體現出一道光源照射到物體後反射、折射、焦散等自然光效。配合二次光效,就是大多數顯卡噩夢中的噩夢。

  陰影Shadows

  由於光線漫反射,陰影也不可能只有一種亮度,它會考慮到數個光源以及光源類別,執行全局BVH。

  環境光遮蔽Ambient Occlusion

  實時光線追蹤技術中的環境光遮蔽會考慮到數個光源,以及局部BVH,主要目的仍然是改善場景中物體漏光、陰影不切實際等效果,並使得畫面更有層次感。

  上述的5套方案之間可以單一選擇,也可以相互疊加,取決於遊戲對光源和特效的選擇方案,疊加越多,實現效果也解決自然。相反,屏蔽掉一定效果,讓GeForce GTX 10系列顯卡吃到實時光線追蹤的甜頭,也能讓實時光線追蹤技術有機會普及到更多遊戲中。

  當然對於絕大多數玩家而言,將遊戲畫質設置交給GeForce Experience調整,免費獲得相對真實的自然光照效果,無論怎麼算都不會吃虧。

相关文章