saturate()函数
作用:
把参数截取到[0,1]的范围内。
Bug记录:
当我在编写编写简单的逐像素着色specular时,发现一使用shader则场景全白,也不是所有地方都发白,而是距离使用shader的一定范围内发白,从上图可以看出来。
然后camera一旦移开视角,令使用了shader的物体离开视线内,则场景恢复。
因此推断可能与参数的范围有关。
原因:
后来在重新看参考代码的时候发现,在写specular这一行时我未使用saturate函数限制反射向量和视线向量的点乘结果。这导致结果出错。
更正:
经过限制后恢复正常