opengl窗口在移动/调整大小时冻结

时间:2011-10-11 18:12:38

标签: java opengl lwjgl

我正在使用LWJGL开发游戏。移动窗口时(计划将来添加调整大小代码),渲染循环冻结。我希望它在移动的同时继续以某种方式运行。 LWJGL不包括glutMainLoop。

显示属于OpenGL,而非Java。

相关代码:

    regular = new DisplayMode(800,600);
    GL11.glClearColor(0.47f,0.55f,1.0f, 0.0f); 
    GL11.glClearDepth(1.0f); 
    try {
        Display.setDisplayMode(regular);
        Display.setTitle("Game Name");
        Display.setIcon(loadIcon("resources/icon.png"));
        Display.create();
        seedresult= new Random(seed);
    } catch (LWJGLException e) {
        e.printStackTrace();
    }
    while (!Display.isCloseRequested()) {
    Display.sync(60);
    GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT);
    //render objects
    Display.update();}
    System.exit(0);

1 个答案:

答案 0 :(得分:2)

嘿尝试在单独的线程中创建渲染部分(Opengl init和update / render)。 我的意思是为你渲染一个新线程,而不是使用主线程。

供参考,你可以查看这个wiki(最后一个例子) http://lwjgl.org/wiki/index.php?title=Basic_LWJGL_Applet