Shader "Unlit/Face Orientation"//面的方向
{
Properties
{
_ColorFront ("Front Color", Color) = (1,0.7,0.7,1)
_ColorBack ("Back Color", Color) = (0.7,1,0.7,1)
}
SubShader
{
Pass
{
Cull Off // turn off backface culling
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
//此功能仅从着色器模型3.0开始存在,因此着色器需要具有#pragma target 3.0编译指令。
#pragma target 3.0
float4 vert (float4 vertex : POSITION) : SV_POSITION
{
return UnityObjectToClipPos(vertex);
}
fixed4 _ColorFront;
fixed4 _ColorBack;
//VFACE这种语义在Direct3D 9 Shader Model 3.0中可用。
// 对于Direct3D 10及更高版本,请改用SV_IsFrontFace。
//Unity中都用VFACE
//VFACE这种语义在Direct3D 9 Shader Model 3.0中可用。 对于Direct3D 10及更高版本,请改用SV_IsFrontFace。
fixed4 frag (fixed facing : VFACE) : SV_Target
{
return facing > 0 ? _ColorFront : _ColorBack;
}
ENDCG
}
}
}