計算圖形領域的未來方向:效果更真實的光線追蹤
發布時間:2016-01-18 責任編輯:susan
【導讀】實(shi)時(shi)渲(xuan)染(ran)視(shi)頻(pin)級(ji)別(bie)的(de)計(ji)算(suan)機(ji)三(san)維(wei)圖(tu)形(xing)是(shi)計(ji)算(suan)圖(tu)形(xing)領(ling)域(yu)的(de)終(zhong)極(ji)目(mu)標(biao),與(yu)現(xian)在(zai)普(pu)遍(bian)使(shi)用(yong)的(de)光(guang)柵(zha)化(hua)渲(xuan)染(ran)技(ji)術(shu)相(xiang)比(bi),光(guang)線(xian)追(zhui)蹤(zong)普(pu)遍(bian)被(bei)視(shi)為(wei)視(shi)覺(jiao)技(ji)術(shu)的(de)未(wei)來(lai)方(fang)向(xiang),可(ke)帶(dai)來(lai)近(jin)乎(hu)真(zhen)實(shi)的(de)真(zhen)正(zheng)電(dian)影(ying)級(ji)圖(tu)形(xing)和(he)光(guang)影(ying)物(wu)理(li)效(xiao)果(guo),光(guang)線(xian)追(zhui)蹤(zong)算(suan)法(fa)是(shi)達(da)到(dao)這(zhe)個(ge)目(mu)標(biao)的(de)聖(sheng)杯(bei),經(jing)過(guo)幾(ji)十(shi)年(nian)的(de)努(nu)力(li),終(zhong)於(yu)要(yao)接(jie)近(jin)這(zhe)個(ge)理(li)想(xiang)了(le)。
光線追蹤的定義和原理
精美的CG效xiao果guo圖tu,與yu真zhen實shi,相xiang信xin大da家jia對dui這zhe些xie並bing不bu陌mo生sheng。而er大da家jia在zai遊you戲xi中zhong對dui水shui麵mian之zhi類lei的de場chang景jing並bing不bu陌mo生sheng,不bu過guo它ta所suo生sheng成cheng的de畫hua麵mian效xiao果guo,好hao像xiang永yong遠yuan都dou不bu那na麼me真zhen實shi。即ji使shi人ren們men盡jin再zai大da的de努nu力li,它ta的de畫hua麵mian始shi終zhong還hai是shi動dong畫hua,和he人ren們men心xin目mu中zhong的de“電影級別的畫質”總是差那麼一點。這是因為,我們目前的遊戲,無一例外都在使用光柵化算法。而在這些電影中,則采用的是光線追蹤算法。在3DSMax、Maya、SoftimageXSI等軟件中,也都無一例外地采用了這一算法。
光線追蹤技術是由幾何光學通用技術衍生而來。它通過追蹤光線與物體表麵發生的交互作用,得到光線經過路徑的模型。
簡單地說,3D技(ji)術(shu)裏(li)的(de)光(guang)線(xian)追(zhui)蹤(zong)算(suan)法(fa),就(jiu)是(shi)先(xian)假(jia)設(she)屏(ping)幕(mu)內(nei)的(de)世(shi)界(jie)是(shi)真(zhen)實(shi)的(de),顯(xian)示(shi)器(qi)是(shi)個(ge)透(tou)明(ming)的(de)玻(bo)璃(li),隻(zhi)要(yao)找(zhao)到(dao)屏(ping)幕(mu)內(nei)能(neng)透(tou)過(guo)人(ren)眼(yan)的(de)光(guang)線(xian),加(jia)以(yi)追(zhui)蹤(zong)就(jiu)能(neng)構(gou)建(jian)出(chu)完(wan)整(zheng)的(de)3D畫麵。
說到光線追蹤,就不得不提光柵化。
guangzhahuashizhibajingwumoxingdeshuxuemiaoshujiqisecaixinxizhuanhuanzhijisuanjipingmushangxiangsudeguocheng。shiyongguangzhahua,womenkeyijiangjihetuxingzhuanhuachengpingmushangdexiangsu。
Direct3Dshiyongsaomiaoxiandexuanranlaichanshengxiangsu。dangdingdianchulijieshuzhihou,suoyoudetuyuanjiangbeizhuanhuadaopingmukongjian,zaipingmukongjiandedanweijiushixiangsu。dian,xian,sanjiaoxingtongguoyizuguangzhaguizebeizhuanhuachengxiangsu。guangzhaguizedingyileyitaotongyidefazelaichanshengxiangsu。guangzhadedaodexiangsuyibanhuixiedaishenduzhi,yigeRGB Adiffuse顏色,一個RGB specular顏色,一個霧化係數和一組或者多組紋理坐標。這些值都會被傳給流水線的下一個階段像素的處理,然後注入到渲染目標。由於實時3D渲染程序要求對用戶的即時操作做出迅速反應,因此通常要求每秒至少20幀以上的渲染速率,這也使得高效率的“光柵化”渲染技術成為當今最受青睞的3D即時成像技術。但是光柵化的缺點也很明顯,那就是無法計算真實的光線,導致很多地方失真。
光線追蹤算法分為兩種:正向追蹤算法和反向追蹤算法。
其中,正向追蹤算法是大自然的光線追蹤方式,即由光源發出的光經環境景物間的多次反射、透射後投射到景物表麵,最終進入人眼。
反向追蹤算法正好相反,它是從觀察者的角度出發,隻追蹤那些觀察者所能看見的表麵投射光。就目前而言,所有3D製zhi作zuo軟ruan件jian的de光guang線xian追zhui蹤zong算suan法fa都dou是shi采cai用yong反fan向xiang追zhui蹤zong法fa,原yuan因yin是shi這zhe種zhong算suan法fa能neng夠gou最zui大da程cheng度du地di節jie省sheng計ji算suan機ji的de係xi統tong資zi源yuan,而er且qie不bu會hui導dao致zhi渲xuan染ran質zhi量liang的de下xia降jiang。

