2011-12-10 7 views
0

私は一般的にOpenGLとglutの使い方を学ぶためのプログラムを書いていますが、何が間違っているのか分かりません。glutExitgamemodeコールバックエラー

glutウィンドウを作成してフルスクリーンモードにすることはできますが、glutゲームモードを呼び出すときはいつでも動作しますが、glutゲームを終了すると小さなウィンドウに戻るのではなくプログラムがクラッシュします。
次のエラーが発生します:

2011-12-10 01:09:43.709 ogl [979:903] GLUT警告:以下はGLUT 3.0の新しい点検です。コードを更新してください。

2011-12-10 01:09:43.710 ogl [979:903] GLUT致命的なエラー:ウィンドウ2では再表示が必要ですが、表示コールバックはありません。

プログラムを正しく動作させるためにglut exit gameモードを呼び出す前に、私は何をするべきでしょうか?

これは、コードのスニペットです:これはメインの私のコードです

switch (key) { case 27: exit(0); break; case 97: glutGameModeString("640x480:[email protected]"); glutEnterGameMode();

break; case 99: glutLeaveGameMode(); case 98: glutFullScreen(); break; }

int main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowPosition(50, 100);
glutInitWindowSize(640,480);
glutCreateWindow("GameMode");


windows = glutGetWindow();
glutReshapeFunc(Reshape);
glutDisplayFunc(display);
glutKeyboardFunc(keyhandle);
glutMainLoop(); }

答えて

0

2011-12-10 01:09:43.710 ogl[979:903] GLUT Fatal Error: redisplay needed for window 2, but no display callback.

このメッセージはわかります、そのGLUTはあなたがすることを期待表示コールバック関数を与えます。これにはglutDisplayFuncが使用されます。

あなたのコードを提供していないため、これが問題であるかどうかを判断することは不可能です。

+0

私はメインに自分のコードを掲載しました。問題は、プログラムがクラッシュするゲームモードを終了するときです。私はglutDisplayFuncを使用しなかった場合、ゲームモードに入り、フルスクリーンを表示することはできませんでしたか?参照してください – mma1480

+0

。私はglutLeaveGameMode()の後に表示関数を追加しませんでした。私は今すぐ働いてくれた – mma1480

関連する問題