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