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