Chapter 1 openFrameworks入門
1-1 openFrameworksについて
1-1-1 openFrameworksって何?
1-1-2 openFrameworks開発の歴史
1-1-3 「糊(glue)」としてのopenFrameworks
1-1-4 openFrameworksの特徴―既存のインタラクションを超えて
1-2 作例とコミュニティ
1-2-1 openFrameworksを使用した作品例
1-2-2 openFrameworks情報の入手
1-3 オープンソースとopenFrameworks
1-3-1 DIY(Do It Yourself)
1-3-2 オープンソース運動の歴史
1-3-3 オープンソースの様々なライセンス
1-3-4 DIWO、全てを公開するということ
Chapter 2 openFrameworksプログラミング初級編
2-1 プログラムの入手とインストール
2–1–1 openFrameworks開発のための環境設定
2-1-2 Mac OS Xの場合―Xcodeをインストールする
2-1-3 Windowsの場合―Code::Blocksをインストールする
2-1-4 openFrameworksのダウンロード
2-1-5 openFrameworksのファイル構成
2-1-6 openFrameworksのフォルダ構造
2-2 サンプルプログラムの起動
2-2-1 サンプルプログラムを起動してみる
2-3 openFrameworksプログラムを始めよう
2-3-1 本章の以降の流れ
2-4 projectGeneratorで新規プロジェクトを作成
2-4-1 projectGeneratorとは
2-4-2 新規プロジェクトを作成する
2-4-3 重要な3つのファイル
2-4-4 関数―処理をまとめる
2-5 図形を描く
2-5-1 座標系について
2-5-2 直線を描く―ofLine
2-5-3 四角形を描く―ofRect
2-5-4 円、楕円を描く―ofCircle、ofEllipse
2-5-5 三角形を描く―ofTriangle
2-6 色の設定
2-6-1 コンピュータ上での色の表現
2-6-2 背景色と描画色
2-6-3 色を塗り分ける
2-6-4 透明度の付加
2-7 数値の記憶と計算
2-7-1 数値の計算
2-7-2 変数について
2-7-3 変数を使って図形を描く
2-7-4 画面の幅と高さを取得
2-8 たくさんの図形を一気に描く
2-8-1 繰り返し―for文
2-8-2 規則的に配置する―カウンタ変数を利用した演算
2-8-3 繰り返しを繰り返す
2-9 たくさんの値を記憶する―配列
2-9-1 配列の概念
2-9-2 繰り返しと配列の組み合せ
2-9-3 乱数の使用
2-9-4 乱数で位置を指定する
2-9-5 乱数で色を指定する
2-10 移動する―アニメーション
2-10-1 図形を移動する
2-10-2 アニメーションのプログラムの構造
2-10-3 物体を直線運動させる
2-11 条件分岐―「もし○○なら××せよ」
2-11-1 もし画面からはみ出たら反対から出現させよ
2-11-2 条件分岐の応用編―壁でバウンドさせる
2-12 たくさんの図形を移動する
2-12-1 たくさんの円を同時に動かす
2-12-2 配列を利用してたくさんの図形をまとめてコントロール
2-13 図形に触れる―インタラクション
2-13-1 インタラクションとは
2-13-2 マウスの位置の検知
2-13-3 マウスによるインタラクション
2-13-4 インタラクションとアニメーションを組み合わせる
2-14 より高度な表現へ
2-14-1 表現に現実味を持たせる
2-14-2 パーティクル―重力と摩擦力を導入
2-14-3 動きの軌跡をフェード
Interview: Zachary Lieberman
Chapter 3 openFrameworksプログラミング中級編
3-1 プロジェクトの構造をより深く理解する
3-1-1 openFrameworksのプロジェクト構造について
3-1-2 openFrameworksとC++の関係
3-1-3 オブジェクト指向プログラミングとは
3-1-4 オブジェクト=属性+動作
3-1-5 クラス=オブジェクトの設計図
3-1-6 C++でのクラスの作成
3-1-7 ファイルを分割して管理する
3-1-8 UMLクラス図
3-1-9 クラスとしてtestAppを捉え直す
3-1-10 testAppはofBaseAppの子供
3-1-11 openFrameworksプロジェクト構造
3-2 いろいろなメディアを扱う
3-2-1 openFrameworksで扱うことのできるメディア
3-2-2 音を扱う―音とは何か
3-2-3 コンピュータで音を扱うには
3-2-4 波形の生成―ofSoundStream
3-2-5 サウンドの入力―ofSoundStream
3-2-6 サウンドファイルの再生―ofSoundPlayer
3-2-7 画像ファイルを扱う―ofImage
3-2-8 フォントデータを扱う―ofTrueTypeFont
3-2-9 動画の再生―ofVideoPlayer
3-2-10 動画のキャプチャ―ofVideoGrabber
3-3 OOOF:オブジェクト指向oFプログラミング
3-3-1 openFrameworksでオブジェクト指向プログラミング
3-3-2 新規クラスの生成
3-3-3 画面の中心に円を表示する―メソッドの追加1
3-3-4 円の大きさと場所の初期値を指定する―コンストラクタの作成
3-3-5 円の大きさと場所の情報を取得、設定する―セッターとゲッター
3-3-6 円をアニメーションする―メソッドの追加2
3-3-7 円が拡大縮小する動きを加える―メソッドの追加3
3-3-8 画面をクリックすると、どんどん円が増殖する―複数のクラスの生成1
3-3-9 円をクリックすると、細かな円に分裂する―複数のクラスの生成2
3-4 アドオンの利用
3-4-1 アドオンとは
3-4-2 アドオンの使用1―ofxBox2dを使う
3-4-3 アドオンの使用2―ofxOpenCvを使用する
3-4-4 ofxBox2DとofxOpenCvを組み合せる
3-5 楽器を作る
3-5-1 ここまでの内容を統合する
3-5-2 楽器の構想
3-5-3 楽器の設計
3-5-4 プロジェクトの設計
3-5-5 実装
3-5-6 プロジェクト完成
Interview: Kyle McDonald
Chapter 4 openFrameworksケーススタディ
4-1 透視体験―早坂あきら
4-2 大量のLEDデバイスをDMXで制御する―堀宏行/堀井哲史
4-3 RAMプロジェクト―YCAM InterLab
4-4 映像エフェクトアプリ―maxilla
4-5 ロボット研究の体験型アトラクション―緒方壽人
Interview: Memo Akten
Text: 計算によるデザイン2013 インタラクションからエンボディメントへ―久保田晃弘
Appendix―openFrameworks addons