Unity中Shader光照模型Phong,也是一个经验型光照模型,非物理光照模型,用于低性能的解决高光效果,之前的Lambert光照模型是漫反射光照模型,做不到高光效果,用Phong模型来弥补。
Phone光照公式:Specular = SpecularColor * Ks * pow(max(0,dot(R,V)),Shininess)
Specular: 最后返回的高光效果
SpecularColor:可以指定高光的颜色
Ks:用于控制高光的反射强弱
R:入射光经过反射后的单位向量
V:反射的顶点到摄像机的单位向量
Shininess:高光指数,用于模型高光的范围
Phone光照公式:Specular = SpecularColor * Ks * pow(max(0,dot(R,V)),Shininess)
图中,向量画的不标准,已知向量都是单位向量,所以M的模长可以直接由点积得出
R 是公式中,我们未知的量,需要计算得出