ページ

2014/01/10

[書評]OpenGL ES 2.0 Androidグラフィックスプログラミング

OpenGL ES 2.0 Androidグラフィックスプログラミング
著者 : 松田晃一
カットシステム
発売日 : 2012-08
ブクログでレビューを見る»
Android で OpenGL ES 2.0 を使いたい人が入門書として読むのにオススメな本です。
ゼロから OpenGL ES 2.0 について、Android で使う方法について
解説されているので大変わかりやすいです。
CUTT System:OpenGL ES 2.0 Androidグラフィックスプログラミング

目 次

第1章 OpenGL ES 2.0って何?

1.1 Android上のOpenGL ES 2.0は何がよいのか?
1.2 OpenGL ES 2.0はOpenGLを簡単にしたもの
1.3 OpenGL、OpenGL ES 1.1/2.0、WebGL
1.4 OpenGL ES 2.0のソフトウェア構造
1.5 開発環境とスマートフォン
1.6 サンプルプログラム
1.7 参考文献の表記に関して
1.8 まとめ

第2章 環境を整える

2.1 Android SDKの導入
2.2 Eclipseの導入
2.3 Androidアプリケーションの実行
2.4 プログラムの表示のさせ方
2.5 メッセージを表示させる
2.6 まとめ

第3章 はじめの一歩

3.1 世界一短いOpenGL ES 2.0:描画領域をクリアする(HelloGLES20)
3.2 点を描画する(1)
3.3 点を描画する(2)
3.4 タッチされた場所に点を描画する
3.5 点の色を変更する
3.6 縦横比を保持する
3.7 精度修飾子に関してもう少しだけ
3.8 まとめ

第4章 三角形の描画とアニメーション

4.1 複数の点を描画する(1)
4.2 複数の点を描画する(2)
4.3 三角形さん、こんにちは
4.4 移動、回転、拡大縮小
4.5 移動し、回転する
4.6 アニメーションさせる
4.7 まとめ

第5章 色と画像を使う

5.1 頂点に関する複数種類のデータをシェーダに渡す
5.2 三角形に色を付ける(ColoredTriangle.java)
5.3 四角形に画像を貼る
5.4 複数のテクスチャを貼る
5.5 まとめ

第6章 小休止:OpenGL ESシェーダ記述言語(GLSL ES)

6.1 GLSL ESとは
6.2 Hello Shader!
6.3 扱えるデータ(数値、論理値)
6.4 変数
6.5 型に厳しい言語
6.6 基本の型
6.7 ベクトル型と行列型
6.8 構造体
6.9 配列

6.10 サンプラ

6.11 演算子の優先順位
6.12 条件分岐と繰り返し
6.13 関数
6.14 組み込み関数
6.15 グローバル変数とローカル変数
6.16 型修飾子
6.17 精度修飾子
6.18 プリプロセッサ指示子
6.19 まとめ

第7章 3次元の世界へ

7.1 どこからどこを見ているかを指定する
7.2 タッチで視点の位置を変える
7.3 どこからどこまでが見えるかを指定する(直方体型)
7.4 どこからどこまでが見えるかを指定する(四角錐型)
7.5 前にある物が後ろにある物を隠す
7.6 立方体さん、こんにちは
7.7 ワールド座標系とローカル座標系
7.8 まとめ

第8章 光溢れる世界へ

8.1 物体に光を当てる
8.2 回転し、平行移動した物体に光を当てる
8.3 物体に点光源を当てる
8.4 複数の物体から構成される物体の描画と操作
8.5 シェーダとプログラムオブジェクト——initShaders( )は何をやっているのか?
8.6 環境に優しいプログラム
8.7 まとめ

第9章 さまざまなテクニック

9.1 物体を指で回転する
9.2 物体を選択する
9.3 物体を指で拡大縮小する
9.4 フォグ(大気効果)
9.5 四角い点を丸くする
9.6 アルファブレンディング
9.7 シェーダを切り替える
9.8 描画した内容をテクスチャ画像として使用する
9.9 影を表示する
9.10 モデルを読み込み表示する
9.11 センサを利用する
9.12 まとめ

付録

付録A Androidプロジェクトの作成
付録B GLSL ES 1.0の組み込み関数
付録C 行列一覧
付録D OpenGL ES 2.0/OpenGLは左手系?
付録E 逆転置行列!
付録F シェーダをファイルから読み込む
OpenGL の概要も全然知らないけど画像加工フィルターが作りたくて良さそうな本はないかと買いました。
概要から 2D、そして 3D へという流れで解説しています。
画像加工フィルターが作りたかっただけなので 3D の 第7~9章は読んでいません。
まだ画像加工フィルターを作ってないのでちゃんと理解できているかどうかは微妙ですが、
わかりやすい図解などもあり、少なくともわかったつもりにはなれると思います。
次の DevCamera のアップデートで実装してちゃんと理解したいです。