【发布时间】:2011-10-11 18:12:37
【问题描述】:
我正在使用 LWJGL 开发游戏。移动窗口时,(计划在未来添加调整大小代码),渲染循环冻结。我希望它在移动时继续以某种方式运行。 LWJGL 不包括 glutMainLoop。
Display 属于 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);
【问题讨论】:
-
渲染循环当然会冻结,因为窗口正在处理移动事件,所以它不会同时渲染。
-
我很确定这就是原因,但我想知道如何纠正它。