強火で進め

このブログではプログラム関連の記事を中心に書いてます。

オライリーのAndroid環境向けのOpenGL ES本「初めてのOpenGL ES」

初めてのOpenGL ES

初めてのOpenGL ES

目次。

本書に寄せて
はじめに

1部 2DとしてOpenGL ESを扱う

1章 OpenGL ESとAndroid
    1.1 OpenGLとは何なのか?
    1.2 OpenGL ESのバージョン
        1.2.1 Androidの対応バージョン
    1.3 OpenGL ESで利用するデータ型

2章 Hello OpenGL ES!
    2.1 プロジェクトのセットアップ
        2.1.1 SDKのインストール
        2.1.2 プロジェクト作成
        2.1.3 描画用SurfaceViewを追加する
    2.2 画面のどこを使うのか?
        2.2.1 画面を塗りつぶす
        2.2.2 GLSurfaceViewの制限

3章 簡単な図形を描画する
    3.1 正規化されたデバイス座標系の存在
    3.2 バイトオーダーの問題とjava.nioの存在
    3.3 OpenGL ESへの関連付けと描画
        3.3.1 頂点を使いまわすことによる最適化
        3.3.2 トライアングルストリップの活用
    3.4 任意座標への描画
    3.5 任意の色での描画

4章 画像を描画する
    4.1 テクスチャ、U、Vという存在
    4.2 テクスチャの制限
    4.3 テクスチャを読み込む
    4.4 頂点のUV座標を指定する
    4.5 テクスチャの指定領域を利用する
    4.6 文字を描画する
    4.7 複数枚のテクスチャを扱う

5章 画像をブレンドする
    5.1 ブレンディングという要素
    5.2 アルファブレンディング
        5.2.1 ブレンド計算を理解する

2部 メモリの効率化と速度向上のために

6章 行列のできるOpenGL
    6.1 行列とは?
        6.1.1 移動行列
        6.1.2 拡大縮小行列
        6.1.3 回転行列
    6.2 行列を乗算する際の注意点
    6.3 OpenGL ESで行列を操作する
        6.3.1 行列の適用順序
    6.4 行列を利用して任意の四角形を描画する
    6.5 行列でUV座標を操作する

7章 VertexBufferObjectで描画速度を向上する
    7.1 VertexBufferObjectとは?
    7.2 VBO利用の流れ
    7.3 UVバッファをVBOで利用する
    7.4 1つのVBOに頂点情報をまとめる

3部 3Dの基本

8章 カメラの概念
    8.1 現実をコンピュータ上に置き換えるということ
        8.1.1 gluPerspective関数

9章 インデックスバッファの存在
    9.1 インデックスバッファの必要性
    9.2 「頂点」と「ポリゴン」の分離
    9.3 インデックスバッファの利用
    9.4 インデックスバッファの利用例
        9.4.1 TRIANGLE_STRIPを利用してインデックスバッファを複数個
  用意した場合(例1)
        9.4.2 TRIANGLE_STRIPを利用してインデックスバッファを1つ
  用意した場合(例2)
        9.4.3 TRIANGLESによる正六面体描画(例3)
    9.5 インデックスバッファのVBO

10章 本格的に3Dを扱う
    10.1 「ローカル座標」と「ワールド座標」の考え方
    10.2 正六面体を複数描画する
    10.3 Zバッファの存在
        10.2.1 Zファイティングの存在
        10.2.2 指定位置に描画するための行列

11章 さらに本格的に3Dを利用する
    11.1 2Dと3Dを共存する

4部 3D知識の応用
12章 応用的な3D知識
    12.1 ライトとマテリアル
    12.2 3Dプログラムにおけるライトとは?
    12.3 3Dプログラムにおけるマテリアルとは?
        12.3.1 頂点の向きを考える
        12.3.2 ライトの情報を変更する
    12.4 マテリアルの設定

13章 フォグによる遠近の演出
    13.1 フォグを使ってみる
        13.1.1 リニア方式でフォグを指定する
    13.2 ポイントスプライトの活用
    13.3 ポリゴンの表と裏

5部 実践編

14章 実際のツールと連携する
    14.1 3DCG用ツールについて
    14.2 3DCG用ツールとは?
    14.3 モデルを構成する要素
        14.3.1 Metasequoia形式からOpenGL ESへの読み込み
    14.4 OpenGL ESへの転送
    14.5 画面内にモデルを表示する

15章 より実践的にOpenGL ESを利用する
    15.1 「アルファテスト」を利用する
    15.2 「ポリゴンの反転」を利用する
    15.3 おわりに

付録A 圧縮テクスチャを利用する
    A.1 圧縮テクスチャとは?
        A.1.1 無圧縮テクスチャについて
    A.2 圧縮テクスチャの例
    A.3 256色BitmapをAndroidで直接読み込む
    A.4 256色パレットテクスチャを生成する

付録B GLSurfaceViewから脱却する
    B.1 GLSurfaceViiewの問題点とその改善
        B.1.1 SurfaceViewの準備
        B.1.2 SurfaceHolderのコールバックを待つ
    B.2 描画用メソッドの実装
    B.3 休止・復帰処理の追加

付録C ライブ壁紙でOpenGL ESを利用する
    C.1 ライブ壁紙とは?
    C.2 ライブ壁紙を作成する
        C.2.1 EngineがOSから受け取るメッセージ
    C.3 XMLの編集

索引

関連情報

O'Reilly Japan - 初めてのOpenGL ES
http://www.oreilly.co.jp/books/9784873114965/