The Challenges of Rendering an Open World in Far Cry 5 の日本語の簡易メモ

The Challenges of Rendering an Open World in Far Cry 5 http://advances.realtimerendering.com/s2018/index.htm 水面 水面用に描画パスを追加   デプスバッファから非同期で生成するバッファ   デプスバッファから生成するバッファの用途   水のデプスを含んだ状態のデプスバッファを使うことに決定   半透明の描画パスを分割   水中 [GDC 2018]「Far Cry 5」におけるこだわりの「水面」表現法,教えます https://www.4gamer.net/games/380/G038063/20180321017/   水面の可視性 Visibility をチェックして, 画面上の描画する必要があるところだけ G-Buffer を作る 平らな水面, ハイトマップベースの水もある セクタごとにオクルージョン判定 AABB でオクルージョンバッファとテストして, 結果を Indirect Draw Arguments buffer に書き出す Vector Displacement Maps パーティクルのエディタを拡張してデザイナーに提供 波の動きを Projected Box Decal で追加する Fractal Brownian Motion 近場の水面 : 最大 9 オクターブを重ねたノイズ 遠い水面 : 3 オクターブ重ねのノイズ オクルージョン判定 32×32 ピクセル単位で、水面のあり/なしをコンピュートシェーダで求める テッセレーション 16×16 の四角形ポリゴン単位で, VDM や FBM を適用する Normal 位置情報から、フル解像度の法線を生成 Smoothness 上の法線を、ジオメトリ法線となじませる Foam ノイズテクスチャで泡の色を変調 Flow Map : 2 つの位相をブレンド SDF (岩や水面の淵)で泡の出る箇所を制御 泡のディスプレイスメントをブレンド フローマップ 地形と水面のレベルから自動生成 SDF で多少、制御もできる Componsition合成 水面のデプスあり、水面のデプスなしのバッファの出力 ライティング処理( Tiled z-binned lighting)     時間変化 問題点   日に変化に対する対策   露出補正のカーブ […]