超雑訳 Moving Frostbite to Physically Based Rendering 2.0 (7)

前回はIBLの部分を訳しました。
今回はシャドウとオクルージョンから訳していくことにします。
これで長かったChapter.4も終わりです。

毎度のことながら,誤訳・誤字等が多々ありますので,予めご了承ください。
誤訳をご指摘頂ける場合は,正しい翻訳例と共にご指摘頂けると幸いです。


4.10 Shadow and ocllusion

4.10.1 Diffuse occlusion

McGuire[McG10]はアンビエントオクルージョンを定式化し,物理的な根拠を与えました。可視性関数は方向 \({\bf l}\) におけるサーフェイスから妨げられていない線が見える場合に \(V({\bf l}) = 1\) で,そうでない場合は \(0\) として定義されます。レンダリング方程式のアンビエント項はアンビエント照明 \(L_a\) を持ち次のようになります:
\[
L({\bf v}) = \int_{\Omega} f({\bf l}, {\bf v}) \, L_a ({\bf l}) \, V({\bf l}) \, \langle {\bf n} \cdot {\bf l} \, \rangle {\rm d}{\bf l} \tag{64}
\]
大雑把な近似はBRDFから可視性の項を分離するためであり,入射照明は次になります:
\[
L({\bf v}) = \left[ \pi \int_{\Omega} f({\bf l}, {\bf v}) \, L_a({\bf l}) \, {\rm d}{\bf l} \right] \, \left[ \frac{1}{\pi} \, \int_{\Omega} V({\bf l}) \, \langle {\bf n} \cdot {\bf l} \rangle \, {\rm d}{\bf l} \right] \tag{65}
\]
この分解は \(f_r({\bf l}, {\bf v})\) と \(L_a({\bf l})\) が定数の場合にのみ正確です。これは一定のぼんやりしたライトによるLambertianサーフェイスのライティングを意味しています。この近似は双方の関数が球を中心にスムーズである場合に妥当となります。右側の項は0と1の間のスケール係数で,点の小数の近接性を示しています。アンビエントオクルージョンはこの近接性の反対として定義されます:
\[
AO = 1 \, – \, \frac{1}{\pi} \int_{\Omega} V({\bf l}) \, \langle {\bf n} \cdot {\bf l} \rangle \, {\rm d}{\bf l} \tag{66}
\]
ゲーム上では,パフォーマンスの理由のため,様々な位置と時間におけるアンビエント照明 \(L_a({\bf l})\) をキャプチャーするのが一般的で,ライトマップ,キューブマップ,または球面調和関数へとベイクします。しかしながら,このベイクはシーン上の動的なオブジェクトの情報が欠落します。ランタイムにおいて,この情報は陰影付けされた点におけるベイクされた情報を補間することによってシーンを陰影付けするために使われます。これは陰影付けされた点がベイク時以上に(例えば,静的オブジェクトと動的オブジェクトを合成する)異なるアクセシビリティを持つ可能性があるということを意味しています。これを相殺するため,一般的には入射照明を再構築するためにアンビエントオクルージョンを適用します。可視性と入射照明の分解仮説は正確ではありませんが,パフォーマンスによる理由のためトレードオフになります。

4.10.2 Specular occlusion

アンビエントオクルージョンの導出はLambertianサーフェイスを仮定しています。つまり,入射ディフューズ照明に対してのみ”有効”です。グロッシーあるいはスペキュラーサーフェイスについて,すなわち入射スペキュラー照明に対してはどうすればよいのか?間接ディフューズよりもはるかに悪い間接スペキュラー照明を再構築するときに利用できる知識を持っていません。高い照明強度と物理ベースBRDFは多くの目立つライトリークを引き起こします。図63を参照。さらに,より大きな利用可能なバリエーションを引き起こし,間接スペキュラー照明の高周波は大きなストレージの量を必要とします。したがって,キャプチャー点の数を制限します。

Frostbite_Fig_63

※図は,Sebastien Lagarde and Charles de Rousiers, “Moving Frostbite to Physically Based Rendering 2.0”,
SIGGRAPH 2014 Course: Physically Based Shading in Theory and Practice, p.76 より引用

