ISBN 9784873114842
iPhone 3Dプログラミング : OpenGL ESによるアプリケーション開発
- 出版社
- オライリー・ジャパン
- 刊行
- 2011-03
概要
OpenGL ES で iPhone 向け 3D アプリを体系的に作る
想定読者
iOS アプリ開発の基礎があり、3D グラフィックスや AR アプリ開発へ踏み込もうとしているエンジニア。頂点バッファやシェーダといった描画パイプラインを、概念だけでなく実機で動くコードとして身につけたい方に向いています。
こんな人には向いていない
- iOS アプリ開発そのものがはじめての初学者(Objective-C / Swift と Xcode の基礎がない状態では入門としては機能しません)
- Metal や Vulkan など現行世代の GPU API を学びたい開発者(本書は 2011 年刊、OpenGL ES 1.1/2.0 世代の内容です)
- 2D ゲームや UI 実装が主目的の方(3D グラフィックスパイプラインへの関心が前提になります)
読了後にできるようになること
- 頂点バッファ・ライティング・テクスチャ・シェーダという OpenGL ES の 3D 基礎概念を、実装レベルで理解できる
- 固定機能パイプライン(1.1)とプログラマブルシェーダ(2.0)の違いを、同じ題材を作り比べながら把握できる
- タッチスクリーン・コンパス・加速度センサーなど iPhone 固有の入力を 3D 描画に組み込める
- 3D ビューワや AR アプリ、物理シミュレーションを題材に、実用的な描画パイプラインを段階的に構築できる
- 日本語版付録のセカイカメラ最適化事例から、モバイル GPU での実践的なパフォーマンスチューニングの考え方を学べる
- 巻末の OpenGL ES 拡張命令一覧を、他の OpenGL ES 文献を読む際のリファレンスとして活用できる
本書のキー概念(章解説)
- 前半 — 3D 描画の基礎を組み上げる — 頂点バッファ・ライティング・テクスチャといった 3D グラフィックスの土台を、段階的なサンプルで実装レベルから固めるパートです。まずここを最優先に消化すると後半が楽になります。
- 中盤 — シェーダと iPhone 固有機能の連携 — プログラマブルシェーダ(OpenGL ES 2.0)に踏み込みつつ、タッチ・コンパス・センサーといった iPhone ならではの入力を描画へ結びつけ、AR アプリや物理シミュレーションへ展開していく役割の部分です。
- 終盤・付録 — 最適化と実践リファレンス — モバイル GPU 上でのパフォーマンス最適化を扱い、日本語版付録としてセカイカメラで使われた最適化手法と OpenGL ES 拡張命令一覧を収録します。現場水準のチューニングとリファレンスを担う締めのパートです。
編集メモ
Qiita 言及データ・Rakuten ランキング情報はともになし。約 437 ページの体系的な解説書だが、2011 年刊で OpenGL ES 1.1/2.0 世代の内容のため、現行の iOS グラフィックス主流(Metal)に対しては補完的な位置づけ。3D 描画パイプラインの考え方を学ぶ土台としては今も読む価値がある。
読む前に押さえておきたいこと
- Objective-C または Swift による iOS アプリ開発の基本操作経験(Xcode でのビルド・実機デプロイを含む)
- 行列・ベクトルといった基礎的な線形代数の知識(座標変換やライティングの理解に必要)
- 3D グラフィックスの一般的な用語(頂点・ポリゴン・テクスチャ)への最低限の親しみ
学習のコツ
- 前半の 3D 基礎(頂点バッファ・ライティング・テクスチャ)を最優先に消化し、その後でセンサー連携・最適化へ進む順序が学習効率を高めます。
- サンプルコードは手元の実機で動かしながら読むと、シェーダの変更が画面の見た目にどう反映されるかを視覚的に確認でき、定着が早まります。
- OpenGL ES 1.1 と 2.0 を行き来する構成のため、自分が最終的に使いたいバージョンを意識し、固定機能とシェーダの対応関係を都度メモしておくと混乱しません。
- 日本語版付録のセカイカメラ最適化事例は、AR 開発に関心がある読者が早めに目を通しておくと、後半の最適化の話が具体的に読めます。
- 巻末の OpenGL ES 拡張命令一覧はリファレンス用途で手元に置き、他の OpenGL ES 書籍を読む際の索引としても使うと長く役立ちます。
出版社による内容紹介
OpenGL ESを段階的に学ぶことができるiPhone対応3Dアプリケーション開発についての解説書。3Dビューワ、ARアプリケーション、物理シミュレーションなどのサンプルを使って、頂点バッファ、ライティング、テクスチャ、シェーダといった3Dの基本から、タッチスクリーン、コンパス、センサーといったiPhone特有の機能、そして最適化までiPhone 3Dプログラミングを体系的に解説します。日本語版では人気のARアプリ「セカイカメラ」で使われている最適化手法など開発現場で役に立つ実践的なテクニックやOpenGL ESの拡張命令一覧を巻末付録として収録しました。OpenGL ES 1.1/2.0対応。
この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。