gpt4 book ai didi

C++ OpenGL 着色版本错误 - 不支持 GLSL x [Ubuntu 16.04]

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:23:20 26 4
gpt4 key购买 nike

我目前正在 Ubuntu 16.04 上使用 OpenGL 开发一个项目,但遇到了一个重大问题。在这一点上,我不知道该怎么做,因为感觉我已经尝试了一切来解决这个问题。

出于某种原因,我的着色器无法编译并返回以下错误:

Failed to compile vertex shader!
0:1(10): error: GLSL 4.50 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, 3.00 ES, 3.10 ES, and 3.20 ES`

我已经调整了着色器文件中的版本,但没有任何运气。 #version 450 core等等,但我一直得到相同的结果。

作为引用,这里是 sudo glxinfo | grep "OpenGL" 的输出:

OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 520 (Skylake GT2)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 13.1.0-devel
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 13.1.0-devel
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 13.1.0-devel
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:

glxinfo 的输出显示已安装 OpenGL 核心 4.5,那么为什么不支持呢?

我还试图找到项目中使用的当前 OpenGL 版本:std::cout << "OpenGL version: " << glGetString(GL_VERSION) << std::endl;这会导致返回空白。

到目前为止,我已经在这个问题上花费了 10 个小时,非常感谢您的帮助!

编辑:有没有办法强制项目/Ubuntu 使用 OpenGL 而不是 GLSL,即完全删除 GLSL(这部分)?

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 13.1.0-devel
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:

最佳答案

对于遇到同样问题的其他人,这是对我有用的解决方案:

glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 0);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);

关于C++ OpenGL 着色版本错误 - 不支持 GLSL x [Ubuntu 16.04],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40572941/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com