libneetという素敵な名前のライブラリーに誘われて、ほいほい本書を買っちまったオレが来ましたよ。

本書「フルスクラッチによるグラフィックスプログラミング入門」は、

フルスクラッチによるグラフィックスプログラミング入門:秀和システム 書籍詳細
フルスクラッチ(自主開発コード)主体のグラフィックスプログラミングの真髄を解説します。WindowsのAPIに頼らず、グラフィックスプログラミングを基礎から学ぶことで新技術や応用力が磨かれ、ほかのソフトにはない独自性を生み出せます。本書はマルチプラットフォーム時代のグラフィックスプログラミングの基礎知識から、簡単な画像解析テクニック紹介まで順序立てて理解することができるやさしい教科書です。

とのことなのだけど、「マルチプラットフォーム」に関しては一言言いたい。

orz

嘘つき!

目次 - フルスクラッチによるグラフィックスプログラミング入門の目次:秀和システム 書籍詳細より
はじめに
  1. 本書の目標
  2. 再発明の理由
  3. フルスクラッチじゃ使い物にならない?
  4. 本書の対象者
  5. libneet
  6. 本書の構成
  7. 謝辞
CHAPTER1 開発環境について
  1. 開発環境について
  2. C++Builderでの開発
  3. VisualStudio.NET2003での開発
CHAPTER2 Windowsグラフィックの基礎
  1. CGの基礎
  2. GDIプログラミングの基礎
  3. メモリ上に画像を作る
CHAPTER3 グラフィックプログラミング〜導入編〜
  1. 画像を扱うクラスを作る
  2. 矩形転送をしてみよう
  3. クリッピングで無駄を省く
  4. 最適化ってなに?
  5. 固定小数表現
  6. アセンブラ入門
CHAPTER4 グラフィックプログラミング〜実践編〜
  1. ピクセル演算
  2. 線を引く
  3. 簡単な図形を描く
  4. エフェクト処理
  5. 曲線とシェイプ
  6. アンチエイリアシング
  7. テクスチャマッピング
  8. 平均化処理
  9. ブラシストローク
CHAPTER5 画像解析
  1. HDR画像について
  2. 色空間について
  3. ヒストグラムの表示
  4. レベル補正とガンマ補正
  5. オプティカルフロー
  6. ハフ変換
  7. 直交変換の基礎
CHAPTER6 ファイル処理と外部ライブラリ
  1. BMPファイルを扱う
  2. zlibを使う
  3. JPEGファイルを扱う
  4. PNGファイルを扱う
  5. TGAファイルを扱う
CHAPTER7 TIPS
  1. マイクロタイルアレイ
  2. Webcamを使おう
  3. タブレットからの入力
  4. コールバック関数
  5. 乱数とノイズ
参考文献
ダウンロード
索引

C++BuilderとVisualStudio.NETのどこがマルチプラットフォームなんだよ!?今時マルチプラットフォームと言うんだったら、

% gzcat libneet-x.xx.tar.gz | tar xvf - 
% cd libneet-x.xx
% sh configure
% make
% make install

出来てなんぼでしょうよ!?ましてや本書のChapter 6では、zlibやlibjpegやlibpngやtargaを使っていて、LinuxやFreeBSDやOS Xでもaptやports一発で入ることを考えればなおさら。

さらに最近の、「画像は鯖まかせ」という風潮を考えれば、今時Windows依存で書く事がアホでバカ。低脳でワーキングプア。これじゃneetじゃないじゃんorz。むしろ本書の目指すべきだったのは、「GDやImageMagickを自作する」だったんじゃないの?

とはいえ、本書に出てくるコードサンプルは、Windowsをシカトしても十分以上に使える。単に点を打ったり線を引いたりという、「マイコン」少年たちがBASICと戯れていた時代からある基本作業だけではなく、アンチエイリアシングやテクスチャマッピングといった、32bitフルカラーが当たり前の時代のテクニックもきちんと紹介している。感心したのが、ウェーブレット変換と乱数の質まで俎上に載せていた事。どちらも中高生も知っている幾何の範囲を超えていて、実装は「中級者」ではなく「上級者」とか「専門家」になるのだから。

もっとも「なぜそれが必要か」「どうやったらそれが使えるか」という点に関して言えば中級で、実際ウェーブレット変換はJPEG2000で使われているし(オープンソースのライブラリーもあります)、高品質の乱数に関しては Mersenne Twisterがあってこれまたライブラリーが豊富にある。そしてたいていの本ではそれらの紹介にとどまっているところを実装まで紹介しているところが本書の強みである。

あと、タイトルが長い。「フルスクラッチによるグラフィックスプログラミング入門」でなくて、「2DCGライブラリ手作り入門」だったらもっとよかったのに。もっともIT系の参考書としては本書のタイトルが特別長いわけではないのだけど。

というわけで、2Dグラフィックスプログラムを自分の手でごにょごにょしたいという人にはかなりお勧め。このボリュームで3,570円というのもお買い得。でも、Windowsベースではなく*nixベースにしたら、本書は15%ページ数を減らせたはずで、価格も3,000円を切るところまで落とせたかもしれない。

というわけで最後にもう一回。

嘘つき!(ゆるすけど)

Dan the Man with Too Many Images to Process