2

Java Rubik's Cube アプリケーションのコンテキストで、エンド ユーザーが実行するキューブ アクションをアニメーション化しようとしています。

そのために、次のように回転と多くの再描画を使用しています。

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

zRotate 変数は 0 から 90 まで増加し、20 ミリ秒ごとに再描画を実行しています。

問題なく動作しますが、画面がちらつきます.どうすれば回避できますか?

4

3 に答える 3

1

このスレッドによると、初期化中に呼び出すことができDisplay.setVSyncEnabled(true);ます。

于 2010-08-22T18:04:32.050 に答える
1

解決策は、Opengl キャンバスの作成に SWT.NO_BACKGROUND スタイルを追加することでした。

于 2010-08-24T06:43:02.810 に答える
0

ダブルバッファリングを使用します。

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

私は LWJGL の経験はありませんが、一般的な手法は、ビットマップに描画し、ビットマップを使用して画面/ウィンドウを 1 ステップで再描画することです。

于 2010-08-22T18:06:13.550 に答える