2010-08-22 130 views
2

在Java Rubik's Cube应用程序的上下文中,我试图为最终用户执行的多维数据集操作设置动画效果。避免使用LWJGL闪烁

要做到这一点,我只是用旋转和许多重绘如下:

GL11.glRotatef(zRotate, 0.0f, 0.0f, 1.0f); 

的zRotate变量icremented从0到90,我进行重绘每20毫秒。

它完美的作品,但我看到在屏幕上闪烁..我怎样才能避免这种情况?

回答

1

解决方法是在Opengl画布创建中添加SWT.NO_BACKGROUND样式。

1

根据this thread,您可以在初始化过程中调用Display.setVSyncEnabled(true);

0

使用双缓冲。

http://en.wikipedia.org/wiki/Double_buffer#Double_buffering_in_computer_graphics

我没有与任何LWJGL经验,但一个共同的技术是绘制成位图,并重绘与位图的屏幕/窗口,一步到位。

+0

没有vsync,这也可能导致闪烁。 – Rekin 2010-08-22 18:11:50

+0

LWJGL默认使用双缓冲工作,所以您不必担心这一点。 (http://lwjgl.org/forum/index.php?topic=1187.0) – 2010-08-23 07:18:32