1 模型空间转裁剪空间 UnityObjectToClipPos(v.vertex)
2 模型空间转世界空间 mul( unity_ObjectToWorld, v.vertex )
3 雾三件套
UNITY_FOG_COORDS(3) UNITY_TRANSFER_FOG(o,o.pos); UNITY_APPLY_FOG(i.fogCoord, c);
4 环境光 UNITY_LIGHTMODE_AMBIENT
5 灯光世界方向 _WorldSpaceLightPos0.xyz
6 摄像机世界坐标 _WorldSpaceCameraPos.xyz
7 方向光颜色 _LightColor0.rgb
8 lightdir = normalize( _WorldSpaceLightPos0.xyz )
入射光方向 -lightdir
viewdir = normalize( _WorldSpaceCameraPos.xyz - worldPos )
反射方向 r = reflect( _lightdir, worldnormal )
半角向量 h = normalize(lightdir + viewdir)
光照模型:
blinnphone:
c = ambient * diffuse + diffuse * saturate( dot( worldnormal , lgithdir ) ) + specular * pow( max( 0, dot( h, worldnormal ) , _Gloss )
来源:https://www.cnblogs.com/marcher/p/10713177.html