Opengl:错误(#97)找不到程序主程序

标签 opengl glsl

这是我的应用程序启动时遇到的错误:

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/

相关文章:

opengl - GLSL 在程序之间共享制服 #130

c++ - 我在尝试旋转图像时看到伪像

ios - gl_PointCoord 在 Mac 上不可用?

c++ - Qt pointcloud 在 scene3d 中性能缓慢

casting - 我的 GLSL 隐式转换错误位于哪里?

c++ - 如何将指向 GLEW 函数的指针传递给模板?

作为 Web 服务的 C++ OpenGL 应用程序

c - gl.h 包含在 glew 之前,但 GLFW 需要 gl.h

c - 应用 MVP 变换不会渲染任何 OpenGL

c++ - 在 GLSL 中使相机正常