我在网上搜索过但无法找到原因。我在这里有顶点和片段着色器:
// Vertex Shader
#version 150 core
in vec3 position;
out vec3 color;
void main(void) {
gl_Position = vec4(position.x, position,y, position.z, 1.0);
color = vec3(position.x + 1.0, position,y + 1.0, position.z + 1.0);
}
和
//Fragment Shader
#version 150 core
in vec3 color;
out vec4 finalColor;
void main(void) {
finalColor = vec4(1.0, 0.0, 0.0, 1.0);
}
我多次查看它,虽然它没有作为着色器的真正用途,但代码中仍然没有任何明显的错误。当我尝试编译它时,我收到以下错误:
错误:0:5:'y':未声明的标识符
错误:0:5:'构造函数':参数太多
错误:0:6:'构造函数':参数太多了 奇怪的是我在顶点或片段着色器上得到错误,这取决于我首先插入
glCompileShader()
的那个。我尝试过更换版本号,但它不起作用,我不再觉得今天编程>。>
答案 0 :(得分:4)
位置, y大声笑。你有逗号而不是句号。它应该是位置**。** y。