計(jì)算圖形領(lǐng)域的未來(lái)方向:效果更真實(shí)的光線(xiàn)追蹤
發(fā)布時(shí)間:2016-01-18 責(zé)任編輯:susan
【導(dǎo)讀】實(shí)時(shí)渲染視頻級(jí)別的計(jì)算機(jī)三維圖形是計(jì)算圖形領(lǐng)域的終極目標(biāo),與現(xiàn)在普遍使用的光柵化渲染技術(shù)相比,光線(xiàn)追蹤普遍被視為視覺(jué)技術(shù)的未來(lái)方向,可帶來(lái)近乎真實(shí)的真正電影級(jí)圖形和光影物理效果,光線(xiàn)追蹤算法是達(dá)到這個(gè)目標(biāo)的圣杯,經(jīng)過(guò)幾十年的努力,終于要接近這個(gè)理想了。
光線(xiàn)追蹤的定義和原理
精美的CG效果圖,與真實(shí),相信大家對(duì)這些并不陌生。而大家在游戲中對(duì)水面之類(lèi)的場(chǎng)景并不陌生,不過(guò)它所生成的畫(huà)面效果,好像永遠(yuǎn)都不那么真實(shí)。即使人們盡再大的努力,它的畫(huà)面始終還是動(dòng)畫(huà),和人們心目中的“電影級(jí)別的畫(huà)質(zhì)”總是差那么一點(diǎn)。這是因?yàn)椋覀兡壳暗挠螒?,無(wú)一例外都在使用光柵化算法。而在這些電影中,則采用的是光線(xiàn)追蹤算法。在3DSMax、Maya、SoftimageXSI等軟件中,也都無(wú)一例外地采用了這一算法。
光線(xiàn)追蹤技術(shù)是由幾何光學(xué)通用技術(shù)衍生而來(lái)。它通過(guò)追蹤光線(xiàn)與物體表面發(fā)生的交互作用,得到光線(xiàn)經(jīng)過(guò)路徑的模型。
簡(jiǎn)單地說(shuō),3D技術(shù)里的光線(xiàn)追蹤算法,就是先假設(shè)屏幕內(nèi)的世界是真實(shí)的,顯示器是個(gè)透明的玻璃,只要找到屏幕內(nèi)能透過(guò)人眼的光線(xiàn),加以追蹤就能構(gòu)建出完整的3D畫(huà)面。
說(shuō)到光線(xiàn)追蹤,就不得不提光柵化。
光柵化是指把景物模型的數(shù)學(xué)描述及其色彩信息轉(zhuǎn)換至計(jì)算機(jī)屏幕上像素的過(guò)程。使用光柵化,我們可以將幾何圖形轉(zhuǎn)化成屏幕上的像素。
Direct3D使用掃描線(xiàn)的渲染來(lái)產(chǎn)生像素。當(dāng)頂點(diǎn)處理結(jié)束之后,所有的圖元將被轉(zhuǎn)化到屏幕空間,在屏幕空間的單位就是像素。點(diǎn),線(xiàn),三角形通過(guò)一組光柵規(guī)則被轉(zhuǎn)化成像素。光柵規(guī)則定義了一套統(tǒng)一的法則來(lái)產(chǎn)生像素。光柵得到的像素一般會(huì)攜帶深度值,一個(gè)RGB Adiffuse顏色,一個(gè)RGB specular顏色,一個(gè)霧化系數(shù)和一組或者多組紋理坐標(biāo)。這些值都會(huì)被傳給流水線(xiàn)的下一個(gè)階段像素的處理,然后注入到渲染目標(biāo)。由于實(shí)時(shí)3D渲染程序要求對(duì)用戶(hù)的即時(shí)操作做出迅速反應(yīng),因此通常要求每秒至少20幀以上的渲染速率,這也使得高效率的“光柵化”渲染技術(shù)成為當(dāng)今最受青睞的3D即時(shí)成像技術(shù)。但是光柵化的缺點(diǎn)也很明顯,那就是無(wú)法計(jì)算真實(shí)的光線(xiàn),導(dǎo)致很多地方失真。
光線(xiàn)追蹤算法分為兩種:正向追蹤算法和反向追蹤算法。
其中,正向追蹤算法是大自然的光線(xiàn)追蹤方式,即由光源發(fā)出的光經(jīng)環(huán)境景物間的多次反射、透射后投射到景物表面,最終進(jìn)入人眼。
反向追蹤算法正好相反,它是從觀(guān)察者的角度出發(fā),只追蹤那些觀(guān)察者所能看見(jiàn)的表面投射光。就目前而言,所有3D制作軟件的光線(xiàn)追蹤算法都是采用反向追蹤法,原因是這種算法能夠最大程度地節(jié)省計(jì)算機(jī)的系統(tǒng)資源,而且不會(huì)導(dǎo)致渲染質(zhì)量的下降。
在現(xiàn)實(shí)世界中射到物體表面上通常有三種情況:折射,反射,吸收。光線(xiàn)在經(jīng)過(guò)反射到不同的地方,被選擇性吸收,從而光譜發(fā)生改變,再多次反射與折射,最終進(jìn)入我們自己的眼睛。而光線(xiàn)追蹤技術(shù)要做的就是模擬這一過(guò)程。
在渲染中,光線(xiàn)追蹤會(huì)賦予每一個(gè)像素幾條甚至幾十條光線(xiàn),然后光在場(chǎng)景中傳播,與場(chǎng)景中各個(gè)物體產(chǎn)生交匯,而場(chǎng)景中的物體在事先就已經(jīng)被開(kāi)發(fā)者設(shè)置好了屬性,從而導(dǎo)致光束發(fā)生各種改變,最終聚集在屏幕上。從而被我們感知。
而反向追蹤方式則是計(jì)算最終射入我們眼睛的光線(xiàn)的反向光路,即眼睛—物體—光源的過(guò)程。因?yàn)檫@么做的話(huà),可以省掉很多并不需要計(jì)算的光路,在光線(xiàn)追蹤中,并不是每一束光都有用。有些光最終并沒(méi)有射入我們自己的眼睛,但是如果依舊計(jì)算的話(huà)就會(huì)造成不必要的計(jì)算資源浪費(fèi)。在光線(xiàn)追蹤中,光同樣也被分類(lèi),假設(shè)一條主光線(xiàn)是不可見(jiàn)的,那么系統(tǒng)則會(huì)拋棄掉整條光路,如果可見(jiàn)的話(huà),那么輔助光線(xiàn)(反射,折射,陰影)的計(jì)算就開(kāi)始了。在完成主光線(xiàn)的判別之后,輔助光線(xiàn)的其他屬性(透明度,色彩)操作也已經(jīng)基本完成了。
光線(xiàn)追蹤在圖形渲染中的應(yīng)用
將光線(xiàn)追蹤算法應(yīng)用于圖形渲染最初是由Arthur Appel于1968年提出,那時(shí)還叫ray casting。
1979年Turner Whitted帶來(lái)了新的研究突破:遞歸光線(xiàn)追蹤算法《Recursive RayTracing Algorithm》。
1984年,Carpenter等人發(fā)表了一篇分布式光線(xiàn)追蹤的論文《Distributed RayTracing》,影響甚廣。發(fā)展到今天,大多數(shù)的照片級(jí)渲染系統(tǒng)都是基于光線(xiàn)追蹤算法的?;镜墓饩€(xiàn)追蹤算法并不難,相信大部分計(jì)算機(jī)圖形學(xué)的同學(xué)都寫(xiě)過(guò)的,難的是如何優(yōu)化提高效率。
說(shuō)到皮克斯直到《汽車(chē)總動(dòng)員》才開(kāi)始大規(guī)模使用光線(xiàn)追蹤。皮克斯的《汽車(chē)總動(dòng)員》于2006年6月在美國(guó)上映,如今已經(jīng)8年多過(guò)去了。皮克斯一直使用的是自家開(kāi)發(fā)的渲染器RenderMan,基于REYES(Renders Everything You Ever Saw)。
REYES是另一種渲染算法,它對(duì)于處理復(fù)雜場(chǎng)景非常高效。
1984年的時(shí)候皮克斯有考慮過(guò)光線(xiàn)追蹤,但最終還是堅(jiān)持使用REYES。那篇關(guān)于《汽車(chē)總動(dòng)員》的論文《RayTracing for the Movie“Cars”》里提到五年前他們就啟動(dòng)了添加光線(xiàn)追蹤功能到RenderMan這個(gè)項(xiàng)目,同期《汽車(chē)總動(dòng)員》正在制作中。REYES在處理反射強(qiáng)烈的汽車(chē)表面材質(zhì)方面有些捉襟見(jiàn)肘,只能用環(huán)境貼圖,但仍然達(dá)不到光滑閃耀的質(zhì)感。而這正是光線(xiàn)追蹤擅長(zhǎng)的。
下面介紹幾個(gè)使用光線(xiàn)追蹤的主流渲染器:
Mentalray,NVIDIA出品,已經(jīng)集成到3D建模軟件Autodesk的Maya和3ds Max中。
Arnold近些年日漸風(fēng)行,Sony Pictures Imageworks,Digital Domain,ILM,Luma Pictures等著名特效公司均有使用該渲染器。
VRay,比Arnold大眾一點(diǎn),近幾年也在瘋長(zhǎng),它目前有CPU版本和GPU版本(V-Ray和V-Ray RTGPU)。
光線(xiàn)追蹤目前多用于影視特效中做靜幀渲染,但對(duì)大眾最有影響的3D圖形游戲領(lǐng)域顯然還沒(méi)有光線(xiàn)追蹤的蹤影,這是為什么呢?
光線(xiàn)追蹤遲遲不能應(yīng)用在游戲行業(yè)中的原因很簡(jiǎn)單——它那恐怖的計(jì)算量。即便是用了反向追蹤算法之后也是如此。
根據(jù)Intel的說(shuō)法,要用光線(xiàn)追蹤渲染出達(dá)到現(xiàn)代游戲的畫(huà)面質(zhì)量,同時(shí)跑出可流暢運(yùn)行的幀數(shù),每秒需要計(jì)算大概10億束光線(xiàn)。這個(gè)數(shù)字包括每幀每像素需要大概30束不同的光線(xiàn),分別用來(lái)計(jì)算著色、光照跟其它各種特效,按照這個(gè)公式,在1024×768這樣的入門(mén)級(jí)分辨率下,一共有786432個(gè)像素,乘以每像素30束光線(xiàn)以及每秒60幀,我們就需要每秒能運(yùn)算141.5億束光線(xiàn)的硬件。
而即便到了今天,頂級(jí)的Corei7每秒能處理的光線(xiàn)還不足千萬(wàn)條。而且這只是運(yùn)算量上的差距,由于光線(xiàn)追蹤的輔助光線(xiàn)每一條都沒(méi)有任何相關(guān)性,這意味著包括各種緩存技術(shù)在內(nèi)的“投機(jī)取巧”方式都沒(méi)有用武之地,計(jì)算光線(xiàn)追蹤輔助光線(xiàn)的所有的計(jì)算都將直接讀取內(nèi)存,這對(duì)于內(nèi)存延遲和帶寬來(lái)說(shuō)都是驚人的考驗(yàn)。而且對(duì)于顯存容量也是一個(gè)不小的挑戰(zhàn),十幾甚至幾十GB的顯存會(huì)變的非常有必要。
雖然在游戲領(lǐng)域引入光線(xiàn)追蹤是有極大挑戰(zhàn)的事情,但這項(xiàng)技術(shù)一直有研究機(jī)構(gòu)和圖形處理器廠(chǎng)商在投入研究。光線(xiàn)追蹤若想要應(yīng)用到游戲中就需要做到實(shí)時(shí)渲染,就是大家所說(shuō)的實(shí)時(shí)光線(xiàn)追蹤(Real-time raytracing)。
光線(xiàn)追蹤算法前面說(shuō)過(guò)了,那什么樣才是實(shí)時(shí)的?
6FPS左右就可以產(chǎn)生交互感,15FPS可稱(chēng)得上實(shí)時(shí),30fps不太卡,60FPS感覺(jué)平滑流暢,72FPS再往上肉眼就已經(jīng)分辨不出差別。
所謂實(shí)時(shí)就是需要達(dá)到每秒渲染30幀以上,否則就達(dá)不到畫(huà)面的流暢度要求,就沒(méi)有實(shí)用價(jià)值。實(shí)時(shí)的光線(xiàn)追蹤的難點(diǎn)就在于場(chǎng)景復(fù)雜度和需要的真實(shí)感渲染效果決定了遍歷和相交檢測(cè)的巨大計(jì)算量(場(chǎng)景分割數(shù)據(jù)結(jié)構(gòu)的重構(gòu)和光線(xiàn)與場(chǎng)景的相交測(cè)試是兩項(xiàng)主要計(jì)算)。
這是渲染領(lǐng)域以及任何模擬計(jì)算領(lǐng)域里終極的矛盾:效率和質(zhì)量的矛盾。
實(shí)時(shí)光線(xiàn)追蹤技術(shù)發(fā)展歷史
隨著德國(guó)薩爾蘭大學(xué)計(jì)算機(jī)圖形小組所開(kāi)發(fā)的OpenRT庫(kù)的完成,光線(xiàn)追蹤技術(shù)應(yīng)用在電腦游戲的實(shí)時(shí)渲染中在理論上逐漸成為可能。
OpenRT函數(shù)庫(kù)是源自薩爾蘭大學(xué)的一個(gè)計(jì)算機(jī)圖形小組的實(shí)時(shí)光線(xiàn)追蹤項(xiàng)目,OpenRT實(shí)時(shí)光線(xiàn)追蹤項(xiàng)目的目標(biāo)是為3D游戲加入實(shí)時(shí)的光線(xiàn)追蹤效果,該項(xiàng)目會(huì)包含以下幾個(gè)部分:一個(gè)高效的光線(xiàn)追蹤處理核心、以及語(yǔ)法與目前OpenGL類(lèi)似的OpenRT 應(yīng)用程序接口,客戶(hù)程序員通過(guò)這部分接觸之前高效的光線(xiàn)追蹤處理核心的功能,并在游戲場(chǎng)景設(shè)計(jì)中調(diào)用這些應(yīng)用程序接口。
薩爾蘭大學(xué)除了開(kāi)發(fā)出了OpenRT函數(shù)庫(kù)外,還設(shè)計(jì)了一個(gè)實(shí)時(shí)光線(xiàn)追蹤的硬件架構(gòu)——SaarCOR。SaarCOR研究小組在2005年的SIGGRAPH上展示了第一個(gè)實(shí)時(shí)光線(xiàn)追蹤加速硬件——RPU(Ray Processing Unit)。
RPU跟GPU一樣都是完全可編程架構(gòu),能夠提供對(duì)材質(zhì)、幾何以及光照等的實(shí)時(shí)編程支持。
RPU除了具有傳統(tǒng)GPU的高效性外,最引人矚目的就是支持光線(xiàn)追蹤計(jì)術(shù)。其使用的指令集跟GPU一樣,因此也能夠?qū)χ绦蜃鲎罴鸦幚怼?/div>
[page]
此外,由于集成了專(zhuān)用的硬件單元,RPU可以支持高速光線(xiàn)跟蹤算法跟遞歸函數(shù)調(diào)用,對(duì)于遞歸光線(xiàn)追蹤算法同樣行之有效。為了提高執(zhí)行效率,RPU通常將4束光線(xiàn)打包處理,同時(shí)多線(xiàn)程計(jì)術(shù)的支持也保證了硬件資源的高效利用。
SaarCOR在SIGGRAPH 2005展示的RPU原型機(jī)用FPGA來(lái)構(gòu)建,頻率運(yùn)行在66MHz,內(nèi)存帶寬也只有350MB/s,但是得益于特別設(shè)計(jì)的專(zhuān)用架構(gòu),其性能可以跟P4 2.6G的CPU跑OpenRT軟件光線(xiàn)追蹤的性能相媲美。
這樣的性能充分體現(xiàn)出RPU架構(gòu)在處理光線(xiàn)追蹤方面的高效性,要知道NV當(dāng)時(shí)的高端GPU可是具有RPU原型機(jī)23倍的浮點(diǎn)運(yùn)算能力以及100多倍的帶寬。
更令人興奮的是,由于光線(xiàn)追蹤特別適用于并行處理的天生特性,RPU可以像CPU一樣采用多核架構(gòu),原型機(jī)可以搭配不同數(shù)量的FPGA芯片,比如兩片F(xiàn)PGA就可以提供雙倍于單FPGA的運(yùn)算能力,而SaarCOR試驗(yàn)室已經(jīng)測(cè)試過(guò)四FPGA的原型機(jī)。
就在SaarCOR展示了RPU之后不久,這個(gè)研究計(jì)劃的人員接觸到了IBM德國(guó)的技術(shù)人員,獲得了一臺(tái)擁有一枚CELL處理器的工程樣機(jī)。在IBM技術(shù)人員的協(xié)助下,SaarCOR在短短兩周的時(shí)間里就在這臺(tái)機(jī)器上實(shí)現(xiàn)了全屏的實(shí)時(shí)光線(xiàn)追蹤渲染效果。SaarCOR的研究人員目前已經(jīng)在Cinema 4D上以插件方式實(shí)現(xiàn)了實(shí)時(shí)光線(xiàn)追蹤。他們還透露了另外一個(gè)鮮為人知的消息,那就是SaarCOR其實(shí)獲得了NVIDIA 2.5萬(wàn)美元的贊助,之前的FPGA原型其實(shí)就是在NVIDIA資助下進(jìn)行的。SaarCOR至今未能量產(chǎn),隨后SaarCOR項(xiàng)目并入了OpenRT光線(xiàn)追蹤開(kāi)發(fā)項(xiàng)目中。
早在十多年前的2004年,德國(guó)青年 Daniel Pohl將一款電腦游戲應(yīng)用光線(xiàn)追蹤技術(shù)作為其學(xué)術(shù)研究項(xiàng)目。因?yàn)镮D software的開(kāi)源,所以《Quake3》成為了他的選擇,并開(kāi)始移植。
他用OpenRT對(duì)其渲染核心進(jìn)行改造,令人驚訝的是在《Quake3》傳統(tǒng)的光柵化渲染上實(shí)現(xiàn)光線(xiàn)追蹤居然顯得出奇的簡(jiǎn)單。例如在每個(gè)像素的動(dòng)態(tài)、實(shí)時(shí)陰影僅需要10行左右的代碼指令來(lái)描述光線(xiàn)追蹤的模型。光線(xiàn)追蹤技術(shù)的加入令整個(gè)游戲的光影效果煥然一新。畫(huà)面甚至超過(guò)了很多后來(lái)發(fā)布的新游戲。之后的幾年里,Daniel Pohl更將注意力放到了《Quake 4》、《Quake War》等游戲上,試圖在這些游戲中實(shí)現(xiàn)實(shí)時(shí)光線(xiàn)追蹤算法。有趣的是,Daniel Pohl的實(shí)時(shí)光線(xiàn)追蹤技術(shù)完全不依賴(lài)于GPU,僅僅是借助多核CPU的運(yùn)算能力。也正因?yàn)槿绱?,Daniel Pohl隨后被Intel高薪聘用,正式加盟其“視覺(jué)運(yùn)算部”,由此可以看出Intel決心令實(shí)時(shí)光線(xiàn)追蹤成為現(xiàn)實(shí)。
Intel想進(jìn)軍獨(dú)立顯卡市場(chǎng)已經(jīng)不是一天兩天了。上世紀(jì)末intel就曾經(jīng)出過(guò)一款獨(dú)顯,名叫i740。但是也僅僅就這一款而已。一心想要重返顯卡市場(chǎng)的intel想以光線(xiàn)追蹤來(lái)抗衡AMD與NVIDIA,所以研究光線(xiàn)追蹤的天才程序員DanielPohl被intel收歸門(mén)下,進(jìn)行顯卡的開(kāi)發(fā)。
在2007年的IDF上,Intel正式揭開(kāi)獨(dú)立顯卡——代號(hào)“Larrabee”的神秘面紗,Larrabee隸屬于其萬(wàn)億次運(yùn)算項(xiàng)目(Tera-scale),也將是Intel的第一款實(shí)用級(jí)萬(wàn)億次運(yùn)算處理器,其處理能力“大大超過(guò)”一萬(wàn)億次浮點(diǎn)每秒;根據(jù)Intel首席架構(gòu)師EdDavis的演示文稿,Larrabee基于可編程架構(gòu),主要面向高端通用目的計(jì)算平臺(tái),至少有16個(gè)核心,主頻1.7-2.5GHz,功耗則在150W以上,支持JPEG紋理、物理加速、反鋸齒、增強(qiáng)AI、光線(xiàn)追蹤等特性。
由于天生的CPU傳統(tǒng)架構(gòu)血統(tǒng),Larrabee特別適合用來(lái)計(jì)算光線(xiàn)追蹤。
在IDF2007的技術(shù)演示中,Intel也特意大張旗鼓地宣傳Larrabee在實(shí)時(shí)光線(xiàn)追蹤領(lǐng)域所取得的最新成就。但是Larrabee卻并沒(méi)有想象中的那么順利,在2009年的IDF大會(huì)上,我們看到了新的Corei7系列,Atom雙核,而Larrabee卻被冷落在一旁,這不得不令人惋惜。、
作為一款中途夭折的產(chǎn)品,Larrabee在很多人的心目中應(yīng)該一直都保留著幾分神秘色彩,最后該項(xiàng)目的不了了之,還是給實(shí)時(shí)光線(xiàn)追蹤的發(fā)展帶來(lái)了些許遺憾。大家也都知道最后Larrabee的技術(shù)是用到了“眾核架構(gòu)”(MIC)的XeonPhi協(xié)處理器當(dāng)中,成為Intel在高性能計(jì)算領(lǐng)域和GPU廠(chǎng)商的加速卡競(jìng)爭(zhēng)的利器
就在Larrabee項(xiàng)目中途夭折以后,實(shí)時(shí)光線(xiàn)追蹤技術(shù)似乎裹足不前了。但在2009年3月,一家名不見(jiàn)經(jīng)傳的初創(chuàng)公司Caustic Graphics突然浮出水面,帶來(lái)了一種具有突破性意義的實(shí)時(shí)光線(xiàn)追蹤軟硬件解決方案,號(hào)稱(chēng)可提速200倍,業(yè)內(nèi)震驚。
其管理團(tuán)隊(duì)聚集了來(lái)自蘋(píng)果、Autodesk、ATI、Intel、NVIDIA等業(yè)界巨頭的技術(shù)與圖形專(zhuān)家,三位創(chuàng)始人James McCombe、Luke Peterson、Ryan Salsbury曾經(jīng)在蘋(píng)果共事,其中McCombe被譽(yù)為是OpenGL世界的“第三號(hào)人物”,同時(shí)也是iPhone、iPod等嵌入式、低功耗平臺(tái)光柵化渲染算法的首席架構(gòu)師。
CausticGraphics聲稱(chēng)一舉解決了光線(xiàn)追蹤算法效率低下的難題。
根據(jù)該公司的說(shuō)法,他們的算法之所以獨(dú)特是因?yàn)樗鉀Q了傳統(tǒng)光線(xiàn)追蹤算法偏向隨機(jī)性的問(wèn)題。新算法大幅提高了光線(xiàn)追蹤計(jì)算的局部性,但這部分的算法需要一顆協(xié)處理器來(lái)完成。Caustic Graphics的工程師們相當(dāng)明智,他們對(duì)于該硬件的定位僅僅是一顆專(zhuān)注于光線(xiàn)追蹤運(yùn)算的協(xié)處理器,而絕不會(huì)干越俎代庖的蠢事,著色之類(lèi)的傳統(tǒng)光柵化處理依舊由GPU來(lái)完成。
除此以外,在2009年8月的SIGGRAPH會(huì)議上,圖形處理器巨頭Nvidia發(fā)布了OptiX,這是一個(gè)基于Nvidia GPU的實(shí)時(shí)光線(xiàn)追蹤加速引擎。
在功能上,Optix引擎與前面介紹的OpenRT類(lèi)似,都是一組光線(xiàn)追蹤的函數(shù)庫(kù),Nvidia在介紹中說(shuō)optix引擎基于CUDA架構(gòu),開(kāi)發(fā)者可以使用C語(yǔ)言編程,創(chuàng)造出基于GPU運(yùn)算的光線(xiàn)追蹤應(yīng)用。我們有足夠的理由相信,Optix所用的光線(xiàn)追蹤模型,極有可能與SAARCOR的OpenRT 引擎相同,或者說(shuō)OPTIX只是OpenRT的NVIDIA商用化版本。但由于光線(xiàn)追蹤的算法和傳統(tǒng)光柵化處理算法區(qū)別較大,現(xiàn)有SIMD架構(gòu)的GPU內(nèi)核在計(jì)算光線(xiàn)追蹤算法時(shí)的效率不高,完全用傳統(tǒng)GPU來(lái)加速光線(xiàn)追蹤的做法至今也沒(méi)有成功進(jìn)入游戲領(lǐng)域。
另外,NVIDIA目前已經(jīng)有virtual GPU技術(shù),類(lèi)似于云計(jì)算,不需要本地的GPU,但該技術(shù)進(jìn)入大眾消費(fèi)市場(chǎng)應(yīng)該還有很長(zhǎng)的路要走。
Imagination夢(mèng)想照進(jìn)現(xiàn)實(shí)
可能很多人不知道的是,在移動(dòng)GPU領(lǐng)域呼風(fēng)喚雨的另一個(gè)隱形巨頭Imagination,其實(shí)也在努力摘取這個(gè)3D圖像處理皇冠上的明珠,只不過(guò)它的做法比較出人意料,在2010年底突然收購(gòu)了前文介紹過(guò)的創(chuàng)業(yè)公司Caustic Graphics,并在2013年初推出了光線(xiàn)追蹤專(zhuān)用加速卡,不過(guò)該產(chǎn)品只針對(duì)專(zhuān)業(yè)市場(chǎng),并未掀起業(yè)界的大波瀾。但在去年3月的GDC2014游戲開(kāi)發(fā)者大會(huì)上,Imagination正式發(fā)布了全新的“PowerVR Wizard”GPU家族,號(hào)稱(chēng)可在適合移動(dòng)、嵌入式應(yīng)用的功耗水平下,提供高性能的光線(xiàn)追蹤、圖形和計(jì)算能力,這次真正震動(dòng)了業(yè)界(筆者看到這個(gè)新聞的時(shí)候的確是不敢相信)。
新家族的第一名成員是PowerVR GR6500,基于最新一代的四陣列移動(dòng)GPU PowerVR Rogue設(shè)計(jì)而來(lái),整合了PowerVR Series6 XT系列的所有特性,并加入了強(qiáng)大的光線(xiàn)追蹤硬件加速電路。
硬件的優(yōu)化可以分為采用GPU和SIMD的優(yōu)化以及專(zhuān)門(mén)的光線(xiàn)追蹤硬件。前者就是對(duì)軟件算法進(jìn)行針對(duì)GPU或SIMD的優(yōu)化,同時(shí)一些并行環(huán)境下的數(shù)學(xué)庫(kù)函數(shù)和其他基本算法,如排序等也間接起到了加速的作用。后者就是指將光線(xiàn)追蹤中獨(dú)有的相交檢測(cè),場(chǎng)景分割等部分采用專(zhuān)門(mén)的硬件來(lái)優(yōu)化,G6500就是使用后面一種優(yōu)化,這些專(zhuān)用加速電路包括:
光線(xiàn)數(shù)據(jù)主控(Ray Data Master):為主調(diào)度器提供光線(xiàn)交互數(shù)據(jù),準(zhǔn)備給著色器執(zhí)行,并評(píng)估光線(xiàn)的最終數(shù)據(jù)屬性。
光線(xiàn)追蹤單元(Ray Tracing Unit):使用固定函數(shù)(不可編程)執(zhí)行光線(xiàn)追蹤遍歷隊(duì)列,并匯總光線(xiàn)一致性,以降低功耗和帶寬需求。
場(chǎng)景層次生成器(Scene Hierarchy Generator):加速動(dòng)態(tài)物體的更新。
幀收集器緩存(Frame Accumulator Cache):提供對(duì)幀緩沖的寫(xiě)入合并松散式訪(fǎng)問(wèn)。
從芯片的架構(gòu)圖圖可以看出,所有這些設(shè)計(jì)都可以和GPU架構(gòu)的其他模塊高效整合、完美通信,生成實(shí)時(shí)、交互的光線(xiàn)追蹤畫(huà)面,而且不僅適用于移動(dòng)、嵌入式平臺(tái),還能擴(kuò)展到主機(jī)和主流游戲PC。更重要的是,這些模塊不會(huì)影響傳統(tǒng)圖形流水線(xiàn)的著色性能,因?yàn)樗鼈儾⒎且蕾?lài)著色器的浮點(diǎn)性能來(lái)執(zhí)行光線(xiàn)追蹤,效率最多可以達(dá)到純GPU計(jì)算或者軟件算法的100倍。
那么,PowerVR GR6500的光線(xiàn)追蹤性能究竟如何呢?
Imagination宣稱(chēng),600MHz頻率下每秒可追蹤最多3億束光線(xiàn),進(jìn)行240億次節(jié)點(diǎn)測(cè)試,生成1億個(gè)動(dòng)態(tài)三角形。由于還沒(méi)有實(shí)體的芯片問(wèn)世,現(xiàn)在只有理論數(shù)值。當(dāng)年Caustic Graphics曾經(jīng)透露,完全光線(xiàn)追蹤化的游戲引擎還得等很多年,并估計(jì)至少四五年后他們的硬件才能在1920×1080分辨率下達(dá)到60FPS的有效幀率。
當(dāng)時(shí)是2009年,這兩年正好是這個(gè)時(shí)候,我們相信由于Imagination的支持,性能應(yīng)該能夠達(dá)到當(dāng)年Caustic Graphics的預(yù)測(cè)水平,從而達(dá)到主流游戲的運(yùn)行要求。
Imagination還開(kāi)發(fā)了跨平臺(tái)的OpenRL API,并放出了SDK,希望開(kāi)發(fā)人員能夠參與其中。
據(jù)說(shuō)OpenRL還在申請(qǐng)成為國(guó)際標(biāo)準(zhǔn),希望成為OpenGL這樣的跨平臺(tái)標(biāo)準(zhǔn)API。當(dāng)然這個(gè)API也是來(lái)自于原來(lái)Caustic Graphics的軟件開(kāi)發(fā)層Caustic GL,由于其創(chuàng)始人具有非常強(qiáng)的OpenGL專(zhuān)業(yè)背景,Caustic并沒(méi)有自己去開(kāi)發(fā)一套專(zhuān)用的API,而是基于OpenGL ES2.0編寫(xiě)擴(kuò)展子集,并將其命名為Caustic GL。
采用OpenRL的最大優(yōu)勢(shì),就是允許開(kāi)發(fā)人員像往常編寫(xiě)著色程序那樣來(lái)編寫(xiě)新的光線(xiàn)追蹤著色程序,而一些原本非常復(fù)雜的光影著色程序(用于創(chuàng)建復(fù)雜的光照跟投影效果)則可以由簡(jiǎn)單的光線(xiàn)追蹤著色程序來(lái)代替,這樣既可以減輕程序員的負(fù)擔(dān)還可以提升硬件效率。
開(kāi)發(fā)人員還可以將OpenRL與其他圖形API相結(jié)合,比如OpenGL3/3.1,未來(lái)甚至能夠與DX混合調(diào)用。另一個(gè)有趣的特性是OpenRL并非光線(xiàn)追蹤硬件加速電路專(zhuān)用,它同樣支持GPU,所以在沒(méi)有硬件加速電路的系統(tǒng)里,光線(xiàn)追蹤計(jì)算也可以交由GPU來(lái)負(fù)責(zé),當(dāng)然效率將大打折扣。
從以上的介紹我們可以看出Imagination已經(jīng)徹底把CausticGraphics的軟硬件技術(shù)集成到自己的GPU里面,并由此提供了極具競(jìng)爭(zhēng)力的實(shí)時(shí)光線(xiàn)追蹤性能,而仍舊保持了低功耗和低成本的特色,將會(huì)給整個(gè)圖形市場(chǎng)帶來(lái)顛覆性的影響。
移動(dòng)GPU第一次走在了桌面GPU的前面,相信這對(duì)于Imagination擴(kuò)大整體GPU市場(chǎng)占有率會(huì)帶來(lái)極大的推動(dòng)力。Imagination也可以借此進(jìn)入被NV和AMD所把持的桌面和專(zhuān)業(yè)圖形市場(chǎng)。
當(dāng)年ARM處理器由于性能不佳,只能退守深耕移動(dòng)和嵌入式市場(chǎng),不料反倒獲得巨大成功成為當(dāng)代最有影響力的處理器指令集架構(gòu),甚至開(kāi)始進(jìn)軍桌面和服務(wù)器市場(chǎng),Imagination似乎也開(kāi)始走上了這條逆襲之路。
特別推薦
- 授權(quán)代理商貿(mào)澤電子供應(yīng)Same Sky多樣化電子元器件
- 使用合適的窗口電壓監(jiān)控器優(yōu)化系統(tǒng)設(shè)計(jì)
- ADI電機(jī)運(yùn)動(dòng)控制解決方案 驅(qū)動(dòng)智能運(yùn)動(dòng)新時(shí)代
- 倍福推出采用 TwinSAFE SC 技術(shù)的 EtherCAT 端子模塊 EL3453-0090
- TDK推出新的X系列環(huán)保型SMD壓敏電阻
- Vishay 推出新款采用0102、0204和 0207封裝的精密薄膜MELF電阻
- Microchip推出新款交鑰匙電容式觸摸控制器產(chǎn)品 MTCH2120
技術(shù)文章更多>>
- 中微公司成功從美國(guó)國(guó)防部中國(guó)軍事企業(yè)清單中移除
- 華邦電子白皮書(shū):滿(mǎn)足歐盟無(wú)線(xiàn)電設(shè)備指令(RED)信息安全標(biāo)準(zhǔn)
- 功率器件熱設(shè)計(jì)基礎(chǔ)(九)——功率半導(dǎo)體模塊的熱擴(kuò)散
- 準(zhǔn) Z 源逆變器的設(shè)計(jì)
- 第12講:三菱電機(jī)高壓SiC芯片技術(shù)
技術(shù)白皮書(shū)下載更多>>
- 車(chē)規(guī)與基于V2X的車(chē)輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車(chē)安全隔離的新挑戰(zhàn)
- 汽車(chē)模塊拋負(fù)載的解決方案
- 車(chē)用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門(mén)搜索
單向可控硅
刀開(kāi)關(guān)
等離子顯示屏
低頻電感
低通濾波器
低音炮電路
滌綸電容
點(diǎn)膠設(shè)備
電池
電池管理系統(tǒng)
電磁蜂鳴器
電磁兼容
電磁爐危害
電動(dòng)車(chē)
電動(dòng)工具
電動(dòng)汽車(chē)
電感
電工電路
電機(jī)控制
電解電容
電纜連接器
電力電子
電力繼電器
電力線(xiàn)通信
電流保險(xiǎn)絲
電流表
電流傳感器
電流互感器
電路保護(hù)
電路圖
友情鏈接(QQ:317243736)
我愛(ài)方案網(wǎng) ICGOO元器件商城 創(chuàng)芯在線(xiàn)檢測(cè) 芯片查詢(xún) 天天IC網(wǎng) 電子產(chǎn)品世界 無(wú)線(xiàn)通信模塊 控制工程網(wǎng) 電子開(kāi)發(fā)網(wǎng) 電子技術(shù)應(yīng)用 與非網(wǎng) 世紀(jì)電源網(wǎng) 21ic電子技術(shù)資料下載 電源網(wǎng) 電子發(fā)燒友網(wǎng) 中電網(wǎng) 中國(guó)工業(yè)電器網(wǎng) 連接器 礦山設(shè)備網(wǎng) 工博士 智慧農(nóng)業(yè) 工業(yè)路由器 天工網(wǎng) 乾坤芯 電子元器件采購(gòu)網(wǎng) 亞馬遜KOL 聚合物鋰電池 工業(yè)自動(dòng)化設(shè)備 企業(yè)查詢(xún) 工業(yè)路由器 元器件商城 連接器 USB中文網(wǎng) 今日招標(biāo)網(wǎng) 塑料機(jī)械網(wǎng) 農(nóng)業(yè)機(jī)械 中國(guó)IT產(chǎn)經(jīng)新聞網(wǎng) 高低溫試驗(yàn)箱
?
關(guān)閉
?
關(guān)閉