光線追蹤算法的計(jì)算要求非常高,稍微好點(diǎn)的畫質(zhì),至少要求每像素達(dá)到上千的采樣數(shù)量。簡(jiǎn)單介紹下光線追蹤算法:
從相機(jī)發(fā)射射線到場(chǎng)景中與場(chǎng)景中物體進(jìn)行相交檢測(cè),如果碰撞檢測(cè)成功,則根據(jù)物體的材質(zhì)計(jì)算顏色,然后計(jì)算反射或者折射光線的方向,繼續(xù)跟蹤這條新的光線,直到達(dá)到最大遞歸深度或者沒有碰到任何物體。如果不采用BVH。
那么每一條射線都需要和場(chǎng)景中的所有物體球體、三角形等復(fù)雜物體進(jìn)行相交檢測(cè),而這個(gè)檢測(cè)時(shí)間是非常昂貴的,因?yàn)橐?jì)算直線和球體的相交,直線和三角形的相交等,這些計(jì)算都比較復(fù)雜,尤其是三角形這塊。相交檢測(cè)的時(shí)間是目前光線追蹤算法從理論到大規(guī)模實(shí)際應(yīng)用過渡的主要瓶頸。
光線追蹤在移動(dòng)端仍屬較新領(lǐng)域,原因在于該技術(shù)對(duì)算力要求極高。以往硬件選擇的折衷方案是通過軟件層面進(jìn)行模擬,但效果不夠理想。移動(dòng)設(shè)備總是會(huì)受限于面積和功耗預(yù)算,我們需要一個(gè)具有高效架構(gòu)的解決方案,以降低功耗?;贗magination的光線追蹤架構(gòu),光線追蹤在智能手機(jī)等低功耗嵌入式設(shè)備中不僅可行,而且夠快。
在傳統(tǒng)游戲的圖形渲染處理中,對(duì)于光線的處理仍是以光柵化渲染為主,但光柵化作為一種取巧的手段,需要大量的手工設(shè)置,且最終只能在視覺上接近真實(shí),并不遵循物理規(guī)律。就如省略了計(jì)算光線的步驟后,同一個(gè)場(chǎng)景里各種物體之間不會(huì)有任何光影關(guān)系,比如鏡面和水面呈現(xiàn)的光線反射和折射效果,單靠光柵化就無法實(shí)現(xiàn)。