やっぱり迷っているぞ(ふて8)

先週の状況です。格闘時間は2.5時間でした。なかなか先に進みませんね…

glutでウィンドウサイズを固定する

どうやらglutにはウィンドウサイズを固定する方法がないみたいなので、ウィンドウサイズ変更のコールバックに対して強制的に元のサイズに戻す処理を追加することで対処しました。

void onshape(int /*x*/, int /*y*/)
{
    glutReshapeWindow( 800, 600 );
}

みたいな関数を、main関数かなんかで

	glutReshapeFunc(onshape);

って設定すればOK.

SDLでキー入力を行なう

glutのキー入力ってキーが離されたときにしかイベントが飛んでこなかったような気がするのでゲームには使えないのだよなあ。
SDLSDL_SetVideoMode()でウィンドウを作らないと(つまり、SDLの管理でウィンドウを作成しないと)SDL_PollEvent()が使えない。しかし、GLUIはどうやらglutCreateWindow()の返り値を要求する(つまり、glutの管理でウィンドウを作成する必要がある)らしい。つまり、SDLのキー入力とGLUIは共存できないのか?
初期化や更新にglutSDLのどちらを使うのかをdefineで切っておいて、ゲームの時はSDL,ツールの時はglutを使うように組んでおけばOKかなあ。