0
雷鋒網(wǎng)按:本文作者為 NVIADIA AR & VR 研究小組的科學(xué)家 Morgan McGuire,在本文中,他詳細介紹了電影、游戲的圖像渲染,與現(xiàn)在 VR 圖像渲染的不同之處,以及 VR 在圖像渲染方面臨的挑戰(zhàn)。同時,他還講述了英偉達如何通過 GPU 和相關(guān)軟件,來解決這些問題的。這是文章的第一部分,雷鋒網(wǎng)編譯如下。
作者介紹:Morgan McGuire 博士是 NVIADIA AR & VR 研究小組的科學(xué)家。他在 Activision 和 THQ的系列游戲 Skylanders、Call of Duty、Marvel Ultimate Alliance 和 Titan Quest 制作中都有所貢獻。Morgan 還是 Graphics Codex 和 Computer Graphics:Principles & Practice 的共同作者。同時,他也在滑鐵盧大學(xué)和威廉姆斯學(xué)院擔(dān)任教職。
NVIADIA Research 的研究遍布全球,我們的科學(xué)家和當(dāng)?shù)氐拇髮W(xué)都有著密切合作。我們的研究領(lǐng)域包括自駕駛、機器人和游戲電影圖像等多個應(yīng)用方向。
我們在虛擬體驗上的創(chuàng)新技術(shù)你可能已經(jīng)聽說過一些,比如焦點渲染技術(shù)(foveated rendering),變焦光學(xué),全息攝影和光場。這篇文章將會詳細描述我們目前的研究工作,更重要的是展示出,我們是如何通過一系列的研究掀起計算機與現(xiàn)實交互的變革。
NVIDIA 一直致力于做世界上最好的 GPU。在研究中我們的角色在于跳出穩(wěn)步改進的產(chǎn)品周期,尋求革命性的改變和新的應(yīng)用。我們正在將虛擬現(xiàn)實從早期的概念變?yōu)橐粓鲇嬎銠C的革命。
我們的愿景是:在未來, VR 將會成為所有計算機的界面形式,它將代替手機屏幕、電腦顯示器和鍵盤、電視和遙控器,還有汽車儀表盤。我們方便起見,文章中用 VR 來代表所有虛擬體驗(無論你帶上戴上頭戴顯示器時,是否能同時看到現(xiàn)實世界)。
我們將目標(biāo)設(shè)定為所有計算機界面,是因為我們在 NVIDIA 的任務(wù)是創(chuàng)造出革命性技術(shù),而只有當(dāng)一個技術(shù)成為人們的日常使用,才能被稱為真正的革命性。一個技術(shù),必須徹底滲透進我們的生活,才能真正產(chǎn)生影響。最重要的技術(shù)就是那些我們習(xí)以為常的東西。
如果我們的目標(biāo)是所有計算機和廣泛存在的界面,那就不得不提到游戲的 VR 體驗。如今,游戲已經(jīng)成為 VR 應(yīng)用的一個重要領(lǐng)域。NVIDIA 已經(jīng)擁有了相關(guān)產(chǎn)品,并且我們的 GPU 架構(gòu)也為新的 VR 功能提供了基礎(chǔ)。NVIDIA 非常重視游戲領(lǐng)域,我們堅信 VR 會為游戲帶來新的驚喜。但是,VR 的真正潛能可不僅僅是游戲,因為游戲只是計算機的一部分。因此我們從 VR 游戲開始,但技術(shù)已經(jīng)擴展至與計算機相關(guān)的工作、社交、健身、醫(yī)療健康、旅行、科技、教育各個領(lǐng)域。
NVIDIA 在這場 VR 革命中有著特殊的地位和貢獻。在 1999 年推出現(xiàn)代 GPU 之前,我們就曾改造過消費級計算機,為其提供了高性能的計算。而在今天,你的電腦、平板、手機、汽車和電視中都有我們的 GPU,它們?yōu)槟闾峁┝嗽?jīng)只能在超級計算機中實現(xiàn)的高算力。多虧了設(shè)備中無處不在的 GPU,如今的我們都能享受升級的高生產(chǎn)力、便捷的使用和各種娛樂應(yīng)用。
為了讓 VR 成為我們生活中不可或缺的一部分,VR 系統(tǒng)必須更加便捷易用且便宜耐用。所以我們正在構(gòu)建新的頭顯技術(shù):使用激光和全息圖的輕薄眼鏡代替目前笨重的 VR 頭顯,它可以應(yīng)用在各種平板、手機、筆記本電腦上,操作也更加簡單,并且可以在 AR/VR/MR 三種模式間輕松轉(zhuǎn)換,同時它將搭載新的GPU 和圖形軟件。
所有這些創(chuàng)新都為計算機交互指出了一個新的發(fā)展方向,當(dāng)然也提出了新的要求:不僅僅需要新的設(shè)備或軟件,更需要一個全新的 VR 系統(tǒng)。在 NVIDIA,我們正在用尖端工具、傳感器、物理學(xué)、人工智能、處理器、算法、數(shù)據(jù)結(jié)構(gòu)和展示技術(shù)來創(chuàng)造這種系統(tǒng)。
NVIADIA Research 秉承著開放的思維,通過發(fā)表期刊和開源代碼來分享我們的研究成果。首先,為了闡明我們對未來 AR/VR 的構(gòu)想,我們需要了解現(xiàn)有的電影、游戲和 VR 系統(tǒng)是如何運作的。
現(xiàn)在的好萊塢動作大片通常會混合真實人物和計算機生成圖像(CGI)來呈現(xiàn)驚人的視覺效果。目前的 CGI 技術(shù)已經(jīng)非常成熟,好萊塢布景甚至可以全部通過計算機生成。在 2016 年的《死侍》中,場景編排中的每一個物體都是由計算機渲染而不是真實拍攝的,不僅僅是爆炸場景和子彈,還包括建筑物、車輛和人員。
從技術(shù)的角度看,用高視覺保真度來制作這些圖像的電影系統(tǒng)可以用下圖來描述:
圖中分為多個階段,最左邊是創(chuàng)作階段,接著是粒子、三角形、曲線細分曲面的初步建模,直到最后的渲染器。渲染器使用一種叫做“路徑追蹤”的算法來模擬虛擬場景中的光線。
渲染之后,還要手動對二維圖像進行顏色及合成的后期處理。整個過程在導(dǎo)演、編輯和藝術(shù)家的視覺反饋修改中不斷循環(huán),直到最終呈現(xiàn)給觀眾。而電影的圖像質(zhì)量則是我們這種 VR 現(xiàn)實主義者的目標(biāo)追求。
電影系統(tǒng)演化成一個 3D 游戲設(shè)計的類似系統(tǒng)。游戲體現(xiàn)了我們在 VR 交互中對速度和靈活性的追求(即使有些是非娛樂應(yīng)用)。游戲圖形系統(tǒng)如下圖所示:
我在這里特別展示了一個延遲著色的管線,這是大多數(shù) PC 游戲所使用的方法,因為它能提供最高的圖像質(zhì)量和流率。
與電影類似,游戲圖像系統(tǒng)也從創(chuàng)作過程開始,不過游戲的藝術(shù)設(shè)計是個較大的循環(huán),因為游戲需要與玩家產(chǎn)生一個交互循環(huán)。當(dāng)玩家看到屏幕上的物體時,他會通過點擊按鈕與其進行交互。玩家的輸入將會進入圖形處理管線中一個較晚的幀中。這個過程是“延遲”的,玩家的輸入需要花費時間來更新下一幀。為了讓玩家獲得即時反饋,在傳統(tǒng)視頻游戲中,這個延遲必須低于 150ms,保持這種低延遲是游戲系統(tǒng)的一個挑戰(zhàn)。
然而,有很多因素會增加延遲。比如,游戲使用的是“光柵化”渲染算法而不是路徑追蹤法,而延遲著色的光柵管線有很多階段,每一個階段都會增加一些延遲。同時,跟電影一樣,游戲也有很多 2D 后期處理內(nèi)容,在上面的多階段管線圖中標(biāo)記為“PostFX”。像流水線一樣,這種較長的管線增加了流率,也可以實現(xiàn)高質(zhì)量的幀率和分辨率,但同時復(fù)雜性卻犧牲了延遲率。
如果只看圖像輸出,像素從這條流水線中產(chǎn)出得很快,這也是 PC 游戲擁有高幀速率的原因。但實際上,像素在管線中花費了很長時間,因為這個管線由很多階段構(gòu)成。圖中的紅色豎線表示障礙同步點,它們會放大延遲,因為在這個障礙點上,下一個階段的像素必須等待上一個階段的像素被處理完成后才能被處理。
這種游戲圖形管線同樣可以帶來驚人的視覺體驗。在精心的藝術(shù)指導(dǎo)下,技術(shù)人員可以在頂級 GPU 上將游戲畫面處理成電影 CGI 甚至是真人電影的畫質(zhì)。比如我們熟悉的電子游戲“星球大戰(zhàn):前線(2017)”。
盡管如此,最好的星戰(zhàn)游戲畫面仍然比星戰(zhàn)電影中的更加靜態(tài)。這是因為游戲的視覺特效必須根據(jù)游戲性能進行調(diào)整。這意味著游戲畫面中的光影和幾何變化無法像大屏幕中那樣絢麗。不過你可能已經(jīng)習(xí)慣了這種相對靜態(tài)的游戲環(huán)境。
現(xiàn)在,我們來看看電影和游戲與現(xiàn)代 VR 有什么不同。當(dāng)開發(fā)者將做游戲的那一套移植到 VR 時,他們遇到的第一個挑戰(zhàn)就是規(guī)模的增加。游戲中需要的原始圖形功耗只有每秒 6000 萬像素,到了 VR,每秒則需要 4 億 5 千萬像素。而這只是一個開始,明年 VR 的功耗將會翻倍。
相比于 30FPS 的 1080P 的游戲,Oculus Rift 或 HTC Vive 上 45,000 萬像素每秒的功耗,每秒處理的像素數(shù)目幾乎增加了 7 倍。這也導(dǎo)致吞吐量(Throughput)的增加,因為它會改變像素在圖形系統(tǒng)中的移動速度。
功耗的提升是巨大的,而性能上的挑戰(zhàn)則更大?;叵胍幌聜鹘y(tǒng)游戲中,玩家輸入與屏幕像素改變間互動的延遲大約是 100-150ms。但對 VR 來說,我們不僅要增加 7 倍的吞吐量,還要降低 7 倍的延遲。如今的 VR 開發(fā)者是如何做到這些的?我們先從延遲看起。
下圖所示,延遲即是數(shù)據(jù)從系統(tǒng)中的左邊階段移動到右邊階段的時間。系統(tǒng)中的階段越多,吞吐量就會越高,因為處理過程可以并行,但是這也會令管線變得更長,延遲問題就會更加嚴重。為了減少延遲,則需要減少圖中方格和紅線的數(shù)量。
正如你所預(yù)料的那樣,為了減少延遲,開發(fā)者可以盡可能多地移除管線中的階段,正如上圖中的修改,這意味著在 3D 場景中切換回“上一步”的渲染管線,完成所有處理,而不是在 2D 中多次加入陰影和 PostFX 處理。這會減少吞吐量,犧牲圖形質(zhì)量,但不幸的是,如此方法降低的延遲仍遠遠不夠。
所以現(xiàn)代 VR 解決延遲的關(guān)鍵技術(shù)叫做“時間扭曲(Time Warp)”。在這種方法中,屏幕圖像的更新可以不經(jīng)過完整的圖形管線。用戶頭部的追蹤數(shù)據(jù)可以直接進入渲染完成后的 GPU 階段。因為該階段更“接近”顯示器,所以它可以扭曲已經(jīng)渲染過的圖像以匹配最新的頭部追蹤數(shù)據(jù),而不需要穿過整個渲染管線。在一些預(yù)測頭部運動的技術(shù)配合下,延遲可以被降低到 50ms 甚至是 0。
現(xiàn)代 VR 硬件的另一個關(guān)鍵問題是鏡頭畸變(Lens Distortion)。一個好的相機光學(xué)元件至少包含五個高品質(zhì)的玻璃鏡片。但這是會讓頭顯變得沉重、巨大且昂貴,你不會希望在頭上架兩個單反相機。
這也是許多頭戴式顯示器使用兩個便宜的塑料鏡片的原因。這些鏡頭輕便小巧,但是圖像質(zhì)量不高。為了校正單一鏡片的圖像畸變和色差,著色器需要以相反的量扭曲圖像。
NVIDIA GPU 硬件和我們的 VRWorks 軟件加速了現(xiàn)代 VR 的圖形管線。GeForce GTX 1080 和其他 Pascal 架構(gòu) GPU 使用一種叫做“Simultaneous Multi-projection”的新功能從多個角度分別同時渲染圖像,既增加了吞吐量,又降低了延遲。這個功能提供單通道立體聲,使雙眼同時呈現(xiàn)透鏡匹配的陰影效果,直接渲染預(yù)校正的圖像,因此性能更好,圖像更清晰。同時,GTX 1080 中的 GDDR5X 內(nèi)存提供了比上一代多 1.7 倍的帶寬,而硬件音頻和物理技術(shù)則有助于創(chuàng)建更精確的虛擬世界,以增加沉浸感。
減少了管線階段,使用“時間扭曲”,解決鏡頭畸變,配合一個高效的 PC GPU,現(xiàn)代 VR 系統(tǒng)就此形成。
本文介紹了現(xiàn)今電影、游戲和 VR 的運作情況,下一篇文章中,作者將關(guān)注人類視覺感知的局限性,并介紹英偉達正在探索的未來提高 VR 系統(tǒng)性能的方法。
via roadtovr.com 雷鋒網(wǎng)編譯
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。