Chiharu の日記

絵描き C/C++ プログラマーの日記です。

Parallel force - パラレル・フォース 〜まずは 2D ゲーム用描画エンジン、スレッド周り作ってます

MSVC10 で C++0x をがりがり使ってます。待ちに待ったラムダ式と左辺値の型推論が便利すぎて涙腺が緩みます。無名名前空間にファンクタ定義する必要もなくなりましたし、自動変数宣言時の型も auto か decltype でほとんど伝播可能なので、すっごく便利。コンテナや配列のループ処理は、ラムダ式が素敵過ぎることから、std::for_each ばかり使ってます。あー、待ちに待った便利環境。std::function も便利。あと、C99 互換の std::int*_t, std::uint*_t が地味に便利です。
ということで、プラットフォーム抽象化パッケージの実装終わり。グラフィックス パッケージは設計がほぼ完了。イメージ クラスの定義とイメージ ローダの定義終わり。とりあえず libpng でお手軽に png だけフルサポートしてみました。現在スレッド パッケージの設計が完了して実装中。並列処理の肝のうちのひとつなので、いつもよりちょっと慎重に進めてます。今日中にスレッド周りも完了かな。ぼちぼち進めています。
現状の設計では、描画周りだけでアホみたいにスレッドが稼動する予定です。目指せ!全コアフル稼働の並列描画エンジン!!扱うデータが大きめなので、キャッシュ サイズの考慮が必要なのがちょっとめんどいけど、がんばります。んー。プロデューサ・コンシューマ パターン考えた人、偉いね。なんだか、いける気がします。