在現實世界中射到物體表麵上通常有三種情況:折zhe射she,反fan射she,吸xi收shou。光guang線xian在zai經jing過guo反fan射she到dao不bu同tong的de地di方fang,被bei選xuan擇ze性xing吸xi收shou,從cong而er光guang譜pu發fa生sheng改gai變bian,再zai多duo次ci反fan射she與yu折zhe射she,最zui終zhong進jin入ru我wo們men自zi己ji的de眼yan睛jing。而er光guang線xian追zhui蹤zong技ji術shu要yao做zuo的de就jiu是shi模mo擬ni這zhe一yi過guo程cheng。
zaixuanranzhong,guangxianzhuizonghuifuyumeiyigexiangsujitiaoshenzhijishitiaoguangxian,ranhouguangzaichangjingzhongchuanbo,yuchangjingzhonggegewutichanshengjiaohui,erchangjingzhongdewutizaishixianjiuyijingbeikaifazheshezhihaoleshuxing,congerdaozhiguangshufashenggezhonggaibian,zuizhongjujizaipingmushang。congerbeiwomenganzhi。
而反向追蹤方式則是計算最終射入我們眼睛的光線的反向光路,即眼睛—物體—光guang源yuan的de過guo程cheng。因yin為wei這zhe麼me做zuo的de話hua,可ke以yi省sheng掉diao很hen多duo並bing不bu需xu要yao計ji算suan的de光guang路lu,在zai光guang線xian追zhui蹤zong中zhong,並bing不bu是shi每mei一yi束shu光guang都dou有you用yong。有you些xie光guang最zui終zhong並bing沒mei有you射she入ru我wo們men自zi己ji的de眼yan睛jing,但dan是shi如ru果guo依yi舊jiu計ji算suan的de話hua就jiu會hui造zao成cheng不bu必bi要yao的de計ji算suan資zi源yuan浪lang費fei。在zai光guang線xian追zhui蹤zong中zhong,光guang同tong樣yang也ye被bei分fen類lei,假jia設she一yi條tiao主zhu光guang線xian是shi不bu可ke見jian的de,那na麼me係xi統tong則ze會hui拋pao棄qi掉diao整zheng條tiao光guang路lu,如ru果guo可ke見jian的de話hua,那na麼me輔fu助zhu光guang線xian(反射,折射,陰影)的計算就開始了。在完成主光線的判別之後,輔助光線的其他屬性(透明度,色彩)操作也已經基本完成了。
光線追蹤在圖形渲染中的應用
將光線追蹤算法應用於圖形渲染最初是由Arthur Appel於1968年提出,那時還叫ray casting。
1979年Turner Whitted帶來了新的研究突破:遞歸光線追蹤算法《Recursive RayTracing Algorithm》。
1984年,Carpenter等人發表了一篇分布式光線追蹤的論文《Distributed RayTracing》,影(ying)響(xiang)甚(shen)廣(guang)。發(fa)展(zhan)到(dao)今(jin)天(tian),大(da)多(duo)數(shu)的(de)照(zhao)片(pian)級(ji)渲(xuan)染(ran)係(xi)統(tong)都(dou)是(shi)基(ji)於(yu)光(guang)線(xian)追(zhui)蹤(zong)算(suan)法(fa)的(de)。基(ji)本(ben)的(de)光(guang)線(xian)追(zhui)蹤(zong)算(suan)法(fa)並(bing)不(bu)難(nan),相(xiang)信(xin)大(da)部(bu)分(fen)計(ji)算(suan)機(ji)圖(tu)形(xing)學(xue)的(de)同(tong)學(xue)都(dou)寫(xie)過(guo)的(de),難(nan)的(de)是(shi)如(ru)何(he)優(you)化(hua)提(ti)高(gao)效(xiao)率(lv)。

