我想将使用的OpenGL版本从3.2更改为3.3,以便可以实现实例渲染。目前,我的OpenGL初始化代码如下所示。

ContextAttribs attribs = new ContextAttribs(3, 2).withForwardCompatible(true).withProfileCore(true);

所以我改成...
ContextAttribs attribs = new ContextAttribs(3, 3).withForwardCompatible(true).withProfileCore(true);

唯一的区别是我放入ContextAttribs()中的OpenGL版本。

根据https://support.apple.com/en-us/HT202823,我正在2013款MacBook Air上运行此应用程序,它具有高达4.1的OpenGL功能

创建显示后,我放置了以下代码
System.out.println("OpenGL version " + GL11.glGetString(GL11.GL_VERSION));

这使我可以检查我正在使用哪个版本的OpenGL。这里是棘手的部分。当我放ContextAttribs(3,2)时,它会打印出来



但是,如果我将其更改为ContextAttribs(3,3),我的应用程序将崩溃并打印出来



我不知道如何解决此问题,如果有人可以,将不胜感激。感谢您阅读本文。

最佳答案

看一下LWJGL ContextAttribs类的doc。它指出:

07-26 09:35