Mac OS X の OpenGL でゲーム作り

Cocoa全般
2008年2月25日 21:03

Mac OS X の OpenGL でゲームを作るために、ここ数日間で AGL やら CGL やらをいじってて思い到ったこと。

Cocoa プログラマなら、CGL (Core OpenGL) をベースにするのが分かりやすい。

適切なパラメタで NSOpenGLPixelFormat を作って、それを元に NSOpenGLView を作って、そこから -[NSOpenGLView CGLContextObj] で CGL のコンテキストを取り出す。

次に、フルスクリーン用のコンテキストを作る。フルスクリーンにすると数倍描画効率が上がるので、フレーム処理をベースにしたゲーム制作ではフルスクリーンにしないことは基本的に考えられない(かといって、デバッグ用途やウィンドウ内でちまちまやりたいゲームのことを考えると、フルスクリーンのみのサポートというのも考えられないだろう)。そしてこのとき、CGL をベースにする。

適切なパラメタで CGLPixelFormatObj を作り、それを CGLChoosePixelFormat() して、CGLCreateContext() 関数を呼び出して、そのときに NSOpenGLView からもらったCGL のコンテキストを第2引数に渡すのがポイント。これでコンテキストがシェアされて、テクスチャなどが共有されるようになる。

このあたりを参考にしつつ。

速度が求められる場合でも CGL を操れば十分で、Cocoa プログラマに AGL は必要ないですね。

コメントを書く


1件のトラックバックがあります。

トラックバックURL: http://numata.designed.jp/mt-tb.cgi/241

blog - Mac OS X の OpenGL でゲーム作り (2009年7月27日 06:52)

Mac OS X の OpenGL でゲーム作り CGL = Core OpenGL がいいらしい —- GLUT applelife1... 続きを読む