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