對(duì)大家來(lái)說(shuō),光線(xiàn)追蹤是一項(xiàng)既熟悉又陌生的技術(shù)。說(shuō)熟悉,是因?yàn)榭赡艽蠹移鋵?shí)都見(jiàn)過(guò);說(shuō)陌生,是因?yàn)槌擞?jì)算機(jī)圖形領(lǐng)域的專(zhuān)家,真正了解該技術(shù)的人可能為數(shù)不多。
現(xiàn)代電影有賴(lài)于光線(xiàn)追蹤技術(shù)來(lái)生成或強(qiáng)化特效,包括逼真的反射、折射和陰影效果。正是由于運(yùn)用了這些效果,才使得史詩(shī)級(jí)科幻片中的星際戰(zhàn)斗機(jī)如此栩栩如生。光線(xiàn)追蹤能夠助力打造令人血脈噴張的飆車(chē)場(chǎng)景,也能使戰(zhàn)爭(zhēng)片的火焰、煙霧和爆炸場(chǎng)景更加真實(shí)。
光線(xiàn)追蹤生成的影像與攝影機(jī)拍攝的影像很難區(qū)分開(kāi)來(lái)。真人動(dòng)作電影將計(jì)算機(jī)生成的效果與真實(shí)拍攝的影像無(wú)縫融合,而動(dòng)畫(huà)電影則能夠通過(guò)光線(xiàn)和陰影隱藏用數(shù)字方式生成的場(chǎng)景,以達(dá)到如攝影機(jī)拍攝般的逼真效果。
什么是光線(xiàn)追蹤?
想了解光線(xiàn)追蹤,你可以環(huán)顧四周,找到被光線(xiàn)照亮的物體,沿著到達(dá)視點(diǎn)的光線(xiàn)反方向進(jìn)行追蹤,就是光線(xiàn)追蹤。
如果你最近去過(guò)電影院,就能實(shí)際見(jiàn)到光線(xiàn)追蹤。
但在過(guò)去,計(jì)算機(jī)硬件的速度不夠快,無(wú)法做到實(shí)時(shí)。比如在視頻游戲中,電影制作人渲染單個(gè)幀的時(shí)間可能很長(zhǎng),因此他們會(huì)在渲染農(nóng)場(chǎng)中離線(xiàn)渲染。而視頻游戲畫(huà)面轉(zhuǎn)瞬即逝。因此,人們依賴(lài)于另一種技術(shù)來(lái)處理大部分實(shí)時(shí)圖形,即光柵化。
什么是光柵化?
長(zhǎng)期以來(lái),實(shí)時(shí)計(jì)算機(jī)圖形一直使用一種稱(chēng)為“光柵化”的技術(shù)在二維屏幕上顯示三維物體。該技術(shù)速度快,且效果足夠好,盡管它仍然無(wú)法達(dá)到光線(xiàn)追蹤所能達(dá)到的水平。
借助光柵化技術(shù),可通過(guò)虛擬三角形或多邊形網(wǎng)格來(lái)創(chuàng)建物體 3D 模型。在這種虛擬網(wǎng)格中,每個(gè)三角形的頂點(diǎn)與大小及形狀不同的其他三角形的頂點(diǎn)相交。每個(gè)頂點(diǎn)關(guān)聯(lián)著大量信息,包括其在空間中的位置以及有關(guān)顏色、紋理及其“法線(xiàn)”(normal)信息,這些信息可用于確定物體表面的朝向。
計(jì)算機(jī)隨后將 3D 模型中的三角形轉(zhuǎn)換為 2D 屏幕上的像素或點(diǎn)。根據(jù)存儲(chǔ)在三角形頂點(diǎn)中的數(shù)據(jù),能為每個(gè)像素分配一個(gè)初始顏色值。
進(jìn)一步的像素處理或“陰影處理”包括根據(jù)場(chǎng)景中光照與像素的碰撞來(lái)改變像素顏色,以及將一個(gè)或多個(gè)紋理應(yīng)用于像素,進(jìn)而生成應(yīng)用于像素的最終顏色。
光柵化技術(shù)的計(jì)算量異常大。一個(gè)場(chǎng)景中的所有物體模型可使用多達(dá)數(shù)百萬(wàn)個(gè)多邊形,4K 顯示器中有近 800 萬(wàn)個(gè)像素。而且,屏幕上顯示的每個(gè)幀或圖像通常會(huì)在顯示器上每秒刷新 30 到 90 次。
此外,還要使用內(nèi)存緩沖區(qū)(為加快運(yùn)行速度預(yù)留出來(lái)的一點(diǎn)臨時(shí)空間)在屏幕上顯示之前,預(yù)先渲染這些幀。還需使用景深或“z 緩存” 存儲(chǔ)像素深度信息,以確保在屏幕上特定的像素位置會(huì)顯示最上層的物體,并隱藏其背后的物體。
這正是為什么擁有豐富圖形功能的現(xiàn)代計(jì)算機(jī)游戲會(huì)依賴(lài)于性能強(qiáng)悍的 GPU。
光線(xiàn)追蹤有何不同?
光線(xiàn)追蹤技術(shù)與光柵化不同。在真實(shí)世界中,我們看到的 3D 物體被光源照亮,且光子在到達(dá)觀(guān)眾眼睛之前,可以從一個(gè)物體反射到另一個(gè)物體。
光線(xiàn)可能會(huì)被某些物體阻擋,形成陰影?;蚩赡軙?huì)從一個(gè)物體反射到另一個(gè)物體,比如當(dāng)我們看到一個(gè)物體的圖像反射在另一個(gè)物體表面時(shí)就是這樣。光線(xiàn)穿過(guò)透明或半透明物體(如玻璃或水)時(shí)會(huì)發(fā)生折射。
光線(xiàn)追蹤通過(guò)從我們的眼睛(或“觀(guān)景式像機(jī)”)反向追蹤光線(xiàn)捕捉這些效果, IBM 的 Arthur Appel 于 1969 年在《Some Techniques for Shading Machine Renderings of Solids》中首次提出了這種技術(shù)。此技術(shù)可追蹤通過(guò) 2D 視圖表面上每個(gè)像素、到達(dá)場(chǎng)景 3D 模型中的光線(xiàn)路徑。
十年后,業(yè)界又迎來(lái)下一個(gè)重大突破。Turner Whitte 在 1979 年發(fā)表論文《An Improved Illumination Model for Shaded Display》,闡述了如何捕捉反射、陰影和折射,他目前就職于 NVIDIA Research。
Turner Whitted 1979 年發(fā)表的論文開(kāi)啟了光線(xiàn)追蹤的文藝復(fù)興時(shí)代,為電影領(lǐng)域帶來(lái)了變革。
利用 Whitted 的技術(shù),當(dāng)光線(xiàn)投射到場(chǎng)景中的物體時(shí),根據(jù)物體表面上碰撞點(diǎn)處的顏色和光照信息可以計(jì)算出像素的顏色和照明度。如果光線(xiàn)在到達(dá)光源之前反射或通過(guò)不同物體的表面,則根據(jù)所有物體的顏色和光照信息可以計(jì)算出最終的像素顏色。
20 世紀(jì) 80 年代的另外兩篇論文也同樣為計(jì)算機(jī)圖形革命奠定了知識(shí)基礎(chǔ),掀起了計(jì)算機(jī)圖形的革命,顛覆了電影的制作方式。
1984 年,Lucasfilm 的 Robert Cook、Thomas Porter 和 Loren Carpenter 詳細(xì)介紹了光線(xiàn)追蹤如何結(jié)合眾多常見(jiàn)的電影制作技術(shù)(包括動(dòng)態(tài)模糊、景深、半影、半透明和模糊反射),而這些效果當(dāng)時(shí)還只能依靠攝影機(jī)制作。
兩年后,加州理工學(xué)院 Jim Kajiya 教授發(fā)表論文《The Rendering Equation》從物理學(xué)的角度審視了計(jì)算機(jī)圖形的生成,更好地展現(xiàn)了光線(xiàn)在整個(gè)場(chǎng)景中的散射方式。
這項(xiàng)研究與現(xiàn)代 GPU 的結(jié)合取得了顯著的成果,計(jì)算機(jī)生成圖像捕捉的陰影、反射和折射效果能夠以假亂真,與真實(shí)世界的照片或視頻很難區(qū)分開(kāi)來(lái)。正是這種真實(shí)感讓光線(xiàn)追蹤開(kāi)始全面進(jìn)入了現(xiàn)代電影制作領(lǐng)域。
這款由Enrico Cerica使用OctaneRender創(chuàng)建的計(jì)算機(jī)生成圖像,顯示了光線(xiàn)、窗戶(hù)透射的光、以及燈架上倒映在地板上和反射在相框上形成的圖像。
這種技術(shù)的計(jì)算量同樣非常大。正因如此,電影制作人才依賴(lài)大量的服務(wù)器或渲染農(nóng)場(chǎng)。而且,渲染復(fù)雜的特殊效果可能需要花上幾天甚至幾周的時(shí)間。
可以肯定的是,許多因素都會(huì)影響光線(xiàn)追蹤的整體圖形質(zhì)量和性能。實(shí)際上,由于光線(xiàn)追蹤是相當(dāng)計(jì)算密集型的,因此通常采用光線(xiàn)追蹤來(lái)渲染場(chǎng)景中最有助于提升視覺(jué)效果和現(xiàn)實(shí)感受的部分,而場(chǎng)景的其余部分則使用光柵化進(jìn)行渲染。光柵化仍能提供出色的圖形質(zhì)量。
光線(xiàn)追蹤未來(lái)將如何發(fā)展?
隨著 GPU 性能日益強(qiáng)悍,下一步理應(yīng)是讓更多人享受到光線(xiàn)追蹤技術(shù)帶來(lái)的好處。例如,借助光線(xiàn)追蹤工具(如 Autodesk 的 Arnold、Chaos Group 的 V-Ray 或 Pixar 的 Renderman)和性能強(qiáng)悍的 GPU,產(chǎn)品設(shè)計(jì)師和建筑師能夠使用光線(xiàn)追蹤,在幾秒內(nèi)即可生成逼真的產(chǎn)品模型,以便他們更加有效地協(xié)作,并免去了成本不菲的原型設(shè)計(jì)環(huán)節(jié)。
光線(xiàn)追蹤已經(jīng)向建筑師和照明設(shè)計(jì)師證明了它的價(jià)值所在,他們正在利用光線(xiàn)追蹤對(duì)光線(xiàn)與設(shè)計(jì)如何交互進(jìn)行建模。
隨著GPU的計(jì)算能力日益提升,視頻游戲?qū)⒊蔀榇思夹g(shù)的下一個(gè)前沿陣地。NVIDIA 在早前宣布推出 NVIDIA RTX。這是一種光線(xiàn)追蹤技術(shù),可為游戲開(kāi)發(fā)者提供電影級(jí)畫(huà)質(zhì)的實(shí)時(shí)渲染。它是 NVIDIA 在計(jì)算機(jī)圖形和GPU架構(gòu)領(lǐng)域經(jīng)過(guò)10年努力所取得的成果。
它包含在 NVIDIA Volta 架構(gòu) GPU 上運(yùn)行的光線(xiàn)追蹤引擎,支持通過(guò)各種接口進(jìn)行光線(xiàn)追蹤,NVIDIA 與微軟緊密合作,通過(guò)微軟新的 DirectX Raytracing (DXR) API 提供全面的 RTX 支持。
為幫助游戲開(kāi)發(fā)者利用這些新功能,NVIDIA 還宣布 GameWorks SDK 將添加一個(gè)光線(xiàn)追蹤降噪模塊。更新版 GameWorks SDK 即將推出,其中包含光線(xiàn)追蹤區(qū)域陰影和光線(xiàn)追蹤光澤反射。
所有這一切都有助于游戲開(kāi)發(fā)者等將光線(xiàn)追蹤技術(shù)應(yīng)用到其工作中,以創(chuàng)建更真實(shí)的反射、陰影和折射。
如此一來(lái),玩家在家中玩游戲時(shí)便能享受到電影級(jí)畫(huà)質(zhì)、更佳的視覺(jué)效果及游戲體驗(yàn)。
-
英偉達(dá)
+關(guān)注
關(guān)注
22文章
3850瀏覽量
92033 -
光線(xiàn)追蹤
+關(guān)注
關(guān)注
0文章
183瀏覽量
21547
原文標(biāo)題:解密NVIDIA光線(xiàn)追蹤技術(shù)
文章出處:【微信號(hào):NVIDIA-Enterprise,微信公眾號(hào):NVIDIA英偉達(dá)企業(yè)解決方案】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論