渲染关系 | 按照渲染流程取得正确的pass”LightMode”=”ForwardBase” |
---|---|
相同LightMode 标签,按照从上到下依次渲染,每个pass渲染一次,按照 blend 进行混合 | |
前向渲染 主要灯光使用”LightMode”=”ForwardBase” | |
次要灯光使用”LightMode”=”ForwardAdd” | |
延迟渲染 使用 “LightMode”=”Deferred” | |
生成阴影 使用 “LightMode”=”ShadowCaster”,必须有次通道,或者 fallback 的shader中含有此通道,不然无法产生阴影 | |
接受阴影 还没搞清楚(应该和产生阴影类似) |
例如:场景中2个物体,前向渲染两个通道,第一个通道渲染绿色,第二个通道渲染蓝色 | |
---|---|
混合方式 One zero | 显示为蓝色 |
混合方式 One One | 显示为青色(cyan) |
setpass calls | 增加物体个数不会增加setpass calls; 每增加一个参与(正确的LightMode 标签)渲染的通道增加一个setpass calls; |
batches (主要参数) | 每个物体每个参与(正确的LightMode 标签)渲染的pass产生一个batches; 2个物体,前向渲染两个通道 产生4个batches(没有动态批处理) 在测试中显示多pass显示不能动态批处理,而在其他资料中显示第一个pass可以动态批处理,此处存疑 |
drawcall | 同上 |
渲染顺序 | 测试用例:方块123 各2通道,方块4使用其他shader单通道,渲染队列2000:共4个方块 结论: 3个方块总是先渲染第一个pass ,在渲染后续pass(方块123,pass1,方块123pass2) 其他方块可以插入多个pass中间,不能插入同一个pass中间,同一个pass方块123近似视为一个物体(但是不能动态批处理) (例如 方块123,pass1,方块4, 方块123pass2 ; 方块4,方块123,pass1, 方块123pass2; 方块123,pass1, 方块123pass2 , 方块4;) 不准确,后续使用 几何着色器 测试发现 极少情况下 能插入同一个pass中间 顺序按照 深度排序,但是方块123 中心深度 计算方式不明,有的时候Z轴距离要相差很远才能改变渲染顺序 测试表明,因深度改变渲染顺序存在触发边界,边界根据物理距离相机深度会发生变化,具体边界没有测出。 |