Unity3d 输出语义无效';SV#U位置';:法定指数为[0,0]
我刚开始学习Unity3d Shader,我遵循了一本书的教程,我所有的代码都与教程相同,但是,有一个错误我无法理解 代码如下:Unity3d 输出语义无效';SV#U位置';:法定指数为[0,0],unity3d,shader,Unity3d,Shader,我刚开始学习Unity3d Shader,我遵循了一本书的教程,我所有的代码都与教程相同,但是,有一个错误我无法理解 代码如下: Shader "Unity Shaders Book/Chapter5/Simple Shader"{ SubShader{ Pass{ CGPROGRAM #pragma vertex vert #pragma fragment frag struct a2v {
Shader "Unity Shaders Book/Chapter5/Simple Shader"{
SubShader{
Pass{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
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 + fixed3(0.5, 0.5, 0.5);
return o;
}
fixed4 frag(v2f i) : SV_Target{
return fixed4(i.color,1.0);
}
ENDCG
}
}
}
更改此行:
v2f vert(a2v v) : SV_POSITION {
为此:
v2f vert(a2v v) {