自定义顶点着色器的输入参数

作者:追风剑情 发布于:2016-8-29 22:44 分类:Shader

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"
}

标签: Shader

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号