显示窗口后出现Java OpenGL,没有响应

时间:2019-01-12 12:51:34

标签: java opengl

因此,我尝试创建的任何窗口(甚至是空窗口),在运行时都可以正常显示,但是一旦尝试与之交互,则移动该窗口,将其关闭,诸如此类的操作,我将得到一个没有响应的消息。我什至尝试仅从“如何制作OPENGL显示教程”中复制代码,甚至没有响应。

我已经更新了所有驱动程序。仍然无法正常工作。

package renderEngine;

import org.lwjgl.LWJGLException;
import org.lwjgl.opengl.ContextAttribs;
import org.lwjgl.opengl.Display;
import org.lwjgl.opengl.DisplayMode;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.PixelFormat;

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 e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        GL11.glViewport(0, 0, WIDTH, HEIGHT);

    }

    public static void updateDisplay( ) {

        Display.sync(FPS_CAP);
    }

    public static void closeDisplay( ) {

        Display.destroy();
    }
}

AND

package engineTester;

import org.lwjgl.opengl.Display;

import renderEngine.DisplayManager;

public class MainGameLoop {

    public static void main(String[] args) {
        DisplayManager.createDisplay();

        while(!Display.isCloseRequested()) {
            DisplayManager.updateDisplay();
        }

        DisplayManager.closeDisplay();
    }

}

1 个答案:

答案 0 :(得分:0)

找到了答案。我忘了键入Display.update();