MacでOpenGLアプリケーションを作るときのメモ

たいした話ではないですが、Macで動くOpenGLアプリケーションを作るときにたまに詳細を忘れてしまうので、そのメモです。

プロジェクトの作成

iPhoneアプリケーションと違って、OS X用のOpenGLアプリケーションテンプレートは存在しないので、他のプロジェクトから作る事になります。どのテンプレートを使ってもあまり影響はないのですが、基本的にはCocoa Applicationのテンプレートを使うのが一番無難です。
GLUTでプログラムを記述する場合、Command Line Toolのテンプレートでも良いですが、OS X上で動くアプリケーションの場合はテクスチャの読み込み時やセーブデータの保存時等、Cocoaの機能を使った方が便利なことが多いので、Cocoa Applicationにしておいたほうが便利です。

フレームワークの追加

OpenGL / GLUTを使うのに必要なフレームワークをプロジェクトに追加します。追加するフレームワークはGLUT.frameworkとOpenGL.frameworkの二つです。

main関数の書き換え

GLUTを使ったアプリケーションの場合、ランループの管理、ウィンドウの管理等はGLUTを使って行うことになります。そこで、main関数の中身を書き換えてCocoaによるウィンドウ生成/ランループの開始をキャンセルします。

#import <GLUT/GLUT.h>
#import <Cocoa/Cocoa.h>
void display()
{
}
int main(int argc, char *argv[])
{
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    glutInit(&argc, argv);
    glutCreateWindow("Foo");
    glutDisplayFunc(display);
    glutMainLoop();
    [pool drain];
    return 0;
//    return NSApplicationMain(argc,  (const char **) argv);
}
Pocket

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です