Witam. Wyskakuje mi taki błąd
%s
Link info
---------
error: "te_color" not declared as input from previous stage
wydaje mi się, że wszystko jest przekazane po kolei, z shadera wierzchołków do sterowania teselacją, ze sterowania od oblcizania teselacji i z obliczania do fragmentów.
#version 460 core
layout(location = 1) in vec4 a_color;
out vec4 v_color;
void main()
{
v_color = a_color;
}
#version 460 core
layout (vertices = 4) out;
in vec4 v_color[];
out vec4 tc_color[];
void main()
{
tc_color[gl_InvocationID] = v_color[gl_InvocationID];
if(gl_InvocationID == 0) {
gl_TessLevelInner[0] = 9.0f;
gl_TessLevelInner[1] = 7.0f;
gl_TessLevelOuter[0] = 3.0f;
gl_TessLevelOuter[1] = 5.0f;
gl_TessLevelOuter[2] = 3.0f;
gl_TessLevelOuter[3] = 5.0f;
}
gl_out[gl_InvocationID].gl_Position = gl_in[gl_InvocationID].gl_Position;
}
#version 460 core
layout (quads) in;
in vec4 tc_color[];
out vec4 te_color;
void main()
{
te_color = tc_color[0] * gl_TessCoord.x +
tc_color[1] * gl_TessCoord.y +
tc_color[2] * gl_TessCoord.z;
vec4 p1 = mix(gl_in[0].gl_Position, gl_in[1].gl_Position, gl_TessCoord.x);
vec4 p2 = mix(gl_in[2].gl_Position, gl_in[3].gl_Position, gl_TessCoord.x);
gl_Position = mix(p1, p2, gl_TessCoord.y);
}
#version 460 core
layout (location = 0) out vec4 outColor;
in vec4 te_color;
void main()
{
outColor = te_color;
}
W jaki sposób mogę pozbyć się tego błędu?