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)

 

 

時間変化

  • 問題点

 

  • 日に変化に対する対策

 

  • 露出補正のカーブ

 

  • 昼の場合の露出補正

 

 

 

  • 夜の自動露出補正

 

  • 解決策

 

  • エミッション向けのカーブ

 

  • GI 情報を使ったローカルトーンマッピング

Leave a Reply

Your email address will not be published. Required fields are marked *

4 + seventeen =

This site uses Akismet to reduce spam. Learn how your comment data is processed.