目录
一、更复杂的光照
1.渲染路径
前向渲染路径、延迟渲染路径、顶点渲染路径(5.0后顶点已经抛弃)
可以在摄像机的渲染路径中设置渲染路径。
1.前向渲染路径:
原理:每进行一次完整的前向渲染,渲染该对象的渲染图元,计算两个缓冲区的信息:一个是颜色缓冲区一个是深度缓冲区。利用深度来决定一个片元是否可见如果可见就更新颜色缓冲区的颜色值。
1.unity中的前向渲染:
三种处理光照的方式:逐顶点处理、逐像素处理、球谐函数SH处理。由类型和渲染模式(是否重要)来决定一个光源使用哪种处理。
判断规则:最亮的平行光按逐像素处理/渲染模式not important按逐顶点或者SH/渲染模式important逐像素/按照此规则逐像素数量少于设置的数量会有更多光源逐像素。
光照计算:BasePass、Additional Pass,通常各定一个,Base只执行一次,Add会根据影响该物体的其他逐像素光源的数目被多次调用。
2.内置的光照变量和函数
2.顶点照明渲染路径:
配置要求最少、运算性能最高,效果最差。
1.unity中的前向渲染:
一个pass中计算所有光源对该物体的照明,并且这个计算时按逐顶点处理的。
2.内置的光照变量和函数
2.延迟渲染路径:
古老,解决前向渲染在包含大量光源性能下降的场景,额外利用G缓冲存储表面(离摄像机最近的表面)的其他信息。
原理:两个pass,第一个计算深度缓冲片元可见性并存储G缓冲区、第二个pass利用G缓冲区进行光照计算
1.unity中的延迟渲染:
适合光源数目很多,每个光源可以按照逐像素处理但是不支持真正的抗锯齿功能、不能处理半透明物体、对显卡有要求。
2.内置的光照变量和函数