描画マネージャ
タスクシステムで描画するのはやめて、描画情報の構造体を登録して後でまとめて描画する方針に変更。
そのための描画マネージャを作成中。
ゲームの描画オブジェクトは次のように複数の層に分けられる。
層 | 例 | |
---|---|---|
背景2D絵 | 背景一枚絵など | |
背景不透明物体 | 建物など | |
背景半透明物体 | 噴水など | |
通常不透明物体 | 自機など | |
通常半透明物体 | パーティクルエフェクトなど | |
通常2D絵 | ゲージなど | |
前景不透明物体 | 弾など | |
前景半透明物体 | ? | |
前景2D絵 | 情報ウィンドウパネルなど |
描画マネージャはそれぞれについて描画情報リストを持つ。
それぞれのリストを描画する前に、カメラの設定(透視射影or正射影)、Zバッファの設定、Zソートなどをかませる。
カメラはタスク側から差し替えられるようにしておけば、任意の視点変更とかもできる。
カメラ
カメラという存在(考え方?)がどうも扱いにくくて困る。
自分の感覚では、カメラとはビュー行列と射影行列の抽象化である。それゆえ描画と深い関係を持つので、ゲーム内の普通のオブジェクトよりも1段上のレイヤに属するように思える。しかしそれと同時に、カメラはゲーム内のワールド空間を動き回る、キャラクタと同じレベルのオブジェクトと捉えることもできる。
この両面性があるおかげでどこに位置づけたらいいのかなんとも。