SRP
一种通过C#脚本在Unity中配置和执行渲染的方法
RenderPipeLine
ForwardShading
原理:每个作用于物体的像素光单独计算一次,drawCall随着物体与光照数量增加而成倍增加
优点:不受硬件限制
缺点:光照计算开销成倍增加随着光源和物体数量增加。
每个物体接受光照数量有限。
DeferredShading
原理:物体颜色、法线、材质等信息先渲染到G-Buffer中,光照最后单独渲染,避免每个物体多个光照批次的问题
优点:作用于每个物体光照数量不再受到限制,光照计算不随着物体增加而增加
缺点:移动设备需要支持OpenGL3.0。
不支持MSAA。
半透明物体仍然使用前向渲染。
CommandBuffer
用于拓展Unity渲染管线。
包含一系列渲染命令,比如设置渲染目标,绘制网格等,并可以设置为在摄像机期间的各个点执行渲染。
LWRP对性能改进
DrawCall->SRP Batcher
填充率->NewShading
内存带宽->NewRender
LWRP特性
1.精简优化过的渲染管线:
聚焦于性能、针对移动和XR平台
2.Single-Pass ForwardRendering:
高性能和高一致性的PBR
新Shader库
一次渲染多个实时光
可插入ScriptableRenderPasses
3.基于C#源码:
渲染过程可读
4.图形功能课定制化
增加、修改、删除、学习
光照
1.实时光照:
按照每个物体进行光照剔除
在一个批次进行渲染
针对每个物体限制:一盏主方向光、四盏附加光
每个相机16盏可见光
2.给予物理的光照衰减:
只受强度控制,不受范围影响
相关资料:
官方LWRP讲解
https://www.bilibili.com/video/av38056528
LWRP管线剖析
https://blog.csdn.net/qq_37043683/article/details/80989492
民间文档https://blog.csdn.net/weixin_42163773/article/details/84317223