アンビエントオクルージョン項を用いて直接的にグロッシーあるいはスペキュラーオクルージョンについてこれを解くことは理想的ではありません。アンビエントオクルージョンはコサインローブ形状のアクセシビリティの反対側を表現します。つまり,半球について広範囲なローブです。逆に,グロッシーサーフェイスはラフネスの減少と共に狭いBRDFローブ形状を示します。図64は異なるラフネス値に対するローブのBRDFと関連するアクセシビリティコーンを図示しています。これはスペキュラー照明に対するキューブマップの事前計算の方法に密接に関係します。

Frostbite_Fig_64

※図は,Sebastien Lagarde and Charles de Rousiers, “Moving Frostbite to Physically Based Rendering 2.0”,
SIGGRAPH 2014 Course: Physically Based Shading in Theory and Practice, p.76 より引用

しかし,例えそのようなコーンのアクセシビリティへの利用可能になったとしても,期待された結果を提供しないでしょう。例えば,クロームスフィアのような完全にスムーズなサーフェイスについて,アクセシビリティは単一方向に対してテストされ,バイナリ結果を与えます:0または1。結果として,この利用可能な情報を用いたクロームスフィアは遮蔽箇所で黒くなります。この小さな例では単純にアンビエントライティング積分において可視性を分離したハイライトはグロッシーやスペキュラーサーフェイスでは誤っています。

しかしながら,Kozlowski[KK07]は大多数のグロッシーシーンがある程度近似可能であり,球面調和と用いたディレクショナルアンビエントオクルージョンを用いた近似が最も効果的な手法と説明しました。

五反田[Got13]はアンビエント項から導出したスペキュラーオクルージョンを提案しました。彼は高強度に対するアンビエントオクルージョンは正しいスケールを持たず,BRDFローブの形状を考慮するべきということに気づきました。Frostbiteでは,我々は現在類似したアプローチを適用しており,実験的にGGXラフネスに適用しました。リスト26を参照。いかなる物理的なアプローチと無関係だったとしても結果は視覚的に良い感じです。品質を向上するために更なる研究からの利益を受けます。図65は0.5のアンビエントオクルージョンに対するこの関数の振る舞いを説明しています。サーフェイスが完全に粗いときに,関数は修正されていないアンビエントオクルージョン項を返却します。平滑なサーフェイスについて,入射の法線におけるアンビエントオクルージョンの影響を減らしますが,グレージング角においては増加します。

Frostbite_List_26

※リストは,Sebastien Lagarde and Charles de Rousiers, “Moving Frostbite to Physically Based Rendering 2.0”,
SIGGRAPH 2014 Course: Physically Based Shading in Theory and Practice, p.77 より引用

Frostbite_Fig_65

※図は,Sebastien Lagarde and Charles de Rousiers, “Moving Frostbite to Physically Based Rendering 2.0”,
SIGGRAPH 2014 Course: Physically Based Shading in Theory and Practice, p.76 より引用

Remeark: これまで見たように,スペキュラーオクルージョンは物理ベースではありません。しかしながら,スクリーン空間反射によって提供される値はセクション4.9.4を参照してください。それは可視性を排除しないアンビエントレンダリング方程式の積分を評価します。だから,SSR項は理論上スペキュラーオクルージョンよりもより良くなります。それにもかかわらず,スペキュラーオクルージョンを考慮しない場合に,SSRは間接のキューブマップによって引き起こされるライトリークアーティファクトに加え共通のスクリーン空間アーティファクトを被ります。したがって,スペキュラーオクルージョンを適用することはさらに有益です。

Frostbite_Fig_66

※図は,Sebastien Lagarde and Charles de Rousiers, “Moving Frostbite to Physically Based Rendering 2.0”,
SIGGRAPH 2014 Course: Physically Based Shading in Theory and Practice, p.78 より引用

 

4.10.3 Multi resolution ambient occlusion