說到皮克斯直到《汽車總動員》才開始大規模使用光線追蹤。皮克斯的《汽車總動員》於2006年6月在美國上映,如今已經8年多過去了。皮克斯一直使用的是自家開發的渲染器RenderMan,基於REYES(Renders Everything You Ever Saw)。
REYES是另一種渲染算法,它對於處理複雜場景非常高效。
1984年的時候皮克斯有考慮過光線追蹤,但最終還是堅持使用REYES。那篇關於《汽車總動員》的論文《RayTracing for the Movie“Cars”》裏提到五年前他們就啟動了添加光線追蹤功能到RenderMan這個項目,同期《汽車總動員》正在製作中。REYES在處理反射強烈的汽車表麵材質方麵有些捉襟見肘,隻能用環境貼圖,但仍然達不到光滑閃耀的質感。而這正是光線追蹤擅長的。
下麵介紹幾個使用光線追蹤的主流渲染器:
Mentalray,NVIDIA出品,已經集成到3D建模軟件Autodesk的Maya和3ds Max中。
Arnold近些年日漸風行,Sony Pictures Imageworks,Digital Domain,ILM,Luma Pictures等著名特效公司均有使用該渲染器。
VRay,比Arnold大眾一點,近幾年也在瘋長,它目前有CPU版本和GPU版本(V-Ray和V-Ray RTGPU)。
光線追蹤目前多用於影視特效中做靜幀渲染,但對大眾最有影響的3D圖形遊戲領域顯然還沒有光線追蹤的蹤影,這是為什麼呢?
光線追蹤遲遲不能應用在遊戲行業中的原因很簡單——它那恐怖的計算量。即便是用了反向追蹤算法之後也是如此。
根據Intel的說法,要用光線追蹤渲染出達到現代遊戲的畫麵質量,同時跑出可流暢運行的幀數,每秒需要計算大概10億束光線。這個數字包括每幀每像素需要大概30束不同的光線,分別用來計算著色、光照跟其它各種特效,按照這個公式,在1024×768這樣的入門級分辨率下,一共有786432個像素,乘以每像素30束光線以及每秒60幀,我們就需要每秒能運算141.5億束光線的硬件。
而即便到了今天,頂級的Corei7每mei秒miao能neng處chu理li的de光guang線xian還hai不bu足zu千qian萬wan條tiao。而er且qie這zhe隻zhi是shi運yun算suan量liang上shang的de差cha距ju,由you於yu光guang線xian追zhui蹤zong的de輔fu助zhu光guang線xian每mei一yi條tiao都dou沒mei有you任ren何he相xiang關guan性xing,這zhe意yi味wei著zhe包bao括kuo各ge種zhong緩huan存cun技ji術shu在zai內nei的de“投機取巧”fangshidoumeiyouyongwuzhidi,jisuanguangxianzhuizongfuzhuguangxiandesuoyoudejisuandoujiangzhijieduquneicun,zheduiyuneicunyanchihedaikuanlaishuodoushijingrendekaoyan。erqieduiyuxiancunrongliangyeshiyigebuxiaodetiaozhan,shijishenzhijishiGB的顯存會變的非常有必要。
雖(sui)然(ran)在(zai)遊(you)戲(xi)領(ling)域(yu)引(yin)入(ru)光(guang)線(xian)追(zhui)蹤(zong)是(shi)有(you)極(ji)大(da)挑(tiao)戰(zhan)的(de)事(shi)情(qing),但(dan)這(zhe)項(xiang)技(ji)術(shu)一(yi)直(zhi)有(you)研(yan)究(jiu)機(ji)構(gou)和(he)圖(tu)形(xing)處(chu)理(li)器(qi)廠(chang)商(shang)在(zai)投(tou)入(ru)研(yan)究(jiu)。光(guang)線(xian)追(zhui)蹤(zong)若(ruo)想(xiang)要(yao)應(ying)用(yong)到(dao)遊(you)戲(xi)中(zhong)就(jiu)需(xu)要(yao)做(zuo)到(dao)實(shi)時(shi)渲(xuan)染(ran),就(jiu)是(shi)大(da)家(jia)所(suo)說(shuo)的(de)實(shi)時(shi)光(guang)線(xian)追(zhui)蹤(zong)(Real-time raytracing)。
光線追蹤算法前麵說過了,那什麼樣才是實時的?
6FPS左右就可以產生交互感,15FPS可稱得上實時,30fps不太卡,60FPS感覺平滑流暢,72FPS再往上肉眼就已經分辨不出差別。
所謂實時就是需要達到每秒渲染30幀(zhen)以(yi)上(shang),否(fou)則(ze)就(jiu)達(da)不(bu)到(dao)畫(hua)麵(mian)的(de)流(liu)暢(chang)度(du)要(yao)求(qiu),就(jiu)沒(mei)有(you)實(shi)用(yong)價(jia)值(zhi)。實(shi)時(shi)的(de)光(guang)線(xian)追(zhui)蹤(zong)的(de)難(nan)點(dian)就(jiu)在(zai)於(yu)場(chang)景(jing)複(fu)雜(za)度(du)和(he)需(xu)要(yao)的(de)真(zhen)實(shi)感(gan)渲(xuan)染(ran)效(xiao)果(guo)決(jue)定(ding)了(le)遍(bian)曆(li)和(he)相(xiang)交(jiao)檢(jian)測(ce)的(de)巨(ju)大(da)計(ji)算(suan)量(liang)(場景分割數據結構的重構和光線與場景的相交測試是兩項主要計算)。
這是渲染領域以及任何模擬計算領域裏終極的矛盾:效率和質量的矛盾。
實時光線追蹤技術發展曆史
隨著德國薩爾蘭大學計算機圖形小組所開發的OpenRT庫的完成,光線追蹤技術應用在電腦遊戲的實時渲染中在理論上逐漸成為可能。
OpenRT函數庫是源自薩爾蘭大學的一個計算機圖形小組的實時光線追蹤項目,OpenRT實時光線追蹤項目的目標是為3D遊戲加入實時的光線追蹤效果,該項目會包含以下幾個部分:一個高效的光線追蹤處理核心、以及語法與目前OpenGL類似的OpenRT 應用程序接口,客戶程序員通過這部分接觸之前高效的光線追蹤處理核心的功能,並在遊戲場景設計中調用這些應用程序接口。
薩爾蘭大學除了開發出了OpenRT函數庫外,還設計了一個實時光線追蹤的硬件架構——SaarCOR。SaarCOR研究小組在2005年的SIGGRAPH上展示了第一個實時光線追蹤加速硬件——RPU(Ray Processing Unit)。
RPU跟GPU一樣都是完全可編程架構,能夠提供對材質、幾何以及光照等的實時編程支持。
RPU除了具有傳統GPU的高效性外,最引人矚目的就是支持光線追蹤計術。其使用的指令集跟GPU一樣,因此也能夠對著色程序做最佳化處理。
此外,由於集成了專用的硬件單元,RPU可以支持高速光線跟蹤算法跟遞歸函數調用,對於遞歸光線追蹤算法同樣行之有效。為了提高執行效率,RPU通常將4束光線打包處理,同時多線程計術的支持也保證了硬件資源的高效利用。

