最終更新:2008-07-19 (土) 15:48:20 (5731d)
参考図書/フルスクラッチによるグラフィックスプログラミング
内容
CHAPTER1 開発環境について
- 1.1開発環境について
- 1.2C++Builderでの開発
- 1.3Visual Studio .NET 2003での開発
- Visual Studio .NET 2003について
- MFCを使ったアプリケーション開発
CHAPTER2 Windowsグラフィックの基礎
- 2.1CGの基礎
- 2.2GDIプログラミングの基礎
- ウィンドウハンドル、デバイスコンテキスト
- 画像を表示する
- DCの注意点
- 2.3メモリ上に画像を作る
- もう一つの画像表示方法
- メモリアクセスできるバッファをつくる
- 表示する
- 点を打って表示を確認する
CHAPTER3 グラフィックプログラミング~導入編~
- 3.1画像を扱うクラスを作る
- 画像クラスを設計する
- 基本的なメソッドの実装
- Windowsで使えるクラスを作る
- 3.2矩形転送?をしてみよう
- 矩形を転送してみよう
- こんな単純でいいの?
- ボトルネックは何だろう?
- 3.3クリッピング?で無駄を省く
- 3.4最適化ってなに?
- 3.5固定小数?表現
- 3.6アセンブラ入門
CHAPTER4 グラフィックプログラミング~実践編~
- 4.1ピクセル演算?
- 4.2線を引く
- 縦線・横線を引こう
- 斜めの線も引こう
- 少し凝った線
- 4.3簡単な図形を描く
- 図形を描こう
- 円を描く
- 三角形を描く(1)
- ちょっと寄り道、内積・外積
- 三角形を描く(2)
- 効率よく三角形を描く
- もっと効率よく三角形を描く
- 多角形を描く(1)
- 多角形を描く(2)
- 4.4エフェクト処理?
- 画面を派手に演出する
- 画像を波のように揺らす
- 最適化して揺らす
- もう少し複雑に揺らす
- 回転・拡大・縮小
- フィードバック処理
- 4.5曲線とシェイプ?
- 直線だけで満足できますか?
- 曲線を描いてみよう
- 自由な形状ってどう描くんだろう?
- 多角形で円を描く
- パスで定義した図形をレンダリングする
- 4.6アンチエイリアシング?
- 4.7テクスチャマッピング
- 4.8平均化?処理
- 4.9ブラシストローク?
CHAPTER5 画像解析?
- 5.1HDR画像について
- 5.2色空間について
- 5.3ヒストグラムの表示
- 5.4レベル補正?とガンマ補正?
- 5.5オプティカルフロー
- 解析系のお話
- オプティカルフロー
- どうやって取得しようか?
- 実装
- 検出例
- あれ? 遅くない?
- 高速化
- 5.6ハフ変換
- 5.7直交変換の基礎
- 5.8ウェーブレット変換
- 6.1BMPファイルを扱う
- 好きな画像を表示させよう
- 基本中の基本、ビットマップ形式
- ビットマップファイルを書き込む
- ビットマップファイルを読み込む
- ビットマップファイルを「簡単に」読み込む
- ビットマップファイルを表示する
- 6.2zlibを使う
- 6.3JPEGファイルを扱う
- JPEGとは
- 配布サイトからソースを入手
- ソースアーカイブを展開してみる
- JPEGライブラリのビルド(C++Builder編)
- JPEGライブラリのビルド(VisualStudio .NET 2003?編)
- ロード・セーブ関数を書く
- ロード・セーブ関数のビルド(C++Builder編)
- ロード・セーブ関数のビルド(VisualStudio .NET 2003?編)
- 6.4PNGファイルを扱う
- 6.5TGAファイルを扱う
- TGAとは
- 配布サイトからソースを入手
- TGAライブラリのビルド(C++Builder編?)
- TGAライブラリのビルド(Visual Studio .NET 2003編)
- ロード・セーブ関数を書く
- ロード・セーブ関数のビルド([[C++Builder編)
- ロード・セーブ関数のビルド(Visual Studio .NET 2003編)
- **CHAPTER7 TIPS
- 7.1マイクロタイルアレイ?
- これしか方法はないの?
- 画像を細かく分けて確保する
- MTAの利点
- 7.2Webカメラを使おう
- Webカメラを使ってみよう
- Video for Windowsを使って制御する
- アートな表現に挑戦
- 7.3タブレットからの入力
- 7.4コールバック?関数
- アプリケーションが固まってしまう
- コールバック関数?で進捗を報告する
- C++Builderでのサンプルコード
- 7.5乱数とノイズ