各渲染路径对于我们来说的最大区别就是它们对光照的处理不同
- 各渲染路径处理光照的区别
- 各渲染路径Pass处理的区别
- 各渲染路径的优缺点
1、各渲染路径处理光照的区别
前向渲染路径:
有一套划分光源“三六九等”的规则,将光源分成了高中低三种身份
主要通过 灯光渲染模式、项目质量设置中的像素灯光计数的数量、光照强度、距离物体距离来综合判定
顶点照明渲染路径:
基本思想就是所有的光都按照逐顶点的方式进行计算的
在内置渲染管线中,它只会最多记录8个光源的数据
只会将光相关的数据填充到那些逐顶点相关的内置光源变量
延迟渲染路径:
对光照的数量没有任何限制,并且所有灯光都可以采用逐像素渲染
它不能处理半透明物体,并且不支持真正的抗锯齿
2、各渲染路径Pass处理的区别
前向渲染路径:
Base Pass(基础渲染通道):
主要用于处理影响该物体的一个高质量光源(平行光)、所有中(逐顶点处理)低质量(SH处理)光源 等
Additional Pass(附加渲染通道):
主要用于处理影响该物体的除平行光以外的其它高质量光源(每个高质量光源都会调用)
顶点照明渲染路径:
在一个Pass当中按照逐顶点的方式一次性对所有光照去进行计算
延迟渲染路径:
第一个Pass(对于每个物体,该Pass只会执行一次,通常无需我们自己实现)
主要判断哪些片元可见,并且将可见片元的相关信息存储到G缓冲区中
第二个Pass
利用G缓冲区中各个片元的相关信息进行真正的相关计算,最终将颜色写入颜色缓冲区
3、各渲染路径的优缺点
前向渲染路径
优点:适用于相对简单的场景和较少数量的光源,基本可以实现任何渲染效果。设备支持率较高
缺点:对于复杂场景和大量光源的情况性能消耗相对较大
顶点照明渲染路径
优点:相对来说,性能开销较小,适用于资源受限设备极差时的轻量级渲染情景
缺点:表现效果较差,光照计算精度较低
延迟渲染路径
优点:适用于复杂场景和大量光源,能够有效减少光照计算的开销
缺点:对于透明物体和一些特殊效果不能直接支持,需要复杂的处理。并且对硬件有一定要求,不
是所有设备都支持,在一些性能较差的移动设备上不受支持
最后,在选择渲染路径时,我们应该根据项目的实际情况去进行考虑,比如
- 针对的平台
- 场景的复杂度