時間:2018-03-20 來源:互聯網 瀏覽量:
其實在昨天報道傳聞中NVIDIA將要公布非常先進,甚至是超前的光線追蹤技術的時候,我就有些在心理畫問號:如果說普及的話,這種幾乎不可能在今天全麵實現的就似乎是如何突然忽然直接實現的?尤其是在昨天那副海報當中,隨同NVIDIA RTX技術一起出現的還有神秘的“DXR”。如果說構圖的話,似乎NVIDIA RTX技術隻是“DXR”的一副拚圖,其實我相信所有人在看到“DX”的時候都會想到Microsoft DirectX,但是“R”是什麼?Raytracing?今天早些時候,就在舉辦的舊金山的GDC 2018,微軟終於公布一枚可以說屬於二十一世紀第二個十年的超級核彈:DirectX Raytracing。
Go Empower Us All
往常微軟要介紹新功能都是放在Windows Blog,或是其他新聞板塊,但是今天這份關於DirectX Raytracing的介紹是刊登在MSDN板塊的,而且發布後,AnandTech、ArsTechnica都隨後集中報道,此外包括EA、Remedy Entertainmnet都發布基於自身引擎的光線追蹤Demo,來勢之洶洶絕對少見。我們先來看看微軟MSDN的介紹文章,第一段就是“3D Graphics is a Lie”,而且首先就是從過去幾十年來開發遊戲使用光柵化開始說起,頗有一副舊世界要被打個落花流水、新世界已經冉冉升起的氣勢。考慮到我們的讀者群體中圖形大牛眾多,這裏不班門弄斧。隨後繼續介紹的是在千禧年後開始大量使用的法線貼圖(Normal Mapping)和視差貼圖(Parallax Mapping),這些都讓我們的遊戲畫麵的表層能實現更加真實、更加多變、更符合生活經驗的貼圖。但在並不長的時間裏,遊戲開始慢慢使用“不可持續發展”的優化技術,比如說陰影貼圖(Shadow Mapping)允許離屏物體在屏幕內生成像素。再到今天,我們常見的屏幕空間反射(Screen Space Reflection),還有神龍見首不見尾的全局光照(Global Illumination)正在挑戰目前這個光柵化框架的極限,當然他們都是可以利用某些遊戲設計,或是新生技術取巧地解決, 渲染技術需要的Full 3D數據隻會越來越多。
這就像是傳統演藝當中常見的設定,經典的世界已經取於崩潰的邊緣,需要傳說中的天選之子要麼去開創新的世界,要麼為經典的世界帶來擴展資料片來續命。而微軟很顯然就是被選中用來驅散經典世界天空烏雲的人,而DirectX Raytracing,作為DirectX 12的最新特性,將會勇敢地踏入目前的光柵化框架和明天的Full 3D中間的縫隙,為今天的世界帶來更多注解。通過實現Full 3D的遍曆(Traversal),DirectX Raytracing可以讓今天的很多技術,比如前文提到的屏幕空間反射,以遠遠超過今天的效率,更加自然填補光柵化框架內達不到的地步。同時作為催化劑,為相當多的、全新的、以往從來無法在遊戲當中技術敞開大門。
DirectX Raytracing包括4項全新的DirectX 12 API:Acceleration Structure(加速結構),可以優化光線遍曆。DispatchRays(調度光),這是光效追蹤的起點,同時還是遊戲通過DirectX Raytracing向GPU通信的位置。同時還有一係列的HLSL著色器,包括Ray-Generation、Closest-Hit、Any-Hit、Miss,這部分是描述光線追蹤是如何運算的。最後是Raytracing Pipeline State(光線追蹤管線)。雖然看上去很複雜,但是DirectX Raytracing並不需要額外的、全新的DirectX 12 Engine,這是微軟團隊有意為之的,目的就是就讓目前能夠良好支持DirectX 12的顯卡都能支持好DirectX Raytracing,所以目前支持DirectX12良好的Unreal、Unity、Frostbite都可以很到位的直接支持。事實上升級到Windows 10 秋季創意者更新的用戶可以通過開發者實驗模式搶先體驗。
我們在前文說過DirectX Raytracing在描述上看,將會作為目前光柵化框架內的接近特別解的存在,就好像《黑客帝國》當中的Neo,可以在框架內提高很多特效的表現力並推至極限。在MSDN的文章中,我最興奮的就是這麼一段:”DirectX Raytracing目前將會作為現有渲染技術的補充,因為Full 3D數據的使用,將會對現有的視覺效果帶來極高程度的提升(Material Increase)。更重要的是,我們期待在未來緊接著的若幹年,隨著DirectX Raytracing的使用慢慢增加,我們能看到一些在目前光柵化框架內完全不切實際的技術被投入利用,比如全局光照。最後,DirectX Raytracing或許會取代目前的光柵化,成為業界渲染環節的算法標準。
而幾乎就在同時,NVIDIA通過和微軟的合作,公布他們自己的RTX技術,也就是昨天我們報道過的GameWorks庫新成員,這將是實時的、能夠提供電影化質量的光線追蹤技術。NVIDIA稱其是自己在過去十年在圖形算法和GPU架構的研究精華。不過雖然是緊跟微軟的DirectX Raytracing,NVIDIA在日誌中說是運行在最新的Volta架構,所以之前的Pascal或許不會支持,或者是部分支持。當然,效果都是實現更好的光照、陰影和反射效果。
其實就今天上午來說,展出的效果還是比較少的,我在Youtube搜索一圈,隻有EA SEED,還有Remedy Entertainment有發布自己的Demo,不過既然GDC 2018已經開始,可以想見的是未來還有非常多的新聞、展示公布,大家尤其可以緊跟Unreal、Unity、4A Games、EA,他們都很有可能展出自己基於光線追蹤原理製作的Demo,而且我今天在找資料的時候還看到有Futuremark的影子,如果3DMark裏麵可以加入這項特性的話,那會非常讓人興奮。