Hello . 大家好,今天給大家簡單介紹一下引擎裏麵常見的渲染方式,我是木偶心沒。
一個完整的項目製作的時候,開始之前都要優先確定到底使用什麼方式來渲染光照,比如前向渲染或者延遲渲染。這樣才能針對每一個渲染方式不同的特點來製作物件,以避免後續更改渲染方式造成效果上的差異。
接下來就簡單解釋一下一般在引擎裏麵的選擇前向渲染Forward Rendering和延遲渲染Deferred Rendering。
1、光柵化
為了更好的理解渲染方式,我們需要了解一下光柵化。
我們現在能看到的所有圖像都是由像素組成的,也就是所有的模型和材質光照等信息最終都會被繪製成為像素顯示在屏幕上,而這個繪製在屏幕像素上的過程就叫做光柵化。而光柵化的目的就是找出一個幾何單元(比如三角形)所覆蓋的像素。
過程如下,首先讀取三個頂點,然後將這三個頂點連為三角形。接下來判斷像素們是否在三角形內,如果在就直接用像素著色器計算出來的顏色對它進行上色。不斷地的循環,知道畫完模型所有的三角形,我們就能看到我們模型的渲染效果了。

而一個三角形的顏色取什麼可以有三種方法;
1)三個定點顏色取平均值
2)取某一個頂點的顏色
3)三個頂點顏色的漸變
具體用哪一種可根據實際情況進行選擇。
而前向渲染和延遲渲染就是對模型上麵的光照進行光柵化的過程。他們的不同之處也在於對光照渲染的順序問題。
2、前向渲染Forward Rendering
前向渲染會對場景裏每一個幾何體進行光柵化,就需要對每一個幾何體計算場景所有的燈光來得到他們正確的光影效果,
我們可以通過深度測試來舍棄被遮擋的或在相機的視椎體內不可見的幾何對象來進行優化,也可以通過舍棄不在相機視椎體內的燈光來進一步優化。
所以,被剔除的這些幾何體和一些不可見的燈光的計算是完全浪費的。同時因為每個幾何體都需要計算所有的燈光,所以計算量非常大,即使是GPU也很難負擔,所以如果選擇使用前向渲染的話,場景中需要注意燈光的數量。
前向渲染的一個典型特征是一個幾何體從傳入顯卡進行處理到最後屏幕顯示圖形的整個過程是不間斷的,是一個線性的處理過程。

3、延遲渲染Deferred Rendering
從名字來看,延遲說明了Geometry到RenderTarget的處理過程不是連續的,在從GS輸出的光柵化了的數據會輸入到Geometry Buffer,也就是G-Buffer,在這裏是不會計算光照的。

G-Buffer生成後,開始計算光照,實際上接下來的計算基本上全是G=Buffer中的圖像合成過程,由此可見一個燈光的計算實際上隻會對它覆蓋的像素計算一次,所以燈光的渲染成本就大大降低了。
而且G-Buffer裏包含的各通道信息同樣可以在後期處理中使用,所以延遲渲染能夠表現的後期效果更多。
延遲渲染的基本原理是通過MRT(multiple render targets)將幾何體渲染到屏幕空間,渲染過程不包括光照,而深度緩衝,法向量緩衝以及顏色緩衝作為不同的緩衝區被寫入,這些緩衝區能夠提供足夠的信息使片元著色器的每一個光源針對每一個像素完成光照計算。
知道了每一個像素的距離和它對應的法向量,我們就可以得到光源照射在該像素上的最終效果。

4、如何選擇
雖然對比起來前向渲染更加消耗資源,而且延遲渲染能有更多效果,但是在實際項目中,需要根據目標平台以及各方麵配置條件來進行選擇。比如,一般在VR遊戲裏麵就會使用前向渲染,因為延遲渲染生成的各個緩存很占用帶寬,VR沒法帶動,所以需要使用前向渲染。但是因為前向燈光比較費,所以我們需要把燈光數量調低一些。
另外前向渲染可以使用MSAA多重采樣抗鋸齒來得到更好的抗鋸齒效果;而延遲渲染就隻能依賴臨時抗鋸齒TAA。而且延遲渲染也不能處理半透明物體。除此以外,延遲渲染對顯卡也有一定的要求,必須支持MRT(Multiple Render Targets),Shader Mode3.0以上。
來源:Thepoly公眾號
熱門課程
專業講師指導 快速擺脫技能困惑相關文章
多種教程 總有一個適合自己專業問題谘詢
你擔心的問題,火星幫你解答《黑神話:悟空》作為一款現象級中國遊戲,其成功離不開多種先進計算機技術的支持。本文將深入解析該遊戲背後的關鍵技術,包括虛幻引擎......
在遊戲開發領域,Unity和Unreal Engine(虛幻引擎)都是備受推崇的遊戲引擎,但它們各自擁有不同的特點和優勢。
春節之後大量搶人!這6個行業是轉行首選,進去1年頂3年!火星畢業就能進
春節後求職,哪些行業進去能立馬漲薪?打破信息差很關鍵!
還沒畢業,就去幫電視台拍活動,作品被主任說“非常好”!猜猜是哪個專業呀?
回想過去,電子遊戲裏的草其實並不是真正的草。開發者們隻是簡單地把草的紋理直接貼在遊戲關卡的地板上
在火星的就業指導老師那裏,經常收到同學們這樣、那樣的提問。其中有一些共性問題,就業老師會根據自己豐富的經驗,為同學們給出合適的回答。