5

LWJGL を使用してゲームを開発しています。ウィンドウを移動している間 (将来的にサイズ変更コードを追加する予定です)、レンダリング ループがフリーズします。移動中も何らかの形で走り続けてほしい。LWJGL には glutMainLoop は含まれていません。

Display は Java ではなく OpenGL に属します。

関連コード:

    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);
4

1 に答える 1

3

別のスレッドでレンダリング部分(Openglの初期化と更新/レンダリング)を作成してみてください。つまり、メインスレッドを使用する以外に、レンダリング用の新しいスレッドを作成します。

参考までに、このwikiを確認できます(最後の例) http://lwjgl.org/wiki/index.php?title=Basic_LWJGL_Applet

于 2011-10-11T18:41:21.117 に答える