SaarCOR在SIGGRAPH 2005展示的RPU原型機用FPGA來構建,頻率運行在66MHz,內存帶寬也隻有350MB/s,但是得益於特別設計的專用架構,其性能可以跟P4 2.6G的CPU跑OpenRT軟件光線追蹤的性能相媲美。
這樣的性能充分體現出RPU架構在處理光線追蹤方麵的高效性,要知道NV當時的高端GPU可是具有RPU原型機23倍的浮點運算能力以及100多倍的帶寬。
更令人興奮的是,由於光線追蹤特別適用於並行處理的天生特性,RPU可以像CPU一樣采用多核架構,原型機可以搭配不同數量的FPGA芯片,比如兩片FPGA就可以提供雙倍於單FPGA的運算能力,而SaarCOR試驗室已經測試過四FPGA的原型機。
就在SaarCOR展示了RPU之後不久,這個研究計劃的人員接觸到了IBM德國的技術人員,獲得了一台擁有一枚CELL處理器的工程樣機。在IBM技術人員的協助下,SaarCOR在短短兩周的時間裏就在這台機器上實現了全屏的實時光線追蹤渲染效果。SaarCOR的研究人員目前已經在Cinema 4D上以插件方式實現了實時光線追蹤。他們還透露了另外一個鮮為人知的消息,那就是SaarCOR其實獲得了NVIDIA 2.5萬美元的讚助,之前的FPGA原型其實就是在NVIDIA資助下進行的。SaarCOR至今未能量產,隨後SaarCOR項目並入了OpenRT光線追蹤開發項目中。
早在十多年前的2004年,德國青年 Daniel Pohl將一款電腦遊戲應用光線追蹤技術作為其學術研究項目。因為ID software的開源,所以《Quake3》成為了他的選擇,並開始移植。
他用OpenRT對其渲染核心進行改造,令人驚訝的是在《Quake3》傳統的光柵化渲染上實現光線追蹤居然顯得出奇的簡單。例如在每個像素的動態、實時陰影僅需要10xingzuoyoudedaimazhilinglaimiaoshuguangxianzhuizongdemoxing。guangxianzhuizongjishudejiarulingzhenggeyouxideguangyingxiaoguohuanranyixin。huamianshenzhichaoguolehenduohoulaifabudexinyouxi。zhihoudejinianli,Daniel Pohl更將注意力放到了《Quake 4》、《Quake War》等遊戲上,試圖在這些遊戲中實現實時光線追蹤算法。有趣的是,Daniel Pohl的實時光線追蹤技術完全不依賴於GPU,僅僅是借助多核CPU的運算能力。也正因為如此,Daniel Pohl隨後被Intel高薪聘用,正式加盟其“視覺運算部”,由此可以看出Intel決心令實時光線追蹤成為現實。

