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