iPhoneでGLUを使ってみた!!

iPhoneでGLUというOpenGLのライブラリを使ってみたのでそのメモ書き。
iPhoneではOpenGL(正確にはそのサブセットのOpenGL ES)という3D用のライブラリを使用して3Dでガリガリ動くゲームを作ることが出来ます。

しかしiPhoneにはGLUもGLUTも入っていない為、高度な処理をするには独自でライブラリを作る必要があります・・・orz
しかしネットを探してみるとiGLUなるiPhoneでGLUを扱うためのライブラリが見つかりました!!
下記は実際にiPhoneでGLUを使う為の手順です。
(※iPhone開発環境を構築して、プロジェクトを作成している前提で進めます。)


1 ライブラリのダウンロード

GoogleCodeのページから落とします。


2 ライブラリの配置

落としてきたら任意のディリクトリに置きます。
私の場合はiPhone用のライブラリを纏めようと思っているので、

〜任意のディリクトリ〜/iPhone/libs/iGLU-1.0.0/

こんな感じで配置してます。


3 検索パスの追加

「プロジェクト」=>「プロジェクト設定を編集」を開き、
下部にある「▼検索パス」の「ライブラリ検索パス」をダブルクリックし、先ほどのパスを追加。
(「再帰的」をチェックすると幸せになれそう♪)


4 コンパイル

それぞれの環境にあったライブラリを生成する為コンパイルします。
(ちなみに.aは静的ライブラリの事です。)

makeはこんな感じ。
■実機の場合

$ make ARCH=armv6 PLATFORM=iPhoneOS IPHONEOS_DEPLOYMENT_TARGET=3.1.2

■シミュレータの場合

$ make ARCH=i386 PLATFORM=iPhoneSimulator IPHONEOS_DEPLOYMENT_TARGET=3.1.2


【注意】
「IPHONEOS_DEPLOYMENT_TARGET」オプションを指定しないと、ディフォルトではiPhoneOSのバージョンが2.1なのでエラーが出ます><
Snow Leopardなら「MACOSX_DEPLOYMENT_TARGET=10.6」とすればよさそうです。(当方10.5環境の為、未検証)
一度makeした後再度makeする場合は「make clean」を忘れずに!!

またmakeするにはMesaという3Dライブラリが必要となります。
インストールしましょう。
portコマンドなら

$ sudo port install Mesa

で簡単にインストール出来ます♪


5 iPhoneプロジェクトにライブラリを配置

makeして生成された「libGLU.a」ファイルとinclude以下に配置されている「glu.h」の二つのファイルを
iPhoneプロジェクトの「Other Sources」ディリクトリ以下にドラッグして追加します。

6 ライブラリをインポートする

プログラム(〜.m)の上部に「#import "glu.h"」を追加します。



これでGLUの関数が使えるはず!!!!!!
GLUを使ったOpenGLのプログラムということで、id:takuma104さんのページを参考にiPhoneでパノラマビューを作ってみました!!
OpenGL初心者だったので、id:takuma104さんのソースが非常に参考になりました。ありがとうございますm(_ _)m



というわけで、iPhoneで動きましたーー!!!
やったー!!

ソースは後程githubで公開予定です。