Intel想進軍獨立顯卡市場已經不是一天兩天了。上世紀末intel就曾經出過一款獨顯,名叫i740。但是也僅僅就這一款而已。一心想要重返顯卡市場的intel想以光線追蹤來抗衡AMD與NVIDIA,所以研究光線追蹤的天才程序員DanielPohl被intel收歸門下,進行顯卡的開發。
在2007年的IDF上,Intel正式揭開獨立顯卡——代號“Larrabee”的神秘麵紗,Larrabee隸屬於其萬億次運算項目(Tera-scale),也將是Intel的第一款實用級萬億次運算處理器,其處理能力“大大超過”一萬億次浮點每秒;根據Intel首席架構師EdDavis的演示文稿,Larrabee基於可編程架構,主要麵向高端通用目的計算平台,至少有16個核心,主頻1.7-2.5GHz,功耗則在150W以上,支持JPEG紋理、物理加速、反鋸齒、增強AI、光線追蹤等特性。

由於天生的CPU傳統架構血統,Larrabee特別適合用來計算光線追蹤。
在IDF2007的技術演示中,Intel也特意大張旗鼓地宣傳Larrabee在實時光線追蹤領域所取得的最新成就。但是Larrabee卻並沒有想象中的那麼順利,在2009年的IDF大會上,我們看到了新的Corei7係列,Atom雙核,而Larrabee卻被冷落在一旁,這不得不令人惋惜。、
作為一款中途夭折的產品,Larrabee在(zai)很(hen)多(duo)人(ren)的(de)心(xin)目(mu)中(zhong)應(ying)該(gai)一(yi)直(zhi)都(dou)保(bao)留(liu)著(zhe)幾(ji)分(fen)神(shen)秘(mi)色(se)彩(cai),最(zui)後(hou)該(gai)項(xiang)目(mu)的(de)不(bu)了(le)了(le)之(zhi),還(hai)是(shi)給(gei)實(shi)時(shi)光(guang)線(xian)追(zhui)蹤(zong)的(de)發(fa)展(zhan)帶(dai)來(lai)了(le)些(xie)許(xu)遺(yi)憾(han)。大(da)家(jia)也(ye)都(dou)知(zhi)道(dao)最(zui)後(hou)Larrabee的技術是用到了“眾核架構”(MIC)的XeonPhi協處理器當中,成為Intel在高性能計算領域和GPU廠商的加速卡競爭的利器
就在Larrabee項目中途夭折以後,實時光線追蹤技術似乎裹足不前了。但在2009年3月,一家名不見經傳的初創公司Caustic Graphics突然浮出水麵,帶來了一種具有突破性意義的實時光線追蹤軟硬件解決方案,號稱可提速200倍,業內震驚。
其管理團隊聚集了來自蘋果、Autodesk、ATI、Intel、NVIDIA等業界巨頭的技術與圖形專家,三位創始人James McCombe、Luke Peterson、Ryan Salsbury曾經在蘋果共事,其中McCombe被譽為是OpenGL世界的“第三號人物”,同時也是iPhone、iPod等嵌入式、低功耗平台光柵化渲染算法的首席架構師。
CausticGraphics聲稱一舉解決了光線追蹤算法效率低下的難題。
根(gen)據(ju)該(gai)公(gong)司(si)的(de)說(shuo)法(fa),他(ta)們(men)的(de)算(suan)法(fa)之(zhi)所(suo)以(yi)獨(du)特(te)是(shi)因(yin)為(wei)它(ta)解(jie)決(jue)了(le)傳(chuan)統(tong)光(guang)線(xian)追(zhui)蹤(zong)算(suan)法(fa)偏(pian)向(xiang)隨(sui)機(ji)性(xing)的(de)問(wen)題(ti)。新(xin)算(suan)法(fa)大(da)幅(fu)提(ti)高(gao)了(le)光(guang)線(xian)追(zhui)蹤(zong)計(ji)算(suan)的(de)局(ju)部(bu)性(xing),但(dan)這(zhe)部(bu)分(fen)的(de)算(suan)法(fa)需(xu)要(yao)一(yi)顆(ke)協(xie)處(chu)理(li)器(qi)來(lai)完(wan)成(cheng)。Caustic Graphics的(de)工(gong)程(cheng)師(shi)們(men)相(xiang)當(dang)明(ming)智(zhi),他(ta)們(men)對(dui)於(yu)該(gai)硬(ying)件(jian)的(de)定(ding)位(wei)僅(jin)僅(jin)是(shi)一(yi)顆(ke)專(zhuan)注(zhu)於(yu)光(guang)線(xian)追(zhui)蹤(zong)運(yun)算(suan)的(de)協(xie)處(chu)理(li)器(qi),而(er)絕(jue)不(bu)會(hui)幹(gan)越(yue)俎(zu)代(dai)庖(pao)的(de)蠢(chun)事(shi),著(zhe)色(se)之(zhi)類(lei)的(de)傳(chuan)統(tong)光(guang)柵(zha)化(hua)處(chu)理(li)依(yi)舊(jiu)由(you)GPU來完成。

