RT代表Real-Time Ray Tracing(實時光線追蹤),RT core是指Turing架構顯示核心GPU裡面的一個支援實時光線追蹤運算的處理器核心。
為了更好的理解英偉達的RTX光線追蹤技術,我們先來了解一下標準化的光線追蹤是怎麼回事。
標準化的光線追蹤(Ray Tracing)
標準化的光線追蹤(raytracing)是以光源為起點定義光線,進而追蹤由此產生的光線與物體表面以及光線與光線之間互動關係的過程。這一技術需要無限多的光線照射在物體表面,透過反射、折射、漫射等途徑進入最終的“攝像機”成像。實現這一過程會有大量光線損失,且需要耗費大量的算力,當前PC的計算能力無法做到。
Nvidia的RTX光線追蹤技術
NVIDIA推出的採用Turing架構RTX 20系顯示卡包括現在絕大多數光線追蹤技術採用的都是逆向思維,即以“攝像機”鏡頭為出發點,反向回溯光線並透過這些光線尋找光源。
可以理解為RTX的光線追蹤是人為定義了射入攝像機的光線總量,透過回溯這些光線反射後以尋找光源,每一個交匯結果都可以被作為是回溯過程中招惹到的光源所發射的光線與物體作用的結果,找不到就丟棄。
這樣做的好處在於光線關係的起點是攝像機,這就造成光線關係與場景可視的幾何資訊存在高度的關聯性和可遍歷性,也就是所有進入不了視野的光線都將被人為的剔除。
另外,光線的實際範圍被約束在了可視場景內,方便光線在回溯過程中的排序以及遍歷,光線的處理過程既可以跟shader過程結合,也可以透過direct compute單獨拿出來做獨立數學步驟,就像deferred shading一樣。
這樣做會極大的加速整個追蹤和交匯檢查過程的效率,我們可以看做是手解高階方程與使用計算機處理的差別。
當然,他的缺點也是不容忽視的,比如這類實時光線追蹤並不是從光源出發,而是從視角的角度出發,無法做到對真實的光線進行真實的遍歷,人為規定了光線的數量以回溯光線的過程,也就意味著整個過程脫離不開人為定義,錯誤的干擾依舊是不精確甚至錯誤的主要原因。但總的來說,實時光線追蹤技術可以讓玩家體驗到更加真實的遊戲場景,光線決定了物體表現的最終紋理,在體驗遊戲真實性上是一次巨大的技術革新。
RT代表Real-Time Ray Tracing(實時光線追蹤),RT core是指Turing架構顯示核心GPU裡面的一個支援實時光線追蹤運算的處理器核心。
為了更好的理解英偉達的RTX光線追蹤技術,我們先來了解一下標準化的光線追蹤是怎麼回事。
標準化的光線追蹤(Ray Tracing)
標準化的光線追蹤(raytracing)是以光源為起點定義光線,進而追蹤由此產生的光線與物體表面以及光線與光線之間互動關係的過程。這一技術需要無限多的光線照射在物體表面,透過反射、折射、漫射等途徑進入最終的“攝像機”成像。實現這一過程會有大量光線損失,且需要耗費大量的算力,當前PC的計算能力無法做到。
Nvidia的RTX光線追蹤技術
NVIDIA推出的採用Turing架構RTX 20系顯示卡包括現在絕大多數光線追蹤技術採用的都是逆向思維,即以“攝像機”鏡頭為出發點,反向回溯光線並透過這些光線尋找光源。
可以理解為RTX的光線追蹤是人為定義了射入攝像機的光線總量,透過回溯這些光線反射後以尋找光源,每一個交匯結果都可以被作為是回溯過程中招惹到的光源所發射的光線與物體作用的結果,找不到就丟棄。
這樣做的好處在於光線關係的起點是攝像機,這就造成光線關係與場景可視的幾何資訊存在高度的關聯性和可遍歷性,也就是所有進入不了視野的光線都將被人為的剔除。
另外,光線的實際範圍被約束在了可視場景內,方便光線在回溯過程中的排序以及遍歷,光線的處理過程既可以跟shader過程結合,也可以透過direct compute單獨拿出來做獨立數學步驟,就像deferred shading一樣。
這樣做會極大的加速整個追蹤和交匯檢查過程的效率,我們可以看做是手解高階方程與使用計算機處理的差別。
當然,他的缺點也是不容忽視的,比如這類實時光線追蹤並不是從光源出發,而是從視角的角度出發,無法做到對真實的光線進行真實的遍歷,人為規定了光線的數量以回溯光線的過程,也就意味著整個過程脫離不開人為定義,錯誤的干擾依舊是不精確甚至錯誤的主要原因。但總的來說,實時光線追蹤技術可以讓玩家體驗到更加真實的遊戲場景,光線決定了物體表現的最終紋理,在體驗遊戲真實性上是一次巨大的技術革新。