2010-08-22 129 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