NVIDIA OptiX 射線跟蹤引擎是一個可擴展的無縫框架,可在 GPU 上提供最佳的射線跟蹤性能。在今年秋季更新英偉達 OpTIX SDK ,開發人員將能夠利用新的編譯技術,和優越的分層和時間去噪處理更多的射線跟蹤工作負荷,更快。
更快的編譯時間
NVIDIA OptiX 7. 4 附帶了一項新功能,支持包含多個函數的 OptixModule 對象的并行編譯。工作被表示為從 API 返回的任務對象,可以并發執行以實現并行性。當發現并行機會時,將返回其他任務。線程在 NVIDIA OptiX 之外通過從應用程序管理的線程執行任務來處理。該應用程序可以更容易地將并行工作集成到現有的作業調度器中。
改進的定制和性能
NVIDIA OptiX 7.4 已將光線有效載荷的大小從 8 個寄存器增加到 32 個寄存器。有效負載寄存器是 NVIDIA OptiX 提供的機制,用于從跟蹤光線的調用方傳遞任意數據以及光線。這種有效負載機制非常輕量級,類似于向函數傳遞參數。有效負載的有限大小迫使許多人使用本地甚至全局內存緩沖區來傳遞光線數據,這可能會對性能產生負面影響。
新的有效負載大小提供了更多種類的應用程序,以便能夠利用僅使用寄存器傳遞數據的優勢。使用更多寄存器會增加寄存器壓力,并可能導致內存溢出,因此新的 NVIDIA OptiX 7 . 4 有效負載增加還附帶了新的 API 函數。這將幫助開發人員優化有效負載的使用。新的 API 允許您聲明如何使用有效負載值,以便編譯器有機會盡可能重用寄存器。
曲線添加和優化
我們還引入了一個新的曲線原語: Catmull-Rom 三次曲線。這種類型的曲線是直接通過其控制點的插值曲線的一種流行樣式,用于在需要精度控制時微調曲線的放置。 Catmull Rom 曲線是電影和游戲行業頭發、毛皮和其他曲線用途的流行選擇。 NVIDIA OptiX 已經支持的其他曲線類型是三次和二次 B 樣條曲線以及線性曲線。 B 樣條曲線是一種近似曲線,比 Catmull Rom 曲線稍微平滑,但通常也不會直接通過其控制點。
除了新的曲線原語外, NVIDIA OptiX 還添加了一個選項,用于控制三次曲線和二次曲線的端點是開放的還是封閉的。為了避免著色器發散(與 endcap 法線的特殊情況處理有關),需要使用開放式曲線。 NVIDIA OptiX 曲線當前是背面消隱的,因此通過曲線開口端進入的光線將完全錯過曲線。開放式曲線是常見的和可取的,而且性能更好。 NVIDIA OptiX 7.4 將三次曲線和二次曲線的默認端蓋行為更改為開放式。
以前,這些曲線具有扁平閉合的圓盤形端蓋,這對于需要仔細控制光線曲線行為或防止光線通過曲線的應用程序有時非常有用。為了節省內存, B 樣條曲線和 Catmull Rom 曲線沿連接的線束段共享控制點。
說到節省內存, NVIDIA OptiX 7 . 4 啟用了曲線自適應采樣,這在默認情況下既減少了內存又提高了性能。對于擁有數百萬條曲線的毛茸茸的生物來說,內存使用是至關重要的。對于最注重性能且內存可用的生物來說,使用構建標志 OPTIX \ u build \ u flag \ u prefere \ u FAST \ u TRACE 可以更快地渲染曲線。自適應采樣使用的內存比以前稍微多一些(大約 10% ),以換取渲染性能平均提高 25%-50% ,甚至在我們的一些測試中提高 70% 。
兩個主要的去噪功能結合在一起
NVIDIA OptiX 7.4 中的去噪器在質量和速度上不斷提高。有了這個版本的 NVIDIA OptiX ,開發人員可以結合前面兩個主要的去噪功能升級: AOV (或分層)去噪和時間去噪。 AOV 去噪是同時對多個任意渲染層進行去噪的功能,與單獨對每個層進行去噪相比, AOV 去噪具有更好的效率。此外,同時對多個層進行去噪可以顯著提高質量,因為所有層的去噪濾波器選擇保持一致。這意味著,一旦將層重新組合在一起,可以看到較少的去噪偽影。
對單獨的層進行去噪會導致為每個層獨立選擇不同的過濾器,并且會使某些層更容易出現可見的瑕疵。這對于非常稀疏的層尤其如此,例如大部分為空的鏡面反射過程。時間去噪是 NVIDIA OptiX 7.3 的一項新功能,它可以在動畫幀序列中保持幀間去噪的一致性。如果單獨對幀進行去噪,它們可能看起來很不錯,但是當您對它們進行動畫播放時,通常會出現閃爍的瑕疵,因為去噪器會對每個幀進行獨立的選擇。時間 AOV 去噪在一個包中為您提供了兩個功能—在不同層和動畫序列中的去噪一致性。
隨著需求量的增加,規模不斷擴大
NVIDIA OptiX 中的 demand loading library 具有緩存逐出功能,用于動態替換緩存的磁貼,以節省更多內存。團隊正在尋求需求加載庫中的這個新功能的反饋,所以如果你使用它,請通過我們的英偉達論壇here或通過電子郵件來訪問,讓 Nvidia OpTIX 團隊知道它對你的工作有多好。將按需加載庫逐出功能帶到生產就緒狀態,并計劃在未來版本的 NVIDIA OptiX 中進行其他改進。
關于作者
Tony Kanell 是 NVIDIA OptiX 團隊的項目經理。托尼的職業生涯始于電子藝術公司的軟件工程師,致力于模擬人生等 AAA 級游戲。在與一家由 WME 支持的創意機構合作創辦新游戲工作室之前,他在該公司擔任管理職務,并領導了幾個項目。在與 Nickelodeon 、孩之寶、 Universal 、 Laika 和多個原創 IP 成功發布和合作發布后,他加入了 NVIDIA 的 OptiX 團隊,在那里他幫助團隊完成了多個發布。
審核編輯:郭婷
-
NVIDIA
+關注
關注
14文章
5059瀏覽量
103413 -
gpu
+關注
關注
28文章
4762瀏覽量
129151
發布評論請先 登錄
相關推薦
評論