除此以外,在2009年8月的SIGGRAPH會議上,圖形處理器巨頭Nvidia發布了OptiX,這是一個基於Nvidia GPU的實時光線追蹤加速引擎。
在功能上,Optix引擎與前麵介紹的OpenRT類似,都是一組光線追蹤的函數庫,Nvidia在介紹中說optix引擎基於CUDA架構,開發者可以使用C語言編程,創造出基於GPU運算的光線追蹤應用。我們有足夠的理由相信,Optix所用的光線追蹤模型,極有可能與SAARCOR的OpenRT 引擎相同,或者說OPTIX隻是OpenRT的NVIDIA商用化版本。但由於光線追蹤的算法和傳統光柵化處理算法區別較大,現有SIMD架構的GPU內核在計算光線追蹤算法時的效率不高,完全用傳統GPU來加速光線追蹤的做法至今也沒有成功進入遊戲領域。
另外,NVIDIA目前已經有virtual GPU技術,類似於雲計算,不需要本地的GPU,但該技術進入大眾消費市場應該還有很長的路要走。
Imagination夢想照進現實
可能很多人不知道的是,在移動GPU領域呼風喚雨的另一個隱形巨頭Imagination,其實也在努力摘取這個3D圖像處理皇冠上的明珠,隻不過它的做法比較出人意料,在2010年底突然收購了前文介紹過的創業公司Caustic Graphics,並在2013年初推出了光線追蹤專用加速卡,不過該產品隻針對專業市場,並未掀起業界的大波瀾。但在去年3月的GDC2014遊戲開發者大會上,Imagination正式發布了全新的“PowerVR Wizard”GPU家族,號稱可在適合移動、嵌入式應用的功耗水平下,提供高性能的光線追蹤、圖形和計算能力,這次真正震動了業界(筆者看到這個新聞的時候的確是不敢相信)。

