Unity SRP

SRP: Script Render Pipeline 可编程渲染管线,一种通过C#脚本在Unity中配置和执行渲染的方法。

Unity SRP_第1张图片
现有的渲染流水线

Opaque Objects : 不透明的物体。
Opaque Image Effect: 不透明的后期处理。
SkyBox:天空盒。
Transparencies:透明物体。
ImageEffects:透明的后期处理。

Forward Rendering: 渲染路径之一,根据不同光照的需求选择,需要控制光照(光源?)数量
Deferred Shading:渲染路径之一,满足不同光照需求,相对光照数量不会增加太多开销
Camera Rendering:(Command Buffer)在现有管线流程中插入可定制性,如上图绿点。




Unity SRP_第2张图片
Forward Rendering原理

随着物体和光照的增加, draw call跟着成倍增加。
假设2个光,4个物体,就会渲染8次,3个光、4个物体,就是12次。光源数量受到限制,适用移动/VR应用。
MSAA: 多重采样抗锯齿(MultiSampling Anti-Aliasing) 是一种特殊的超级采样抗锯齿 (SSAA)。MSAA 首先来自于 OpenGL。具体是 MSAA 只对 Z 缓存(Z-Buffer)和模板缓存 (Stencil Buffer)中的数据进行超级采样抗锯齿的处理。可以简单理解为只对多边形的边缘进行 抗锯齿处理。这样的话,相比 SSAA 对画面中所有数据进行处理,MSAA 对资源的消耗需求 大大减弱,不过在画质上可能稍有不如 SSAA。




Unity SRP_第3张图片
Deferred Shading

需要后处理的反锯齿来平滑处理,应该会额外增加性能开销。
上面说的应该是OpenGL ES3.0




Unity SRP_第4张图片
Deferred Shading案例




毛玻璃效果(视频17:02)




参考资料
官方直播录屏
《Real-TimeRendering 3rd》提炼总结

你可能感兴趣的:(Unity SRP)