Shader入门精要第五章坑之invalid output semantic ‘SV_POSITION‘

Shader “Unity Shaders Book/Chapter 5/5-1”
{
Properties{ //主要用于声明一些属性,可以没有
_Color(“Color Tint”,Color)=(1.0,1.0,1.0,1.0) //声明了一个可以编辑的颜色属性
}
SubShader
{
Pass {
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;
fixed3 color:COLOR0;
};
v2f vert(a2v v)//:SV_POSITION 这里会报错,由于版本的原因直接删除就好
{
v2f o;
o.pos = UnityObjectToClipPos (v.vertex);
o.color = v.normal * 0.5 ;
return o; //mul (UNITY_MATRIX_MVP,v)新的写法,将顶点坐标从模型空间转换到裁剪空间
}
fixed4 frag(v2f i):SV_TARGET0{
fixed3 c=i.color;
c = _Color.rgb; //c其实是会等于(v.normal * 0.5) _Color.rgb这个为可以编辑的一个颜色属性
return fixed4(c,1.0);
}
ENDCG
}
}
}
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45972052/article/details/122440284
今日推荐