延遲渲染是渲染過程中的一個(gè)常見的渲染技巧,可以比較高效的提高我們的工作效率,今天微妙網(wǎng)就給大家簡單介紹一下延遲渲染是什么,以及它背后的工作原理。不知道的同學(xué)要好好聽哦。 延遲渲染是這樣一種技術(shù):將光照/渲染計(jì)算推遲到第二步進(jìn)行計(jì)算。我們這樣做的目的是為了避免多次(超過1次)渲染同一個(gè)像素。 其基本思想如下: 1、在第一步中,我們渲染場(chǎng)景,但是與通常情況下應(yīng)用反射模型計(jì)算片斷顏色不同的是,我們只是簡單的將幾何信息(位置坐標(biāo),法線向量,紋理坐標(biāo),反射系數(shù)等等)存儲(chǔ)在中間緩沖區(qū)中,這樣的緩沖區(qū)我們稱之為g-buffer(g是幾何geometry的縮寫)。 2、在第二步,我們從g-buffer中讀取信息,應(yīng)用反射模型,計(jì)算出每個(gè)像素的最終顏色。 ![]() 延遲渲染技術(shù)的應(yīng)用使得我們避免了應(yīng)用反射模型于最終不可見的片斷上。例如,考慮這樣的像素,它位于兩個(gè)多邊形重疊的區(qū)域。通常的片斷著色器會(huì)讀對(duì)每個(gè)多邊形分別計(jì)算那個(gè)像素一次;然而,兩次執(zhí)行的結(jié)果最終只有一個(gè)成為該像素的最終顏色(這里基于的一個(gè)假設(shè)是:混合已被禁用)。這樣,其中的一次計(jì)算就是無用的。有了延遲渲染技術(shù),反射模型的計(jì)算會(huì)推遲到所有幾何體被處理之后,那時(shí)候每個(gè)像素位置幾何體的可見性也是已知的。這樣,對(duì)于屏幕上的每個(gè)像素,反射模型的計(jì)算只會(huì)發(fā)生一次。 延遲渲染技術(shù)其實(shí)還是比較容易理解的,而且使用起來也很方便,對(duì)于一些有著復(fù)雜光線的模型很適用。之后微妙網(wǎng)渲染還會(huì)分享更多有關(guān)延遲渲染的文章,大家記得關(guān)注哦。 |