1. 程式人生 > >unity deferred lighting

unity deferred lighting

不同於硬體的tbdr

軟體層把光照放後面計算也有一個tbdr

先說deferred rendering

再說tiled

1.gbuffer出

G0 albedo ---rgb occlusion ---a

G1 reflection 相關資訊

G2 normalize(normalx2-1)

reflection pass-reflection emissive pass-shadowpass-lightingpass

shadow其實也是light的一部分

light pass用normal 和reflection的資訊計算光照

只算螢幕上最後一層 這裡比forward省了前面那些層的光照計算 所以叫deferred

2. light資訊在world space做 proj到screen 能得到每個tile 涉及的light 放連結串列裡

取的時候用 screen uv作為索引 取當前tile受那些光影響 把這些光計算疊加

這裡省的是 light數量