1. 程式人生 > >Unity渲染路徑比較

Unity渲染路徑比較

1 前向渲染   最常用的渲染路徑。首先基礎場景渲染非透明物體,然後每個光源需要一個pass。同時,也會有很多畫素進行了FS後,被後面的測試拋棄。造成浪費。所以如果一個場景時多光源,效能會有嚴重的損失。 unity的前向渲染目前只許一盞 畫素光源。 好處: 不需要特性,材質很靈活 壞處: 有很多被拋棄掉的畫素也會執行FS,多光源的情況效能下降的厲害。 他的擴充套件有 Z-Pass 第一個pass渲染z-buffer。第二個pass進行比較,防止產生光照浪費。不過現在手機硬體都支援early-z,所以Z-pass不太需要。 2 延遲渲染     在螢幕空間進行渲染。第一個pass把 nomal,diffuse,special,environment等資訊render到一個framebuffer(G-buffer)上,因為一個buffer存不下,所以需要MRT。第二個pass根據這些資訊進行光照。 好處:多光源下 效能也不會下降太厲害。 壞處: 需要MRT的支援。G-buffer會很大。因為要把材質RT,所以材質引數不能太多。 3 延遲光照     基於延遲渲染改進,第一個pass只儲存diffuse special資訊。第二個pass根據這些資訊進行光照。第三個pass在渲染一遍物體,然後跟第二遍pass生成的光照buffer進行混合。
好處: 可以處理多光源的情況,可以讀取材質資訊,可以進行多變。 壞處: 多一個pass unity推薦延遲光照渲染