Killzone Shadow Fall の環境キューブマップのメモ
概要
- Killzone Shadow Fall の環境キューブマップの使用に関するメモです.
参考文献
- "Killzone: Shadow Fall Demo Postmortem"
メモ
- 下図のようにマップに対して直方体の AABB を複数配置して, それぞれの AABB ごとに環境キューブマップを事前に撮影しています.
- そしてそれらの環境キューブマップは CubeMapGen を使って, ランタイムのスペキュラライティングに合わせてフィルタリングしておき, 物体の表面のラフネスに応じて参照する環境キューブマップのミップレベルを変更します. (PS4 ”Killzone : Shadow Fall” のIBL リフレクションシステムの説 - OLD hanecci’s blog : 旧 はねっちブログ)
- 環境キューブマップは, ローカルリフレクション(PS4 ”Killzone : Shadow Fall” のIBL リフレクションシステムの説 - OLD hanecci’s blog : 旧 はねっちブログ)が失敗した時に参照されます.
- 具体的にはシェーディング対象の点を含んでいる「環境キューブマップ用のエリアの AABB」を, 近場の 8 個の AABB をループして探し出します. またここの処理では動的な分岐を使っていて, 対象の環境キューブマップではないときは環境キューブマップのテクスチャフェッチをスキップしています.
- もし見つからなかった場合はグローバルな環境キューブマップを参照します.