Japanese Memo of "Rendering techniques in INSIDE"

概要

  • Limbo を開発した PLAYDEAD が開発中の INSIDE に関するグラフィックスの資料の簡易日本語メモです.

ノイズ

  • シェーダ内でノイズを作る関数
  • 乱数によるカラーのディザリング
  • 乱数でテクスチャサンプリングのオフセットをずらす
  • インスタンスの SRT(スケール, 回転, オフセット)を変化させる
  • フリッカーグリッチのエフェクト (複数フレームに渡るエフェクト)
  • 滑らかな value noise
  • 複数のオクターブの重ね合わせ

デプスバッファを利用したエフェクト

  • ソフトパーティクル
  • 平面を境界としたローカルフォグ
  • ボックスや球の領域内のローカルフォグ(ボックスや球に対してレイトレースする)
  • ローカルフォグ(シャドウ)
  • 1 回目のボリュームフォグ
    • レイとボックスの交差判定
    • 交差した線分上でレイマーチして, シャドウをサンプリングする
    • フルスクリーンだと重すぎる
  • 2 回目のボリュームフォグ
    • フォグボリュームとジオメトリの交差を boolean 的に扱う
    • 半分の解像度のフォグボリュームの前面の描画
      • 距離を書き込む
    • 半分の解像度のフォグボリュームの背面の描画
      • 前面の結果とシャドウマップを参照して, フォグの強度とデプス(24bit)を出力
      • バイラテラルアップサンプリングの結果とライトカラーを加算して, 最終結果を取得
  • デカールの射影
    • マテリアルシェーダとは別処理になる
  • ラップライト
  • 半球ライト
  • リムライト

スクリーンスペース + その他

    • SSR
    • スクリーンスペースシャドウ
  • 頂点シェーダによるアニメーション
  • αに対する乗算
  • パーティクルへのライティング(シャドウはなし)
  • パーティクルを参照するテクスチャ UV を歪ませて, フローっぽくする
  • パーティクル用の flipbook animation