新家族的第一名成員是PowerVR GR6500,基於最新一代的四陣列移動GPU PowerVR Rogue設計而來,整合了PowerVR Series6 XT係列的所有特性,並加入了強大的光線追蹤硬件加速電路。
硬件的優化可以分為采用GPU和SIMD的優化以及專門的光線追蹤硬件。前者就是對軟件算法進行針對GPU或SIMD的(de)優(you)化(hua),同(tong)時(shi)一(yi)些(xie)並(bing)行(xing)環(huan)境(jing)下(xia)的(de)數(shu)學(xue)庫(ku)函(han)數(shu)和(he)其(qi)他(ta)基(ji)本(ben)算(suan)法(fa),如(ru)排(pai)序(xu)等(deng)也(ye)間(jian)接(jie)起(qi)到(dao)了(le)加(jia)速(su)的(de)作(zuo)用(yong)。後(hou)者(zhe)就(jiu)是(shi)指(zhi)將(jiang)光(guang)線(xian)追(zhui)蹤(zong)中(zhong)獨(du)有(you)的(de)相(xiang)交(jiao)檢(jian)測(ce),場(chang)景(jing)分(fen)割(ge)等(deng)部(bu)分(fen)采(cai)用(yong)專(zhuan)門(men)的(de)硬(ying)件(jian)來(lai)優(you)化(hua),G6500就是使用後麵一種優化,這些專用加速電路包括:
光線數據主控(Ray Data Master):為主調度器提供光線交互數據,準備給著色器執行,並評估光線的最終數據屬性。
光線追蹤單元(Ray Tracing Unit):使用固定函數(不可編程)執行光線追蹤遍曆隊列,並彙總光線一致性,以降低功耗和帶寬需求。
場景層次生成器(Scene Hierarchy Generator):加速動態物體的更新。
幀收集器緩存(Frame Accumulator Cache):提供對幀緩衝的寫入合並鬆散式訪問。
從芯片的架構圖圖可以看出,所有這些設計都可以和GPU架構的其他模塊高效整合、完美通信,生成實時、交互的光線追蹤畫麵,而且不僅適用於移動、嵌入式平台,還能擴展到主機和主流遊戲PC。更(geng)重(zhong)要(yao)的(de)是(shi),這(zhe)些(xie)模(mo)塊(kuai)不(bu)會(hui)影(ying)響(xiang)傳(chuan)統(tong)圖(tu)形(xing)流(liu)水(shui)線(xian)的(de)著(zhe)色(se)性(xing)能(neng),因(yin)為(wei)它(ta)們(men)並(bing)非(fei)依(yi)賴(lai)著(zhe)色(se)器(qi)的(de)浮(fu)點(dian)性(xing)能(neng)來(lai)執(zhi)行(xing)光(guang)線(xian)追(zhui)蹤(zong),效(xiao)率(lv)最(zui)多(duo)可(ke)以(yi)達(da)到(dao)純(chun)GPU計算或者軟件算法的100倍。
那麼,PowerVR GR6500的光線追蹤性能究竟如何呢?
Imagination宣稱,600MHz頻率下每秒可追蹤最多3億束光線,進行240億次節點測試,生成1億個動態三角形。由於還沒有實體的芯片問世,現在隻有理論數值。當年Caustic Graphics曾經透露,完全光線追蹤化的遊戲引擎還得等很多年,並估計至少四五年後他們的硬件才能在1920×1080分辨率下達到60FPS的有效幀率。
當時是2009年,這兩年正好是這個時候,我們相信由於Imagination的支持,性能應該能夠達到當年Caustic Graphics的預測水平,從而達到主流遊戲的運行要求。

