我希望我的渲染器能够使用镶嵌着色器,但是在运行时,调试器说
%s
Link info
---------
error: "v_color" not declared as an output from the previous stage
我不知道它到底是什么意思。
v_color 是 vec4 中的片段着色器,它来自顶点着色器,顶点着色器从 vbo 获取这个值,如下所示:
#version 420 core
layout (location = 1) in vec4 a_color
out vec4 v_color;
void main(void)
{
gl_Position = //something;
v_color = a_color;
}
#version 420 core
out vec4 color;
in vec4 v_color;
void main(void)
{
color = v_color;
}
并且顶点着色器从顶点属性指针获取 a_color。
为什么它返回错误?