我正在开发一个包含以下代码的lwjgl项目:
public class DisplayManager {
private static final int WIDTH = 1280;
private static final int HEIGHT = 720;
private static final int FPS_CAP = 120;
public static void createDisplay(){
ContextAttribs attribs = new ContextAttribs(3,2).withForwardCompatible(true).withProfileCore(true);
try {
Display.setDisplayMode(new DisplayMode(WIDTH, HEIGHT));
Display.create(new PixelFormat(), attribs);
} catch (LWJGLException ex) {
Logger.getLogger(DisplayManager.class.getName()).log(Level.SEVERE, null, ex);
}
GL11.glViewport(0,0,WIDTH,HEIGHT);
}
public static void updateDisplay() {
Display.sync(FPS_CAP);
Display.update();
}
public static void closeDisplay() {
Display.destroy();
}
}
我收到以下错误消息:
org.lwjgl.LWJGLException:无法创建上下文(WGL_ARB_create_context) at org.lwjgl.opengl.WindowsContextImplementation.nCreate(Native Method) 在org.lwjgl.opengl.WindowsContextImplementation.create(WindowsContextImplementation.java:50) 在org.lwjgl.opengl.ContextGL。(ContextGL.java:132) 在org.lwjgl.opengl.Display.create(Display.java:850) 在org.lwjgl.opengl.Display.create(Display.java:797) at javaapplication15.DisplayManager.createDisplay(DisplayManager.java:34) 在javaapplication15.engineTester.MainGameLoop.main(MainGameLoop.java:21)
线程中的异常" main" java.lang.RuntimeException:当前线程中找不到OpenGL上下文。 在org.lwjgl.opengl.GLContext.getCapabilities(GLContext.java:124) 在org.lwjgl.opengl.GL11.glViewport(GL11.java:3261) 在javaapplication15.DisplayManager.createDisplay(DisplayManager.java:41) 在javaapplication15.engineTester.MainGameLoop.main(MainGameLoop.java:21) Java结果:1
感谢。
答案 0 :(得分:2)
它可能无法解答您的问题,但我的解决方案可能对其他人有所帮助。 如果您的笔记本电脑集成了显卡和更强大的显卡,则可能会出现此错误。这是因为您创建的程序使用集成显卡,不支持OpenGL 3.2。但是,如果你将切换到你的第二个更强大的显卡,你的程序将正常工作。
答案 1 :(得分:0)
无法创建上下文(WGL_ARB_create_context)
我知道这个问题不是几年前的,但是如果有帮助的话
您解决了相同的问题,并通过删除create ()
的enter参数来解决了该问题
Display.create(new PixelFormat(), attribs);
//之前
更改为:
Display.create();
然后运行