Imagination還開發了跨平台的OpenRL API,並放出了SDK,希望開發人員能夠參與其中。
據說OpenRL還在申請成為國際標準,希望成為OpenGL這樣的跨平台標準API。當然這個API也是來自於原來Caustic Graphics的軟件開發層Caustic GL,由於其創始人具有非常強的OpenGL專業背景,Caustic並沒有自己去開發一套專用的API,而是基於OpenGL ES2.0編寫擴展子集,並將其命名為Caustic GL。
采用OpenRL的最大優勢,就是允許開發人員像往常編寫著色程序那樣來編寫新的光線追蹤著色程序,而一些原本非常複雜的光影著色程序(用於創建複雜的光照跟投影效果)則可以由簡單的光線追蹤著色程序來代替,這樣既可以減輕程序員的負擔還可以提升硬件效率。
開發人員還可以將OpenRL與其他圖形API相結合,比如OpenGL3/3.1,未來甚至能夠與DX混合調用。另一個有趣的特性是OpenRL並非光線追蹤硬件加速電路專用,它同樣支持GPU,所以在沒有硬件加速電路的係統裏,光線追蹤計算也可以交由GPU來負責,當然效率將大打折扣。
從以上的介紹我們可以看出Imagination已經徹底把CausticGraphics的軟硬件技術集成到自己的GPU裏麵,並由此提供了極具競爭力的實時光線追蹤性能,而仍舊保持了低功耗和低成本的特色,將會給整個圖形市場帶來顛覆性的影響。
移動GPU第一次走在了桌麵GPU的前麵,相信這對於Imagination擴大整體GPU市場占有率會帶來極大的推動力。Imagination也可以借此進入被NV和AMD所把持的桌麵和專業圖形市場。
當年ARM處(chu)理(li)器(qi)由(you)於(yu)性(xing)能(neng)不(bu)佳(jia),隻(zhi)能(neng)退(tui)守(shou)深(shen)耕(geng)移(yi)動(dong)和(he)嵌(qian)入(ru)式(shi)市(shi)場(chang),不(bu)料(liao)反(fan)倒(dao)獲(huo)得(de)巨(ju)大(da)成(cheng)功(gong)成(cheng)為(wei)當(dang)代(dai)最(zui)有(you)影(ying)響(xiang)力(li)的(de)處(chu)理(li)器(qi)指(zhi)令(ling)集(ji)架(jia)構(gou),甚(shen)至(zhi)開(kai)始(shi)進(jin)軍(jun)桌(zhuo)麵(mian)和(he)服(fu)務(wu)器(qi)市(shi)場(chang),Imagination似乎也開始走上了這條逆襲之路。
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 從機械執行到智能互動:移遠Q-Robotbox助力具身智能加速落地
- 品英Pickering將亮相2026航空電子國際論壇,展示航電與電池測試前沿方案
- 模擬芯片設計師的噩夢:晶體管差1毫伏就廢了,溫度升1度特性全飄
- 3A大電流僅需3x1.6mm?意法半導體DCP3603重新定義電源設計
- 芯科科技Tech Talks與藍牙亞洲大會聯動,線上線下賦能物聯網創新
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
按鈕開關
白色家電
保護器件
保險絲管
北鬥定位
北高智
貝能科技
背板連接器
背光器件
編碼器型號
便攜產品
便攜醫療
變容二極管
變壓器
檳城電子
並網
撥動開關
玻璃釉電容
剝線機
薄膜電容
薄膜電阻
薄膜開關
捕魚器
步進電機
測力傳感器
測試測量
測試設備
拆解
場效應管
超霸科技




