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);
}

コメントを残す

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