之前微妙網(wǎng)渲染為大家簡(jiǎn)單介紹了一下延遲渲染是什么,今天小編我就繼續(xù)給大家分享一下延遲渲染背后的工作原理,幫助大家更好的理解延遲渲染這個(gè)技巧。![]() 目前我們看到最終畫面都是2D的,只能看到有限的像素?cái)?shù),理論上我們只要處理(指光照,陰影處理)最終我們可以看到的點(diǎn)的效果就夠了,多余的處理是浪費(fèi)的。而正常的前向渲染(Forward Shading)流程是把空間的點(diǎn)進(jìn)行各種剪裁后,進(jìn)行處理,所處理量遠(yuǎn)遠(yuǎn)大于我們最終看到的。所以延遲渲染出現(xiàn)了。它先將攝像機(jī)空間的點(diǎn)光柵化轉(zhuǎn)化成屏幕坐標(biāo)后再進(jìn)行處理。這樣就能減少處理的次數(shù),從而提高效率。 既然把處理流程放在了后面,那么處理所需要的參數(shù)也必須帶到后面的流程。這里使用MRT(multi target render)就很重要,RT占用的顯存越大,對(duì)顯卡的的帶寬要求也就越高,DX10支持8個(gè)MRT(DX11的MRT數(shù)量我沒查到,在DX11的新特征中,也沒有提到增加MRT,所以可能也是8個(gè))。后面的處理至少需要空間位置信息,可以通過Depth(至少16位)獲得,其他可以將法線信息(normal),高光信息(specular),AO系數(shù),diffuse,自發(fā)光(emissive),材質(zhì)編號(hào)等信息放入MRT中。 通過本文,相信讀者們對(duì)延遲渲染這個(gè)渲染技巧的工作原理已經(jīng)有了初步的了解了。之后微妙網(wǎng)渲染還會(huì)給大家繼續(xù)分享延遲渲染的具體操作步驟,請(qǐng)大家持續(xù)關(guān)注哦。 |