vert: 函数 return 值缺失语义
vert: function return value missing semantics
我只是想 运行 来自 unity site
的这段代码
Shader "UnityExample/Vertex and Fragment/3-Behind Bars" {
SubShader{
Pass{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct vertOut{
float4 pos: SV_POSITION;
float4 scrPos;
};
vertOut vert(appdata_base v){
vertOut o;
o.pos = mul(UNITY_MATRIX_MVP, v.vertex);
o.scrPos = ComputeScreenPos(o.pos);
return o;
}
fixed4 frag(vertOut i) : SV_Target{
float2 wcoord = (i.scrPos.xy/i.scrPos.w);
fixed4 color;
if(fmod(20.0 * wcoord.x,2.0)<1.0){
color = fixed4(wcoord.xy,0.0,1.0);
} else{
color = fixed4(0.3,0.3,0.3,1.0);
}
return color;
}
ENDCG
}
}
}
此代码向我显示了这一行的错误
vertOut vert(appdata_base v)
vert: 函数return 值缺失语义
我正在使用 unity 4.6
缺少 scrPos 的语义。
float4 scrPos : TEXCOORD0;
我只是想 运行 来自 unity site
的这段代码Shader "UnityExample/Vertex and Fragment/3-Behind Bars" {
SubShader{
Pass{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct vertOut{
float4 pos: SV_POSITION;
float4 scrPos;
};
vertOut vert(appdata_base v){
vertOut o;
o.pos = mul(UNITY_MATRIX_MVP, v.vertex);
o.scrPos = ComputeScreenPos(o.pos);
return o;
}
fixed4 frag(vertOut i) : SV_Target{
float2 wcoord = (i.scrPos.xy/i.scrPos.w);
fixed4 color;
if(fmod(20.0 * wcoord.x,2.0)<1.0){
color = fixed4(wcoord.xy,0.0,1.0);
} else{
color = fixed4(0.3,0.3,0.3,1.0);
}
return color;
}
ENDCG
}
}
}
此代码向我显示了这一行的错误
vertOut vert(appdata_base v)
vert: 函数return 值缺失语义
我正在使用 unity 4.6
缺少 scrPos 的语义。
float4 scrPos : TEXCOORD0;