US3S4L5——渲染路径对比

渲染路径对比

在选择渲染路径时,我们应该根据项目的实际情况去进行考虑,比如:

  1. 针对的平台
  2. 场景的复杂度

等等

各渲染路径处理光照的区别

  • 前向渲染路径:

    有一套划分光源“三六九等”的规则,将光源分成了高中低三种身份,主要通过 光源渲染模式、项目质量设置中的像素灯光计数的数量、光照强度、距离物体距离来综合判定,然后分别使用三种方式进行光照计算

  • 顶点照明渲染路径:

    基本思想就是所有的光都按照逐顶点的方式进行计算的,在内置渲染管线中,它只会最多记录8个光源的数据,只会将光相关的数据填充到那些逐顶点相关的内置光源变量

  • 延迟渲染路径:

    先判断物体片元是否可见,然后将可见片元相关信息存储到 G 缓冲区中,通过 G 缓冲区的数据进行光照计算,对光照的数量没有任何限制,并且所有灯光都可以采用逐像素渲染,它不能处理半透明物体,并且不支持真正的抗锯齿

各渲染路径 Pass 处理的区别

  • 前向渲染路径:

    • Base Pass(基础渲染通道):主要用于处理影响该物体的一个高质量光源(平行光)、所有中(逐顶点处理)低质量(SH处理)光源 等
    • Additional Pass(附加渲染通道):主要用于处理影响该物体的除平行光以外的其它高质量光源(每个高质量光源都会调用)
  • 顶点照明渲染路径:在一个 Pass​ 当中按照逐顶点的方式一次性对所有光照去进行计算

  • 延迟渲染路径:

    • 第一个 Pass​:主要判断哪些片元可见,并将可见片元相关信息存储到 G 缓冲区中(对于每个物体,该 Pass​ 只执行一次,通常无需自己实现)
    • 第二个 Pass​:利用 G 缓冲区中各个片元的相关信息进行真正的相关计算,最终将颜色写入颜色缓冲区

各渲染路径的优缺点

  • 前向渲染路径

    • 优点:适用于相对简单的场景和较少数量的光源,基本可以实现任何渲染效果。设备支持率较高
    • 缺点:对于复杂场景和大量光源的情况性能消耗相对较大(光源越多,执行的 Pass​ 也就越多)
  • 顶点照明渲染路径

    • 优点:相对来说,性能开销较小,适用于资源受限设备极差时的轻量级渲染情景
    • 缺点:表现效果较差,光照计算精度较低
  • 延迟渲染路径

    • 优点:适用于复杂场景和大量光源,能够有效减少光照计算的开销(性能开销主要由屏幕像素数量而非光源数量决定)
    • 缺点:对于透明物体和一些特殊效果不能直接支持,需要复杂的处理。并且对硬件有一定要求,不是所有设备都支持,在一些性能较差的移动设备上不受支持