окно opengl зависает при перемещении - PullRequest
4 голосов
/ 11 октября 2011

Я разрабатываю игру, используя 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 Ответ

2 голосов
/ 11 октября 2011

Эй, попробуйте создать рендеринг (Opengl init и update / render) в отдельном потоке.Я имею в виду создание нового потока для рендеринга, отличного от основного потока.

для справки, вы можете проверить эту вики (последний пример) http://lwjgl.org/wiki/index.php?title=Basic_LWJGL_Applet

...