本文借鉴《Unity Shader入门精要》,算是对自己学习的总结,也希望分享下所学知识~~
是另外一种高光反射实现方法。
引入一个新的矢量,通过对视角方向和光照方向相加后再归一化得到的。
公式:
高光反射光线强度 = 入射光线颜色 * 高光反射颜色 * max( 0, 法线方向 · 归一化向量 ) ^ 高光反光度
传送门:Phong光照模型
只有一处区别:
//高光反射
fixed3 viewDir = normalize(UnityWorldSpaceViewDir(i.worldPos));
fixed3 halfDir = normalize(worldLightDir + viewDir);
fixed3 specular = _LightColor0.rgb * _Specular.rgb * pow(saturate(dot(i.worldNormal,halfDir)), _Gloss);