2013年3月26日火曜日

「OpenGL ES 2.0 Androidグラフィクスプログラミング」読んでる。

「初めてのOpenGL ES」は読んだことがあったんだけど、2.0系についても理解しておこうと思って購入。

どうせ最近のAndroidだとCanvasを使ってもOpen GLに変換して描画してくれるっぽいし、本格的に3DやるならUnityとかのゲーム向けライブラリ使う方がいいんだろうしで、OpenGL ESを直接学ぶ必要性があるのかよく分からないんだけど、まぁ趣味的に。

OpenGL関係の翻訳本などを手がけている著者だけあって、用語がちゃんとしてて、説明もこなれている感じがある。

ただこの本、プログラマブルシェーダーの初期化等を独自のUtilityライブラリに回しており、その部分に関する説明がバッサリ飛ばされているので、後半の章を読むまで分からない。

そのUtilityライブラリを手に入れるには、会員登録必須のサイトに有効期限のあるダウンロードコードを入力するという手続きを踏まなければならないので、そうしないとUtilityライブラリがブラックボックスのせいで写経して動かすことすらできないのが、なんだかなーって感じ。

面倒な手続きをひとまず隠蔽することで、動くものを作り、それを改造して学んでいくというモチベーションを保ちやすい学習スタイルは入門書として凄くいい本っぽいんだけど、個人的には「おまじない」というマジックワードで濁されて、ブラックボックスのままにされてしまうとそっちが気になってしまう。この辺は趣味の問題かな。

---

ところでOpenGL ES 2.0の本を読んでいて気になるのは、2.0はGL20クラスのstaticメソッドの利用が中心になっているのだから、静的import使えばいちいちGL20.~って打たなくていいし、コードの見栄えがC言語に近くなっていいと思うんだけど、なぜかそう書いてるケースが見当たらない。なんでなんだろ。

GL10(ES 1.0)とメソッド名が同じ(1.0はインスタンスメソッドだから区別は付くとはいえ、非常に紛らわしいことに違いはない)とか、静的importを使うことによって変数が汚染されてトラップに嵌るとか、なんかいろいろあるのかもしれないけど…。

0 件のコメント:

コメントを投稿