// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
Shader "Unity Shaders Book/xd/simple Shader"
{
SubShader{
//针对显卡a的SubShader
Pass{
//设置渲染状态和标签
//开始CG代码片段
CGPROGRAM
#pragma vertex vert //vert include vertex shader
#pragma fragment frag
float4 vert(float4 v:POSITION) :SV_POSITION{
return UnityObjectToClipPos(v);
}
float4 frag() : SV_Target{
return fixed4(1.0,1.0,1.0,1.0);
}
//CG代码写在这里
ENDCG
//其他设置
}
}
}
- 使用材质
-
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
Shader "Unity Shaders/Book/xd/simple Shader"
{
Properties{
_Color("color Tint",Color) = (1.0,1.0,1.0,1.0)
}
SubShader{
//针对显卡a的SubShader
Pass{
//设置渲染状态和标签
//开始CG代码片段
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
fixed4 _Color;
struct a2v
{
float4 vertex:POSITION;
float3 normal:NORMAL;
float4 texcoord:TEXCOORD0;
};
struct v2f
{
float4 pos:SV_POSITION;
float3 color:COLOR0;
};
v2f vert(a2v v) {
v2f o;
o.pos = UnityObjectToClipPos(v.vertex);
o.color = v.normal*0.5 + fixed3(0.5, 0.5, 0.5);
return o;
}
fixed4 frag(v2f i) : SV_Target{
fixed3 c = i.color;
c *= _Color.rgb;
return fixed4(c,1.0);
}
//CG代码写在这里
ENDCG
//其他设置
}
//针对显卡B的SubShader
}
}