java lwjgl getting无法创建上下文(WGL_ARB_create_context)

时间:2014-11-16 01:19:38

标签: java lwjgl

我正在开发一个包含以下代码的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

感谢。

2 个答案:

答案 0 :(得分:2)

它可能无法解答您的问题,但我的解决方案可能对其他人有所帮助。 如果您的笔记本电脑集成了显卡和更强大的显卡,则可能会出现此错误。这是因为您创建的程序使用集成显卡,不支持OpenGL 3.2。但是,如果你将切换到你的第二个更强大的显卡,你的程序将正常工作。

答案 1 :(得分:0)

无法创建上下文(WGL_ARB_create_context)

我知道这个问题不是几年前的,但是如果有帮助的话

您解决了相同的问题,并通过删除create ()的enter参数来解决了该问题

Display.create(new PixelFormat(), attribs); //之前

更改为:

 Display.create();

然后运行