マーリンアームズ サポート   翻訳   コンサル   講座   アプリ   コラム

iPhone 3D プログラミング Philip Rideout著 安藤幸央監訳 阿部和也+武舎広幸訳

推薦の言葉

私は今、Appleにまたまた訪れる歴史的瞬間の直前に、台所のテーブルに座ってこのはしがきを書いています。今日、2010年2月23日は、iTunesミュージックストアから100億曲目の楽曲がダウンロードされる日なのです。少し時間をとって、この数をよく考えてみてください。その際に、iTunesミュージックストアは2003年4月、ほんの7年弱前に立ち上げられたものだということを忘れないでください。そうなのです。7年足らずの間に100億曲がダウンロードされたのです。

もっと良いニュースがあります。この本を読んでいる読者の皆さんならば、iPhoneアプリケーション開発に興味を持っていることでしょう。以下に示す数字を見ればきっと興奮するはずです。2010年1月5日、Appleは18か月間にApp Storeから30億本のアプリケーションがダウンロードされたと発表しました。驚くべき数字です。

この本のレビューを依頼される何か月も前から、私は自分が書くiPhoneグラフィックスの本のために、概要の作成と資料の収集を始めていました。私が書こうと思っていた本と似た本のテクニカルレビューをしてくれないかと言われたとき、とてもためらいました。しかし、オライリーの本の大ファンであった私は、その本の出版社がオライリーだとわかったとたんに引き受けることに決めたのです。

この本は、OpenGL ESを使ったiPhoneアプリケーションのプログラミングスキルをできるだけ早く身につけられるようポイントを絞った内容の素晴らしい本になっています。本文ではまずXcodeとObjective-Cの使い方の基礎を学び、固定機能グラフィックスパイプライン(OpenGL ES 1.1)からプログラム可能なグラフィックスパイプライン(OpenGL ES 2.0)へと進み、バネと振動吸収材で実験し、そして高度な照明効果を学びます。さらに距離場についても学び、途中でPythonも少しかじるのです。この本を読み終えると、OpenGL ESに関する基礎がためは万全で、iPhoneのみならず他のシステムにも応用可能な高度なグラフィックスの技法に精通していることになるでしょう。

この本の最初の原稿の一部を読んだ瞬間に、こういう本こそが私が書きたかった本だということがわかりました。この本全部を読み終わった今、この気持ちは私の中で確信となっています。読者も同じ気持ちになると自信を持って言うことができます。

Tapulous Inc. 上級ゲームプレイエンジニア
Serban Porumbescu, PhD

まえがき

本書の読み方

「これでまたプログラミングが面白くなった!」というのは、プログラミングの達人たちが言い古した言葉です。新奇なプログラム言語やプラットフォームがいかに素晴らしいかを褒め讃えるために、必ずと言っていいほど使われます。しかし、iPhoneのグラフィックスプログラミングを評するのに、筆者はこれより良い言葉を思いつきません。皆さんがプロであるにせよ趣味のプログラマであるにせよ、本書がプログラミングの喜びを再発見することのお役に少しでも立てることを願っています。

本書はOpenGLのマニュアルではないのですが、iPhoneとiPod touchでの3Dグラフィックスプログラミングという目的達成の手段としてOpenGLの基本概念を数多く説明しています。本書の大部分がチュートリアル形式で書かれています。ぜひサンプルプログラムをダウンロードして遊んでみてください。読者にグラフィックスの予備知識は不要で、iOS SDKの使用経験も必要ありません。C++については基本をしっかりと理解している必要があります。Objective-Cに堪能であれば、助けにはなりますが必要ではありません。7章でPythonをほんの少し使っていますが、敬遠しないでください。

本書の内容が数学に偏ったものにならないよう努力しましたが、3Dグラフィックスの本の宿命として、少なくとも線形代数の基礎についてはいやがらずに取り組んでいただく必要があります。学生時代に学んだことを思い出すお手伝いは最大限させていただきます。

3Dグラフィックスについてはよく知っていて、iPhoneの経験が浅いだけという方でも、本書から学ぶことがあると思います。読み飛ばしていい章があるのは確かです。2章の大部分は一般的な3Dグラフィックスの概念をざっと説明したものですから、斜め読みでもかまいません。その反対に、iPhoneのプログラミングの経験はあるが、3Dグラフィックスは初めてという読者は、1章のObjective-CとXcodeについての概論にはざっと目を通すだけでいいでしょう。

いずれにせよ、筆者がこの本を書いていて楽しかったように、この本を読んでいて楽しいと読者の方に思っていただけることを願っています。