前のセクションにおいて,ディフューズオクルージョンとスペキュラーオクルージョンが間接照明を再構築するためのダーケニングファクターであり,ベイクされたライト情報をバイパスすること,そしてライトーリークを低減することを見ました。これらのファクターは物理ベースではありませんが,画像品質に対して価値があります。ディフューズオクルージョンファクターを生成するために今日使われている2つのタイプのテクニックが存在します:
● Offline pre-computation: 中距離から遠距離範囲のオクルージョン情報をキャプチャーします。
● Screen space techniques: 中距離からのオクルージョンをキャプチャーします。これは多くの異なるテクニックでカバーされます:HBAO, SSAO, VolumetricAO,ambient obscuranceなど。
これらのテクニックは中規模と大規模のオクルージョンスケールを管理するのを可能としますが,小規模のスケールのオクルージョンを処理するものはありません。しわ,キャビティ,そして小さな穴は中距離から長距離範囲のオクルージョンテクニックによるものではないのでエンジンによって自動的に処理することができません。この観点から”multi-resolution occlusion”[Quí12]に対する必要性がハイライトされました。我々はスペキュラーとディフューズの双方に対するオクルージョンを3つの範囲へと分類することが可能です:短距離,中距離,そして長距離です。

Small scale occlusion: Frostbiteでは,アーティストにテクスチャ内へとマイクロオクルージョンを直接ベイクさせることによって短距離オクルージョンを処理します。キャビティ,しわまたはクラックもまたシャドウマップによって取り扱われない非常に小さなものです。したがって,マイクロオクルージョンは直接照明と間接照明の両方に適用されます。我々は2つの部分へとマイクロオクルージョンを分離することを選択しました:ディフューズマイクロオクルージョンとスペキュラーマイクロオクルージョンです。それらの両方は同じマイクロオクルージョン情報から導出されます。

● Diffuse micro-occlusion: ディフューズマイクロオクルージョンはビュー依存であり,命令を保存するためにディフューズアルベドテクスチャと一緒に事前乗算されます。図67を参照。

● Specular micro-occlusion: スペキュラーマイクロオクルージョンはビュー依存であり,ShaderX7[Sch09]においてSchülerによって提示された手法を利用します。目標はある閾値下の任意の値が次第に低いフレネルリフレクタンスを持つのでSchlickの近似を修正することです。非現実世界のマテリアルは0.02以下の \(f_0\) の値を持つということを知っているので,リフレクタンスの任意の値はこれよりも低く,事前ベイクされたオクルージョンの結果を想定することが可能であり,従ってフレネルリフレクタンスの寄与を滑らかに減らします。リスト27を参照。これゆえ,スペキュラーマイクロオクルージョンはリフレクタンステクスチャ内に事前ベイクされます。

Frostbite_List_27

※リストは,Sebastien Lagarde and Charles de Rousiers, “Moving Frostbite to Physically Based Rendering 2.0”,
SIGGRAPH 2014 Course: Physically Based Shading in Theory and Practice, pp.78-79 より引用

Remark: この解決策は \(f_0\) と \(f_{90}\) 値の両方のフレネルリフレクタンス曲線を修正することを意味しています。なぜかというと,\(f_0\) 値を変更せずに反射オクルージョン情報をベイクするのは実際には無理だからです。\(f_0\) を修正することは特徴づけされたマテリアル屈折率を修正することを意味します。したがって,アクセシビリティのために,ライティングのみに影響を与えると想定することはマテリアルのプロパティに影響を与え,グレージング角におけるフレネルが変化しないときがあります。GBuffer内に格納された追加のパラメータも意味する個別の指定されたスペキュラーマイクロオクルージョンテクスチャを調査しました。この項はマテリアルプロパティよりもむしろスペキュラーオクルージョンに類似した定式を用いたライティング計算が適用されます。しかしながら,得られた結果は価値がないということが分かりしました。

Frostbite_Fig_67

※図は,Sebastien Lagarde and Charles de Rousiers, “Moving Frostbite to Physically Based Rendering 2.0”,
SIGGRAPH 2014 Course: Physically Based Shading in Theory and Practice, p.79 より引用

