英偉達(dá)圖靈顯卡的TSS可在兩個(gè)方面可以對(duì)虛擬現(xiàn)實(shí)帶來幫助
英偉達(dá)的圖靈架構(gòu)最先登陸面向工作站的Quadro RTX系列,然后通過GeForce RTX 2000系列登陸消費(fèi)者市場。圖靈顯卡是當(dāng)前最先進(jìn)的GPU之一,并提供了大量的全新圖形,計(jì)算和AI功能。
英偉達(dá)的工程師Henry Moreton和Nick Stam日前介紹了圖靈顯卡的一項(xiàng)全新著色功能:紋理空間著色(Texture Space Shading;TSS),并特別提到TSS在兩個(gè)方面可以對(duì)虛擬現(xiàn)實(shí)帶來的幫助。他們指出,“對(duì)于像VR這樣需要大大提高圖像質(zhì)量,不能出現(xiàn)鋸齒偽影和瞬時(shí)閃爍的應(yīng)用而言”,TSS能夠?qū)崿F(xiàn)的時(shí)間穩(wěn)定性十分重要。
與此同時(shí),對(duì)于高質(zhì)量的VR而言,系統(tǒng)需要以90fps的速度為兩個(gè)眼睛渲染相同的情景兩次。兩個(gè)渲染情景幾乎完全一樣,只是瀏覽角度有所不同(這樣可以產(chǎn)生三維立體效果)。英偉達(dá)表示,借助TSS,系統(tǒng)只需渲染一個(gè)視圖,然后可以將其作為第二個(gè)視圖的基礎(chǔ),并只渲染在第一個(gè)視圖中被遮擋的對(duì)象,從而能夠大大降低所需的計(jì)算量。
對(duì)于英偉達(dá)的這篇博文,映維網(wǎng)進(jìn)行了具體的整理,希望可以幫助你進(jìn)一步理解紋理空間著色對(duì)虛擬現(xiàn)實(shí)的幫助:
圖靈顯卡新增了一項(xiàng)名為紋理空間著色(Texture Space Shading;TSS)的著色功能,其中系統(tǒng)將動(dòng)態(tài)計(jì)算著色值,并將其作為紋理空間中的紋素存儲(chǔ)在紋理中。接下來,系統(tǒng)對(duì)像素進(jìn)行紋理映射,其中屏幕空間中的像素將映射至紋理空間,并使用標(biāo)準(zhǔn)紋理查找操作對(duì)相應(yīng)的紋素進(jìn)行采樣和過濾。通過這項(xiàng)技術(shù),我們能夠以完全獨(dú)立的速率和一個(gè)單獨(dú)的(解耦)坐標(biāo)系統(tǒng)對(duì)可見性和外觀進(jìn)行采樣。借助TSS,開發(fā)者可以(重新)使用在解耦著色空間中完成的著色計(jì)算,從而同時(shí)提高質(zhì)量和性能。
開發(fā)者可以使用TSS來利用空間和時(shí)間渲染冗余。通過將著色與屏幕空間像素網(wǎng)格分離,TSS可以實(shí)現(xiàn)high-level的幀到幀穩(wěn)定性,因?yàn)橹恢貌粫?huì)在一幀和下一幀之間移動(dòng)。對(duì)于像VR這樣需要大大提高圖像質(zhì)量,不能出現(xiàn)鋸齒偽影和時(shí)間微光的應(yīng)用而言,這樣的時(shí)間穩(wěn)定性非常重要。
TSS具有內(nèi)在的多分辨率靈活性,而這是繼承自紋理貼圖的MIP-map層次結(jié)構(gòu)或圖像金字塔。當(dāng)對(duì)像素進(jìn)行著色時(shí),開發(fā)者可以將映射調(diào)整為紋理空間,選擇MIP級(jí)別(細(xì)節(jié)級(jí)別),從而對(duì)著色率進(jìn)行精細(xì)控制。由于位于細(xì)節(jié)底層的紋素較大,因此它們覆蓋了較大的對(duì)象部分,而且可能覆蓋多個(gè)像素。
TSS能夠記住已經(jīng)著色的紋素,并且只著色新請(qǐng)求的紋素。著色和記錄的紋理可以重復(fù)用于服務(wù)同一幀,相鄰場景,或后續(xù)幀中的其他著色請(qǐng)求。通過控制著色率并重新使用先前著色的紋素,開發(fā)者可以管理幀渲染時(shí)間,并維持VR和AR等應(yīng)用程序的固定時(shí)間預(yù)算。開發(fā)者可以使用相同的機(jī)制來降低已知低頻現(xiàn)象的陰影率,如霧。能夠記住著色結(jié)果的正面作用可以擴(kuò)展到頂點(diǎn)著色器和計(jì)算著色器,以及一般計(jì)算。TSS架構(gòu)可用于記住和重復(fù)使用所有復(fù)雜計(jì)算的結(jié)果。
1. TSS的機(jī)制
圖1是傳統(tǒng)的光柵化和著色過程。系統(tǒng)對(duì)3D場景進(jìn)行柵格化,并轉(zhuǎn)換為屏幕空間中的像素。像素會(huì)接受可見性的測試,為外觀而進(jìn)行著色,并進(jìn)行深度測試。操作都發(fā)生在同一像素上的同一屏幕空間像素網(wǎng)格上。
可見性采樣(光柵化和z-testing)和外觀采樣(著色)這兩個(gè)主要操作可以與TSS解耦,并以不同的速率,在不同的采樣網(wǎng)格上,甚至在不同的時(shí)間線上執(zhí)行。著色過程不再直接與屏幕空間像素相關(guān)聯(lián),而是發(fā)生在紋理空間中。根據(jù)圖2,幾何體仍然會(huì)進(jìn)行柵格化以產(chǎn)生屏幕空間像素,而可見性測試仍然在屏幕空間中進(jìn)行。但是,我們可以看到紋素需要覆蓋輸出像素,而不是在屏幕空間中著色。
換句話說,屏幕空間像素的覆蓋區(qū)域?qū)⒂成涞絾为?dú)的紋理空間中,并且著色紋理空間中的相關(guān)紋理像素。映射到紋理空間是一種標(biāo)準(zhǔn)的紋理映射操作,對(duì)LOD和各向異性過濾等提供相同的控制。為了產(chǎn)生最終的屏幕空間像素,我們從著色紋理中進(jìn)行采樣。紋理是根據(jù)樣本請(qǐng)求按需創(chuàng)建,僅為引用的紋素生成值。
2. 對(duì)VR的用例
TSS的一個(gè)示例用例是,它可以提高VR渲染的效率。圖3說明了VR渲染中TSS的用例。VR需要渲染一對(duì)立體影像,左眼中可見的幾乎所有元素也將顯示在右眼視圖中。借助TSS,我們可以對(duì)整個(gè)左眼視圖進(jìn)行著色,然后通過對(duì)左眼視圖進(jìn)行采樣來渲染右眼視圖。在沒有找到有效樣本的情況下(例如,左眼視圖無法看到,但右眼可見的背景對(duì)象),右眼視圖僅需要對(duì)新紋理元素進(jìn)行著色。
如前所述,借助TSS,你可以通過調(diào)整紋理LOD來動(dòng)態(tài)地和連續(xù)地控制每像素著色率。通過改變LOD,我們可以根據(jù)需要選擇不同的紋理MIP級(jí)別,從而減少著色紋理像素的數(shù)量。請(qǐng)注意,這意味著TSS的采樣方法也可用于由圖靈可變速率著色功能(Variable Rate Shading feature;VRS)提供支持的一系列相同的著色速率降低技術(shù)。哪種方法最適合開發(fā)者將取決于他們的目標(biāo)。VRS對(duì)渲染管道的權(quán)重變化較輕,而TSS具有更大的靈活性并支持其他用例。