【发布时间】:2020-06-26 00:08:53
【问题描述】:
我在 PyOpenGL 中制作了着色器,但一直出错
vertex_src = """
# version 330
in vec3 a_position;
void main()
{
gl_Position = vec4(a_position, 1.0);
}
"""
fragment_src = """
# version 330
out vec4 out_color;
void main()
{
out_color = vec4(1.0, 0.0, 0.0, 1.0);
}
"""
shader = compileProgram(compileShader(vertex_src, GL_VERTEX_SHADER), compileShader(fragment_src, GL_FRAGMENT_SHADER))
glUseProgram(shader)
RuntimeError: ('Shader compile failure (0): b"ERROR: 0:3: Invalid storage qualifiers \'in\' in global variable context\\nERROR: 0:7: Use of undeclared identifier \'a_position\'\\n"', [b'\n\nin vec3 a_position; \n\nvoid main()\n{\n gl_Position = vec4(a_position, 1.0);\n}\n'], GL_VERTEX_SHADER)
我检查了分号、向量等,但一切都很好。请帮我解决问题
【问题讨论】:
-
我尝试了从 100 到 460 的几乎所有版本,但都给了我同样的错误,请帮助
-
您使用的是哪个 OpenGL 版本?我猜你被困在遗留的 GL 2.1 上下文中。