GDC2012 ”Advanced Procedural Rendering in DX11”のメモ

概要

  • だいぶ出遅れていますが, 下の資料を読みました.


資料の内容の流れ

    • Signed Distance Field を使ったプリミティブ図形の描画
    • 三角形から GPU で Signed Distance Field を作る
    • パーティクル向けの Signed Distance Field
    • Signed Distance Field の可視化(スフィアトレーシング, マーチングキューブ)
    • GPU でのストリームの圧縮
    • Signed Distance Field からのメッシュの生成・スムージング
    • SPH による流体計算
    • Signed Distance Field を使った AO の計算

個人的に気になったスライド

  • 今後のリアリタイム向けのグラフィックスでは「プライマリレイの計算はラスタライズを使って, セカンダリレイの計算はレイトレースを行う」, という内容を書いた下のスライドを見て, ハッとなりました.


  • 上のスライドは今のゲームは当たり前にやっていることについて言葉で書いただけなのですが, プライマリレイ・セカンダリレイという表現で明示的に書いているスライドは初めて見た気がします.
  • ラスタライズが得意な(プライマリレイを飛ばす相当の処理である)大量の三角形の描画では, カメラ視点への三角形の変換・G-Buffer 構築・シャドウマップといったことを行います.
  • 一方で, ラスタライズが苦手なセカンダリレイの処理については下のような探索空間(?)においてリアルタイム向けの以下のようなレイトレースの手法を用います.
    • スクリーンスペース(SSAOなど)
    • ボクセルスペース(ボクセルコーントレーシングなど)
    • タンジェントスペース(Parallax Occlusion Mappingなど)
    • Signed Distance Field(Epic の Samaritan demo の建物のリフレクションシャドウ)
    • Layered Distance Map (GPU Gems3:"Robust Multiple Specular Reflections and Refractions")