这是我的应用程序启动时遇到的错误:
Vertex shader(s) failed to link, fragment shader(s) failed to link.
Vertex link error: INVALID_OPERATION.
ERROR: error(#97) No program main found
fragment link error: INVALID_OPERATION.
ERROR: error(#97) No program main found
我找不到任何错误,但着色器已正确(完全)加载和编译,没有任何错误。这是我的着色器:
顶点着色器:
#version 330
layout (location = 0) in vec3 position;
void main()
{
gl_Position = vec4(position, 1.0);
}
片段着色器:
#version 330
out vec4 outputColor;
void main()
{
outputColor = vec4(1.0, 0.5, 0.2, 1.0);
}
最佳答案
此类错误通常是由于 glShaderSource
未接收到正确的源代码字符串引起的。
问题的原因很可能是您的着色器代码未正确加载,并且将错误的字符串(或字符数组)传递给 glShaderSource
关于Opengl:错误(#97)找不到程序主程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25472164/