Linux上的OpenGL与Mesa 12.0.3不支持GLSL 3.30
这个问题在这里已经有了答案:
您必须请求OpenGL核心上下文。
使用当前版本的Mesa,如果您不请求核心上下文,您将获得OpenGL 3.0兼容性上下文。 如果你确实需要一个核心上下文,你会得到一个OpenGL 3.3核心上下文(或者可能更新),你可以使用GLSL 3.30。
类似的行为适用于macOS上的OpenGL,除非您获得3.3或4.1核心上下文,否则您将获得2.1上下文。
请参阅LWJGL版本选择:
ContextAttribs contextAtrributes = new ContextAttribs(3, 2)
.withProfileCore(true);
请忽略wiki的使用withForwardCompatible()
的建议,该功能已经过时。
上一篇: OpenGL on Linux with Mesa 12.0.3 GLSL 3.30 Not Supported