前向渲染和延迟渲染通道的区别,主要在对于光源的处理上。
Unity默认是前向渲染通道,如果光源特别多,可以使用延迟渲染。
前向渲染
使用前向渲染路径时,被照亮的对象将在单独的通道中进行渲染。根据场景中的光源数量以及它们是否影响游戏对象,有些对象可能会渲染多次。
使用前向渲染的优点是渲染速度非常快。这有助于降低对硬件的要求。前向渲染提供多种自定义着色模型,而且可以快速处理透明度。该渲染路径还用于处理多样本边缘柔化 - 这是一项创建图形时使用的技术,旨在改进图像质量(该技术在“延迟渲染”路径中不可用)。
前向渲染的缺点是:每个光源都会带来一定的渲染成本,这意味着场景中的光源越多,渲染也就越费时。这是因为每个对象会受到更多光源的影响,从而导致渲染路径多次渲染该对象。
延迟渲染
顾名思义,“延迟渲染”是延迟进行照明信息的着色和混合,直到完成第一遍屏幕扫描。第一遍扫描将获取每个面的“位置”、“法线”和“材质”,并作为一系列“屏幕空间纹理”渲染到几何体缓冲区。然后,该渲染路径会将所有结果与照明通道合成到一起。 该方法的优点是:渲染成本与光源照亮的像素数(而不是光源本身的数量)成正比。当场景中有很多光源时,该功能非常有用。“延迟渲染”会令渲染成本大大降低。
延迟渲染的缺点是:它通常需要功能更强大的硬件,而且不受某些移动设备支持。这意味着无法保证它在所有平台上都能正常工作。
设置渲染路径 要选择所需的渲染路径,您需要执行以下操作:
打开Edit>Project Settings窗口,选中Graphics
取消Use Defaults勾选,在Rendering Path中可以切换前向渲染和延迟渲染