SRP: Script Render Pipeline 可編程渲染管線,一種通過C#腳本在Unity中配置和執(zhí)行渲染的方法燃异。
現(xiàn)有的渲染流水線
Opaque Objects : 不透明的物體聊闯。
Opaque Image Effect: 不透明的后期處理胡诗。
SkyBox:天空盒子刮。
Transparencies:透明物體。
ImageEffects:透明的后期處理悯蝉。
Forward Rendering: 渲染路徑之一归形,根據(jù)不同光照的需求選擇,需要控制光照(光源鼻由?)數(shù)量
Deferred Shading:渲染路徑之一暇榴,滿足不同光照需求,相對(duì)光照數(shù)量不會(huì)增加太多開銷
Camera Rendering:(Command Buffer)在現(xiàn)有管線流程中插入可定制性,如上圖綠點(diǎn)蕉世。
Forward Rendering原理
隨著物體和光照的增加跺撼, draw call跟著成倍增加。
假設(shè)2個(gè)光讨彼,4個(gè)物體,就會(huì)渲染8次柿祈,3個(gè)光哈误、4個(gè)物體,就是12次躏嚎。光源數(shù)量受到限制蜜自,適用移動(dòng)/VR應(yīng)用。
MSAA: 多重采樣抗鋸齒(MultiSampling Anti-Aliasing) 是一種特殊的超級(jí)采樣抗鋸齒 (SSAA)卢佣。MSAA 首先來自于 OpenGL重荠。具體是 MSAA 只對(duì) Z 緩存(Z-Buffer)和模板緩存 (Stencil Buffer)中的數(shù)據(jù)進(jìn)行超級(jí)采樣抗鋸齒的處理⌒椴瑁可以簡(jiǎn)單理解為只對(duì)多邊形的邊緣進(jìn)行 抗鋸齒處理戈鲁。這樣的話,相比 SSAA 對(duì)畫面中所有數(shù)據(jù)進(jìn)行處理嘹叫,MSAA 對(duì)資源的消耗需求 大大減弱婆殿,不過在畫質(zhì)上可能稍有不如 SSAA。
Deferred Shading
需要后處理的反鋸齒來平滑處理罩扇,應(yīng)該會(huì)額外增加性能開銷婆芦。
上面說的應(yīng)該是OpenGL ES3.0
Deferred Shading案例
毛玻璃效果(視頻17:02)