Shader "Custom/VertFragShader" {
SubShader {
Pass {
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
//使用一个结构体来定义顶点着色器的输入
struct a2v {
//变量声明格式: 类型 名称 : 语义
//POSITION语义告诉Unity,用模型空间的顶点坐标填充vertex变量
float4 vertex : POSITION;
//NORMAL语义告诉Unity,用模型空间的法线方向填充normal变量
float3 normal : NORMAL;
//TEXCOORD0语义告诉Unity,用模型的第一套纹理坐标填充texcoord变量
float4 texcoord : TEXCOORD0;
};
//注意,这里的输入参数变成了上面自定义的结构体
float4 vert(a2v v) : SV_POSITION {
//把顶点坐标从模型空间转到裁剪空间,并返回。
return mul (UNITY_MATRIX_MVP, v.vertex);
}
fixed4 frag() : COLOR {
return fixed4(1.0, 1.0, 1.0, 1.0);
}
ENDCG
}
}
FallBack "Diffuse"
}