つい先日あったIGDAの新年会で知り合いがiPhoneで3Dオブジェクトを出しているのを見せてもらいました。
で、ちょっと面白そうだったので調べてみると、OpenGL ES 2.0のWindows用エミュレータがあるじゃないか。
…こいつはやるしかねぇな。
と言うわけで、短期集中(たぶん長期にはならないと思う)のOpenGL ES 2.0チュートリアルって感じで。
まずは0回目と言うことでインストール、サンプルプログラム動作まで。
なお、本格的にiPhoneでゲームを作りたい人はOpenGL ES 1.1を勉強しましょう。
2.0は次のiPhoneでは使えるという話ですが(確定というわけでもない?)、少なくとも今は1.1しか使えません。
私の場合、プログラマブルシェーダが使えないのがイヤなので2.0にしました。固定シェーダなんて今更やってられん。
さて、まずはWindows用エミュレータ、およびSDKを手に入れましょう。
置いてある場所は私が知っているのは2カ所です。
1つはAMD/ATIのサイト。こちらにはRenderMonkeyなんかもあって、これがGLES2.0に対応しています。
本格的にGLSLをやろうという人ならこっちの方がいいかもしれませんが、GeForce使ってるとどうも動作が怪しいらしい。
まあ、ATIなんだからRadeon特化でも仕方ない気がしますが。
もう1つはImaginationのサイト。聞いたことがないという人もいるかと思いますが、PowerVRの会社と言えば懐かしむ人もいるかもしれません(特にセガ系の人)。
こちらのSDKはGeForceでも問題ないようです。実際、今のところ問題は出ていません。
はい、GeForce使ってるのでこっちを選びました。URLは以下です。
http://www.imgtec.com/powervr/insider/sdkdownloads/index.asp#GLES2
DLするには登録する必要がありますが、無料なのでちゃっちゃと登録しちゃいましょう。
DLしたファイルを実行すればインストーラが立ち上がるので、指示に従ってインストール。
次に重要なことですが、DLLをSYSTEM32にコピーする必要があります。
DLLはインストールフォルダ下の、Builds/OGLES2/WindowsPC/Lib の下にあります。
2つあるので両方ともコピーしましょう。
また、ここにある2つのLIBもビルドの際にリンクします。VisualStudioのディレクトリ設定にここを追加しておくと良いでしょう。
ここまできたらあとは適当なサンプルをVisualStudioで開きます。Demos か TrainingCourse にプロジェクトがあります。
コンパイルが通れば(たぶん通るはず)実行。実行できなかったら…がんばれ。
なお、1からプロジェクトを作成する場合、以下の方法で作成できます。
1.Win32プロジェクトを作成
2.プロジェクトのプロパティで以下の設定を行う
[全般][文字セット] : マルチバイト文字セットを使用する
[C/C++][プリプロセッサ][プリプロセッサの定義] : BUILD_OGLES2 を追加
[リンカ][入力][追加の依存ファイル] : libEGL.lib libGLESv2.lib
3.以下のディレクトリをインクルードファイルディレクトリ、およびライブラリディレクトリに登録
[インクルード] : Builds/OGLES2/Include; Builds/OGLES2/WindowsPC/Include;
[ライブラリ] : Builds\OGLES2\WindowsPC\Lib;
これだけ。あとは適当なサンプルでもコピーして、うまくいけばOK。
何ら苦労することなく動いたのでちょっと拍子抜けでしたね。
私もまだいじり始めて1週間も経っていないのでよくわかっていない部分もありますが、適当にやっていきたいと思います。
適当が一番。適当、適当。