Java Rubik's Cube アプリケーションのコンテキストで、エンド ユーザーが実行するキューブ アクションをアニメーション化しようとしています。
そのために、次のように回転と多くの再描画を使用しています。
GL11.glRotatef(zRotate, 0.0f, 0.0f, 1.0f);
zRotate 変数は 0 から 90 まで増加し、20 ミリ秒ごとに再描画を実行しています。
問題なく動作しますが、画面がちらつきます.どうすれば回避できますか?
このスレッドによると、初期化中に呼び出すことができDisplay.setVSyncEnabled(true);
ます。
解決策は、Opengl キャンバスの作成に SWT.NO_BACKGROUND スタイルを追加することでした。
ダブルバッファリングを使用します。
http://en.wikipedia.org/wiki/Double_buffer#Double_buffering_in_computer_graphics
私は LWJGL の経験はありませんが、一般的な手法は、ビットマップに描画し、ビットマップを使用して画面/ウィンドウを 1 ステップで再描画することです。