Medium an large scale occlusion: 中規模から大規模なオクルージョンへは間接照明のみで適用されます。我々はHBAOをサポートします。それは中距離範囲のアンビエントオクルージョンをもたらしますが,より重要なのは,動的なオブジェクト間で接触するシャドウを提供することです。また我々は2つのオプションを持つベイクされた中規模から大規模アンビエントオクルージョンをサポートします。クラシックなオフラインベイクあるいは動的なベイク項はラジオシティシステムによって提供されます。ベイクされたアンビエントオクルージョンはGBufferに格納する必要があります。ゲームチームはオプションの選択を有効にするのを可能としますが,過剰に暗くなるのを防いでもらいたいです。これを行うために,中距離から長距離アンビエントオクルージョンの適用される項のすべてを最小限することを行います。これはうまくベイクされた接触に対する動的なアンビエントオクルージョンと一緒にされたアンビエントオクルージョンを処理します。マイクロオクルージョンは非常に異なるスケールにおいてであり,影響を保つのにより良いです。スペキュラー間接照明について,前のセクションで提示された式を通じてアンビエントオクルージョン項の結果を変換します。

要約すると,オクルージョンの様々な形式は次のようになります:

Direct diffuse
ディフューズマイクロオクルージョン

Indirect diffuse
ディフューズマイクロオクルージョン,\({\rm min}({\rm bakedAO}, {\rm HBAO})\)

Direct specular
スペキュラーマイクロオクルージョンを通じて修正したフレネルリフレクタンス

Indirect specular
スペキュラーマイクロオクルージョンを通じて修正したフレネルリフレクタンス,このとき\({\rm computeSpecularOcclusion}({\rm NdotV}, {\rm min}({\rm bakeAO}, {\rm HBAO}), {\rm roughness})\)。

 

4.10.4 Shadows

シャドウはPBRに対して重要な視覚的な手掛かりとなります。文献はこのトピックにおいてかなり膨大になり,従ってここでは議論しません。理想的には,すべてのライトはシャドウを持つべきですが,パフォーマンスコストはすべてのライト上で普通負担しきれない状況になります。通常,ゲームチームはこの情報の欠損を隠すためにアーティストにゆだねます。ソフトシャドウは柔らかい見た目を提供するためエリアライトについて重要であり,ラップされたライティングをサポートします。エリアライトともに通常の”パンクチュアル”シャドウマップを用いることはラップされたライティングを取り除きます。図68を参照。エリアシャドウを処理するための良い解決策は[Kas13]でKasyanによって記述された可視化テクニックです。制限された結果を持つより安価なテクニックはシャドウマップ計算の間にジオメトリサイズをわずかに減らすことによって成すことができます[Bre00]。

Frostbite_Fig_68

※図は,Sebastien Lagarde and Charles de Rousiers, “Moving Frostbite to Physically Based Rendering 2.0”,
SIGGRAPH 2014 Course: Physically Based Shading in Theory and Practice, p.80 より引用

Frostbiteでは,現在ポイントとスポットライトシャドウマップをサポートします。これらのシャドウマップの類はすべてのライトタイプをカバーするために使用されます。エリアシャドウをフェイクするために射影中心を前方方向と逆に戻す移動をします。これは錘台がエリアライト形状全体をカバー/計測するのを可能とします。重いブラー処理と低いシャドウ解像度はソフトな見た目を得るために,このとき使用されます。図69を参照。品質を向上するために更なる研究からの利益を得られます。

Frostbite_Fig_69

※図は,Sebastien Lagarde and Charles de Rousiers, “Moving Frostbite to Physically Based Rendering 2.0”,
SIGGRAPH 2014 Course: Physically Based Shading in Theory and Practice, p.81 より引用

Remark: どのぐらい近づいかという実際の見た目を得るために,ライティングの参照としてすべてのライトにシャドウを使用することは重要です。

4.11 Deferred / Forward rendering

Frostbiteはフォワードとディファードタイルレンダラー[And09]の両方を備えたハイブリッドエンジンをサポートします。これらのトピックにおける文献はかなり膨大で,従ってここではそれらを議論しません。シャドウされたライトを含むライトタイプのすべてはタイルドパスを用いてサポートされます。そのようなアーキテクチャの選択はパフォーマンスによって動機づけされています。ライトカリングは無駄なピクセル評価を避けるためにライトの形状に関してタイトなボリュームを使用します。我々はGBufferの読み込みバンド幅の消費を避けるためと計算精度を増加させるために1つの大きなループ内ですべてのライトを評価します。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください