在 GTC 2020 秋季站上,NVIDIA 推出開(kāi)發(fā)者 SDK,RTX Direct Illumination (RTXDI),用于支持并加速大量光源的動(dòng)態(tài)直接照明和陰影渲染。
RTXDI 利用光線追蹤功能打破了傳統(tǒng)光柵化流程中常見(jiàn)的藝術(shù)表現(xiàn)力方面的束縛。借助 RTXDI,藝術(shù)家可以充分發(fā)揮想象,無(wú)需考慮光照復(fù)雜性或陰影貼圖成本。場(chǎng)景中的所有光源都可以動(dòng)態(tài)移位、打開(kāi)或關(guān)閉、變換顏色,并投射出正確的陰影和光線。要啟用光源,請(qǐng)把自發(fā)光屬性添加到表面材質(zhì)。性能在很大程度上已與光照復(fù)雜性解除關(guān)聯(lián),因此,RTXDI 可以從一個(gè)光源無(wú)縫擴(kuò)展至數(shù)百萬(wàn)個(gè)光源。
功能
RTXDI 的主要功能包括:
動(dòng)態(tài)移動(dòng)所有光源并與動(dòng)態(tài)幾何體交互
提供來(lái)自各類基本光源,包括由三角形面光源、點(diǎn)光源、矩形面光源、球面光源、柱面光源和環(huán)境映射組成的模型光源
支持自發(fā)光紋理和 IES 配置文件(如適用)
動(dòng)態(tài)添加、移除、合并或拆分光源幾何體。
RTX GPU 出色的性能可擴(kuò)展性,可從一個(gè)光源擴(kuò)展至數(shù)百萬(wàn)個(gè)
不需要預(yù)計(jì)算或烘焙
與 RTXGI 集成使用
使用專為 RTXDI 設(shè)計(jì)的 ReLAX 降噪器;與通用實(shí)時(shí)降噪器(如 SVGF)兼容
提供完整源代碼,便于集成和定制
可在任意 GPU 上運(yùn)行,具有硬件加速的光線追蹤功能
長(zhǎng)期來(lái)看,RTXDI 是一系列出色研發(fā)工作的成果,令這種靈活而強(qiáng)大的光線追蹤得到了應(yīng)用。初始版本建立在最近發(fā)布的關(guān)于基于樣本池的時(shí)空重要性重采樣 (ReSTIR) 的研究的基礎(chǔ)上,其中包括各種改進(jìn),大大提升了魯棒性和性能。
素材影響
RTXDI 應(yīng)與現(xiàn)有素材和流程輕松集成。RTXDI 僅假設(shè)如下:
自發(fā)光表面的材質(zhì)屬性包含一項(xiàng)易于估算的發(fā)光強(qiáng)度
列舉自發(fā)光模型和基本光源(球面、矩形面等)并提供給 RTXDI。
一張已有的 G-buffer,其中包含必要的數(shù)據(jù),用于對(duì)光源與屏幕像素的任意組合進(jìn)行材質(zhì)和光照的估算。
提供給 RTXDI 的任何自發(fā)光表面都會(huì)自動(dòng)照亮周?chē)沫h(huán)境。只要提供一套合適的采樣函數(shù),您可以輕松添加尚未支持的基本光源
技術(shù)背景
真實(shí)感渲染需要對(duì)每個(gè)像素求解一次渲染方程,結(jié)合入射光,以確定有多少反射光會(huì)進(jìn)入相機(jī)。對(duì)于直接照明,積分會(huì)轉(zhuǎn)化為所有光源的總和。因此,計(jì)算像素的直接照明需要查詢每個(gè)燈光并測(cè)試其可見(jiàn)性。遺憾的是,這與光源數(shù)量為線性擴(kuò)展關(guān)系。
現(xiàn)代引擎使用分區(qū)光源剔除潛在可見(jiàn)集和類似技術(shù),通過(guò)逐像素剔除光源來(lái)降低成本。但是,動(dòng)態(tài)可見(jiàn)性依賴于每幀重新計(jì)算陰影貼圖。這在現(xiàn)代引擎中開(kāi)銷龐大,且不能擴(kuò)展到多個(gè)光源。除了烘焙光貼圖中的靜態(tài)陰影和一些主光源以外,當(dāng)今游戲中的其他發(fā)光體通常提供只在局部反彈的光照,且忽略可見(jiàn)性。
設(shè)想一下,包含數(shù)百個(gè)復(fù)雜面光源的照片和渲染。任一像素中有多少陰影是可見(jiàn)的?在帶圓圈的區(qū)域中,直觀的感受是“沒(méi)有”,盡管此處到場(chǎng)景中各個(gè)光源的可見(jiàn)性十分復(fù)雜。
在較大的圖像中,將這個(gè)問(wèn)題推廣到“像素中可感知的最大陰影數(shù)量是多少?”答案是很少,這表明您可以僅測(cè)試幾個(gè)可感知的重要光源的可見(jiàn)性,而無(wú)需查詢所有光源的可見(jiàn)性。但是,有一條重要警告,即這組重要光源隨像素而變化。所有光源都可能會(huì)在某處投射重要陰影,這意味著,采用光柵化時(shí),我們?nèi)孕枰泄庠吹年幱百N圖。
然而,光線追蹤器可以跟蹤每個(gè)像素的唯一陰影光線。這樣一來(lái),問(wèn)題就演變?yōu)椤靶枰男╆幱安樵儯约叭绾渭右宰R(shí)別?”,對(duì)于大多數(shù)數(shù)值積分來(lái)說(shuō),“使用哪些采樣”的答案通常是“使用好的重要性采樣。”
重要性重采樣
為得到好的重要性采樣,我們創(chuàng)造了名為重(chóng)采樣重要性采樣 (RIS) 技術(shù),由 Talbot et al 最先提出。RIS 提升了樣本質(zhì)量,就像降噪器提升了畫(huà)質(zhì)一樣。ReSTIR 引入的時(shí)空重用突出了這一優(yōu)勢(shì),讓相鄰像素和先前幀能夠有效地指導(dǎo)去何處選擇質(zhì)量更好的陰影光線。這使得成本低廉、易于定義的采樣分布適合用作快速 GPU 執(zhí)行的輸入,實(shí)現(xiàn)了 RIS 和 ReSTIR 對(duì)質(zhì)量的提升。
長(zhǎng)期以來(lái),過(guò)濾所依據(jù)的便是觀察附近像素是否具有相似顏色。時(shí)間抗鋸齒、圖像去噪和放大都使用此觀察來(lái)幫助填補(bǔ)缺失的細(xì)節(jié)。重要性重采樣技術(shù)讓此觀察更進(jìn)一步,例如,附近的像素應(yīng)該使用相似光源樣本。實(shí)際上,ReSTIR 篩選采樣分布(在照明之前)以選擇高質(zhì)量的陰影光線。這大大減少了所需的光線預(yù)算。
從數(shù)學(xué)的角度來(lái)看,重采樣技術(shù)以開(kāi)發(fā)者控制的任意方式重構(gòu)了光照方程。您可以使用此控制方式來(lái)對(duì)計(jì)算進(jìn)行重新排序,降低成本高昂的操作(如光線跟蹤)的發(fā)生頻率。
您還可以將此控制方式用于其他方面,例如重新排序計(jì)算,以減少整個(gè)照明過(guò)程中的訪存不一致和代碼分支的情況。諸如 ReSTIR 的重采樣的一個(gè)具有吸引力的特性是它在復(fù)雜程度波動(dòng)較大的場(chǎng)景中使用恒定數(shù)量的光源樣本,提供了出色的可擴(kuò)展性。然而,代碼和訪存分支也會(huì)在復(fù)雜性不斷增加的同時(shí)導(dǎo)致成本攀升,例如,隨駐留在 L1、L2 或全局內(nèi)存中光源的變化而變化。RTXDI 引入了額外的重采樣來(lái)重新排序計(jì)算,可在光源類型和數(shù)量起伏較大的場(chǎng)景中令照明成本保持近乎不變。
集成注意事項(xiàng)
由于 RTXDI 充當(dāng)質(zhì)量放大器,改善了選定的陰影光線,因此可以通過(guò)各種方式集成到引擎中。
在簡(jiǎn)單的形式中,RTXDI 取代了引擎的直接照明系統(tǒng),包括與剔除和識(shí)別重要光源、陰影貼圖和環(huán)境光遮蔽相關(guān)的所有成本。在設(shè)計(jì)方面,其可以自然地將樣本局限到可見(jiàn)光源,并提供面光源投射的具有接觸硬化的軟陰影、點(diǎn)光源和平行光的硬陰影以及大型半球光源的環(huán)境光遮蔽。
當(dāng)然,它可以在現(xiàn)有引擎功能的基礎(chǔ)上增加可擴(kuò)展性。例如,給定一個(gè)大場(chǎng)景和一組潛在可見(jiàn)光源,RTXDI 可以只從已知可見(jiàn)的光源中選擇陰影光線。就質(zhì)量而言,這通常要比標(biāo)準(zhǔn)的 RTXDI 更加出色,但會(huì)繼承了任何底層數(shù)據(jù)結(jié)構(gòu)的限制。
您還可以控制利用哪些計(jì)算來(lái)改進(jìn)采樣。例如,我們的原型使用完整材質(zhì)模型,以便從附近像素中獲得效果出色的復(fù)用。然而,在某些情況下,進(jìn)行完整材質(zhì)的估值會(huì)導(dǎo)致開(kāi)銷過(guò)高,例如多層或復(fù)合模型的情況。這時(shí),可以使用近似的簡(jiǎn)單材質(zhì)來(lái)驅(qū)動(dòng)重采樣。
結(jié)束語(yǔ)
RTXDI 封裝了一個(gè)簡(jiǎn)單、穩(wěn)定且功能強(qiáng)大的時(shí)空重要性重采樣實(shí)現(xiàn),可支持含有大量光源的復(fù)雜、動(dòng)態(tài)照明。它對(duì)您的引擎限制較小,既可以選擇替換現(xiàn)有照明解決方案,也可以在現(xiàn)有方案的基礎(chǔ)上進(jìn)行構(gòu)建。
這種光源采樣的統(tǒng)計(jì)方法消除了傳統(tǒng)光柵引擎中的諸多限制。藝術(shù)決策不應(yīng)再圍繞有限的一組十幾個(gè)或更少的光源開(kāi)展。所有光源都應(yīng)得到平等對(duì)待!
關(guān)于作者
Chris Wyman 是 NVIDIA 實(shí)時(shí)渲染研究組的主要研究科學(xué)家,他研究了各種問(wèn)題,包括照明、陰影、全局照明、 BRDFs 、采樣、濾波、去噪、抗鋸齒,以及如何有效地構(gòu)建 GPU 算法和數(shù)據(jù)結(jié)構(gòu)來(lái)解決這些問(wèn)題。在 NVIDIA 之前,他是愛(ài)荷華大學(xué)的副教授。他擁有猶他大學(xué)的博士學(xué)位和明尼蘇達(dá)大學(xué)的學(xué)士學(xué)位。
審核編輯:郭婷
-
NVIDIA
+關(guān)注
關(guān)注
14文章
5038瀏覽量
103309 -
gpu
+關(guān)注
關(guān)注
28文章
4754瀏覽量
129100
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論