OpenGL で学校向けのゲームを書いています。似たような課題が他にもいくつかあるので、OpenGL で一般的なことを行うための小さなフレームワークを作成したいと考えています。以前にいくつかの単純なゲームを作成したことがありますが、通常、入力と画面への描画を処理する IO クラス、メインのゲーム ループ/ロジック用の Game クラス、およびゲーム内にあるあらゆるオブジェクトのクラスに分解します。
SDL を使用する前に、私の質問は、これは OpenGL でこれを行う正しい方法ですか? 私はすでにいくつかのトラブルに遭遇しました。ウィンドウの初期化、シーンの描画、およびマウス クリックを IO クラスで処理する必要があります。したがって、コンストラクタは次のようになります。
IO::IO()
{
currWindowSize[0] = DEF_WIDTH;
currWindowSize[1] = DEF_HEIGHT;
glutInitDisplayMode( GLUT_DOUBLE | GLUT_RGBA );
glutInitWindowPosition( INIT_WINDOW_POSITION[0], INIT_WINDOW_POSITION[1] );
glutInitWindowSize( currWindowSize[0], currWindowSize[1] );
glutCreateWindow( "TEST" );
setUp();
glutDisplayFunc(drawScene);
glutMainLoop();
}
ただし、drawScene
クラスメソッドです。クラスメソッドをglutDisplayFunc()
静的にせずに渡す方法はありますか?