編者按:本文作者Blake Patterson是一名全棧開(kāi)發(fā)者,他在文中向我們簡(jiǎn)單科普了什么是光線追蹤技術(shù),以及它的歷史。
在目前的PC圖形硬件中,討論最多的技術(shù)是一項(xiàng)成為光線追蹤(ray tracing)的渲染技術(shù)。該技術(shù)風(fēng)靡的原因,都源于幾年前英偉達(dá)發(fā)布的RTX開(kāi)發(fā)平臺(tái),以及微軟而后推出的針對(duì)DirectX 12的DirectX Raytracing(DXR) API。DXR可以讓W(xué)indows開(kāi)發(fā)者在3D環(huán)境中加快GPU進(jìn)行實(shí)時(shí)光線追蹤的速度。這對(duì)游戲愛(ài)好者來(lái)說(shuō)是個(gè)重大利好,因?yàn)楣饩€追蹤可以實(shí)現(xiàn)更真實(shí)的光線渲染,可以在3D場(chǎng)景中進(jìn)行現(xiàn)實(shí)中的動(dòng)作。
但是,目前僅有少部分游戲能夠使用DXR所支持的渲染功能,并且很少有GPU在設(shè)計(jì)時(shí)會(huì)將DXR考慮在內(nèi)、將光線追蹤計(jì)算的加速作為主要目標(biāo)。但目前來(lái)看,光線追蹤仍然熱度不減,很多從業(yè)者依然愿意為此花大價(jià)錢(qián)買(mǎi)一臺(tái)GPU。
今年8月14日,英偉達(dá)發(fā)布了新一代GPU架構(gòu)——圖靈(Turing),以下是國(guó)外某網(wǎng)站關(guān)于此事的報(bào)道:
“英偉達(dá)于周一發(fā)布了下一代圖形架構(gòu)Turing,名字來(lái)源于上世紀(jì)初人工智能之父、計(jì)算機(jī)科學(xué)家Alan Turing。
最新的圖形處理單元(GPU)比傳統(tǒng)圖形處理工作負(fù)載量更大,其中嵌入了針對(duì)人工智能任務(wù)和一種新的圖形渲染技術(shù)(稱為光線追蹤)的加速器?!?/p>
但是,光線追蹤并不是新技術(shù)。事實(shí)上,它幾乎和最早的3D計(jì)算機(jī)圖形技術(shù)一同出現(xiàn)。
什么是光線追蹤?A.J. van der Ploeg在他的文章Interactive Ray Tracing:The Replacement of Rasterization?中這樣描述:
“在計(jì)算機(jī)圖形中,如果我們有一個(gè)三維場(chǎng)景,通常我們會(huì)想知道該場(chǎng)景在虛擬攝像機(jī)中是如何呈現(xiàn)的。這種計(jì)算虛擬相機(jī)中圖像的方法就稱作渲染。
目前渲染的標(biāo)準(zhǔn)方法是光柵化(rasterization),這是一種局部光線渲染方法。它是將從其他表面反射的光也算作在內(nèi),例如鏡子中的光線。這對(duì)倒影或影子的渲染非常重要。例如,加入我們想對(duì)水面反射的場(chǎng)景正確建模,就需要用到全局光線渲染方法。在這種局部光線渲染方法之下,水面上的光線只能由直接照射到上面的光決定,并不是場(chǎng)景中其他部分的光線,所以我們看不到倒影。
……
光線追蹤是對(duì)光的路徑進(jìn)行跟蹤而工作的,例如,你在浴室想要刮胡子,屋頂?shù)臒襞莅l(fā)出的光打到你的下巴上,其中有些光線被吸收,剩余光線反射出你皮膚的顏色。這書(shū)光線又經(jīng)鏡子反射,直到進(jìn)入你的視網(wǎng)膜中。這就是虛擬攝像機(jī)中的光線給一個(gè)像素上色的方法?!?/p>
這種技術(shù)第一次當(dāng)做光線追蹤使用是在1972年左右渲染某一場(chǎng)景。數(shù)學(xué)應(yīng)用團(tuán)體(MAGI)成立于1966年,原本是為了評(píng)估核輻射的暴露值,他們使用的是自己開(kāi)發(fā)的軟件SynthaVision。該軟件包含了光線投射的概念,可以在放射物源頭和其周?chē)粉櫟剿嫩欅E。之后,SynthaVision被用到了計(jì)算機(jī)圖像生成(CGI)中,從放射物追蹤變成了光線追蹤,成為了第一個(gè)光線追蹤系統(tǒng)。1972年,Robert Goldstein等人將SynthaVision用于電影和電視劇的制作中,它的第一部廣告視頻是為IBM設(shè)計(jì)的,之后1982年還在迪士尼的電影《電子世界爭(zhēng)霸戰(zhàn)》中用到。
1985年,Commodore發(fā)布了7.14MHz、16位的Amiga計(jì)算機(jī),其中具備突破性的視頻圖像處理能力。其中引起人們關(guān)注的最早的Amiga制作出的視頻就是The Juggle的demo。它是一個(gè)24幀循環(huán)動(dòng)畫(huà),在Amiga獨(dú)有的HAM模式下有一個(gè)基于光線追蹤的雜耍小人,HAM模式可以同時(shí)在屏幕上顯示4096種顏色的調(diào)色板。我還記得1986年在我的Amiga上初見(jiàn)The Juggler的驚喜之情。The Juggler當(dāng)時(shí)是用實(shí)驗(yàn)性光線追蹤程序ssg進(jìn)行一幀一幀的渲染,ssg由動(dòng)畫(huà)創(chuàng)作者Eric Graham編寫(xiě)。之后,Graham將該項(xiàng)目擴(kuò)展到Sculpt 3D中,之后又推出了Sculpt/Animate 4D,激發(fā)了許多開(kāi)發(fā)者做出基于Amiga的光線追蹤器。
之后,上百種其他類型的基于光線追蹤的動(dòng)畫(huà)在網(wǎng)絡(luò)上出現(xiàn),對(duì)Amiga以及其他平臺(tái)進(jìn)行渲染。從《電子世界爭(zhēng)霸戰(zhàn)》到今天,光線追蹤幾乎是所有CGI動(dòng)畫(huà)制作的重要部分,例如皮克斯、夢(mèng)工廠動(dòng)畫(huà)都用到了這一技術(shù)。
這里需要注意的是,我提到的所有動(dòng)畫(huà)和電影都經(jīng)過(guò)了長(zhǎng)時(shí)間的逐幀渲染,通常需要大量計(jì)算機(jī)或者渲染工具?!峨娮邮澜鐮?zhēng)霸戰(zhàn)》的圖像是逐幀渲染的,因?yàn)楫?dāng)時(shí)的計(jì)算資源很有限。在皮克斯早期的電影《玩具總動(dòng)員》中,通常平均需要四個(gè)小時(shí)才能渲染一幀。近幾年,皮克斯的渲染時(shí)間一直維持在高水平的狀態(tài),因?yàn)樗鼈兊挠?jì)算資源得到了提高,現(xiàn)在的每一幀渲染的復(fù)雜程度都得到了提高。
而現(xiàn)在的關(guān)注點(diǎn)都在即時(shí)光線追蹤上,這也是DirectX光線追蹤的主要工作目標(biāo)。它使用CPU和GPU執(zhí)行一定的光線追蹤功能,但同時(shí)也能支持計(jì)算硬件執(zhí)行光線追蹤計(jì)算,例如英偉達(dá)GeForce 20系列的圖靈微型架構(gòu)GPU。圖靈GPU中的RT核心在進(jìn)行光線追蹤計(jì)算時(shí)據(jù)說(shuō)比GeForce 10系列的GPU快8倍。當(dāng)然,相應(yīng)的軟件也必須通過(guò)DXR或其他方法支持光線追蹤,才能呈現(xiàn)出精美的視覺(jué)效果。
所以,這么看來(lái)光線追蹤技術(shù)已經(jīng)存在至少45年了,并非是新提出的技術(shù)。能讓我們?cè)谟螒蚧?a target="_blank">VR環(huán)境中實(shí)時(shí)體驗(yàn)到這種技術(shù)進(jìn)步的,應(yīng)該是新的API和不斷升級(jí)的硬件,這才是真正的新事物。
后記
文章在reddit上發(fā)布后,也出現(xiàn)了不同的聲音,大家爭(zhēng)論的焦點(diǎn)都在“英偉達(dá)是否宣布過(guò)光線追蹤是他們提出的”這一點(diǎn)上。一些網(wǎng)友看過(guò)文章之后認(rèn)為本文的中心思想是在反駁“英偉達(dá)創(chuàng)造出了光線追蹤技術(shù)”,這其實(shí)是某些媒體不恰當(dāng)?shù)谋硎鲈斐傻恼`會(huì)。
事實(shí)上,作者的本意是想讓大家了解光線追蹤技術(shù)這一重要圖形處理的歷史,由于英偉達(dá)發(fā)布的強(qiáng)大顯卡,使得這一技術(shù)能在游戲中實(shí)時(shí)完成渲染,這才是創(chuàng)新所在。
-
渲染
+關(guān)注
關(guān)注
0文章
69瀏覽量
10901 -
光線追蹤
+關(guān)注
關(guān)注
0文章
183瀏覽量
21458
原文標(biāo)題:英偉達(dá)圖靈架構(gòu)的確不錯(cuò),但光線追蹤技術(shù)可不是什么新鮮事
文章出處:【微信號(hào):jqr_AI,微信公眾號(hào):論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論