描画マネージャ

タスクシステムで描画するのはやめて、描画情報の構造体を登録して後でまとめて描画する方針に変更。
そのための描画マネージャを作成中。
ゲームの描画オブジェクトは次のように複数の層に分けられる。

背景2D絵 背景一枚絵など
背景不透明物体 建物など
背景半透明物体 噴水など
通常不透明物体 自機など
通常半透明物体 パーティクルエフェクトなど
通常2D絵 ゲージなど
前景不透明物体 弾など
前景半透明物体
前景2D絵 情報ウィンドウパネルなど

描画マネージャはそれぞれについて描画情報リストを持つ。
それぞれのリストを描画する前に、カメラの設定(透視射影or正射影)、Zバッファの設定、Zソートなどをかませる。
カメラはタスク側から差し替えられるようにしておけば、任意の視点変更とかもできる。

カメラ

カメラという存在(考え方?)がどうも扱いにくくて困る。
自分の感覚では、カメラとはビュー行列と射影行列の抽象化である。それゆえ描画と深い関係を持つので、ゲーム内の普通のオブジェクトよりも1段上のレイヤに属するように思える。しかしそれと同時に、カメラはゲーム内のワールド空間を動き回る、キャラクタと同じレベルのオブジェクトと捉えることもできる。
この両面性があるおかげでどこに位置づけたらいいのかなんとも。