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

さて,前回はマテリアルについてざっと和訳しました。
今回は,一番の要であるライティングについて訳していくことにします。
毎度のことながら,誤訳等がありますので予めご了承ください。
また,誤訳を指摘して頂ける際は,正しい翻訳例と共にご指摘頂けると幸いです。


4 Lighting

4.1 General

ライティングのパイプラインは文献で広く既に議論されている重要な基盤に配慮すべきです。ライティングのパイプラインはハイダイナミックレンジ(HDR)をサポートすべきであり,ライティングのプロセスは線形空間でなされなければなりません[Gd08]。パイプラインの入力と出力のすべてはガンマ補正されるべきです(ミップマッピング,ブレンディング,フィルタリング,など)。Frostbiteでは,全てのゲームエンジンと同様に,ハードウェアサポートされているためsRGB変換を利用します。
真実味のあるシーンはライティングの一貫性と正確さに基づいています:全てのオブジェクトは周囲環境からのライティングを受け,正しい強度の量をもった反射光や影となります。ゲームエンジンはよく相互関係がないライティングツールを提供します。アーティストは正しい結果を得るために他のライティングコンポーネントを再度微調整することなしで,1つのライティングツールを巧みに操ることは難しく,従って信頼性と空間的な関連性が破綻します。Frostbiteで我々が持つ主なガイドラインは,デフォルトによって正しく全てを持ち,したがって,望めば微調整のためアーティストに対して提供できる可能性があります。正しい結果に達するよりも正しい結果からそれることをアーティストに対して難しくすべきです。しかし,アーティスティックな制御はエンジンの制限を回避し,アーティスティックな理由のために動作するのを忘れていてはいけません。
Frostbiteはいくつかのライトタイプをサポートしています:パンクチュアルライト,フォトメトリックライト,エリアライト,エミッシブサーフェイス,そしてイメージベースドライト(IBLs)。”IBLs”の用語では,(空を表現する)距離があるライトプローブ,並びに,ローカライズドライトプローブ,そしてスクリーン空間リフレクション(SSR)を含んでいます。すべてのライティングコンポーネントが連動し,マテリアルプロパティと正しく相互作用したときに一貫性は達成されます。ここでいくつかの例は次のようになります:

Coherent material lighting: すべてのBSDFはすべてのライトタイプで正しく相互作用すべきです。これはパンクチュアルライトやエリアライトのような直接光を含んでおり,また同様に間接光はIBLsのようなものを含みます。例として,特定の外見を表現するために,ラフなdiffuseマテリアルはすべてのライトタイプとラジオシティシステムによってサポートされます。
Coherent indirect-diffuse lighting: すべてのライトタイプは,ラジオシティシステムによって考慮されなければなりません。太陽や空のライティングは極めて重要な部分であり,その他の各ライトタイプは同じように作用すべきです。
Coherent indirect-specular lighting (すなわち,reflections): SSR,ローカライズドライトプローブ,そして距離のあるライトプローブは正しく一緒に組み合わされなければなりません。
Coherent light units: 全てのライトは現実の比率を達成するために同じ単位上で表現されるべきです。例として,間違いは,キャプチャーされたライトプローブでHDRを取り扱うときに容易に発生し,解析的なライトで良い比率に達成するのを妨げます。
Coherent decals: デカールは間接照明を含めたすべてのライトタイプによって正しく影響を受けるべきです。

Forstbite上でサポートされるすべてのライトタイプとエンジン内でどのような方法でライティングの一貫性を保持しようとしたかを続くセクションで説明します。我々はすべての場合で解決しておらず,落とし穴を詳述します。例えば,デカールに関連した問題についてはセクション3.3を参照してください。
 

4.2 Analytical light parameters

Frostbiteでは,アーティストの利便性のために,パンクチュアルライトとエリアライトは同じインタフェースと設定を共有します。これらの設定の一部分を図15に示します。我々は強度から分離したライトの色相(カラーとしても呼ばれる)を選択しました。我々が使用するintensityという語はライトによって放射されたエネルギー量を呼び,厳密な定義としてではありません。白の様々な色相を識別するために,人工的な光源が色温度(白熱灯やハロゲンランプ)あるいは,相関色温度(CCT)(他のほとんどすべて)とともに分類されます。色温度は理想的な黒体放射の放射光に同等な色相の温度です。CCTは,人間が知覚できる色がランプからの光に最も近く合致する黒体放射の色温度です。色温度とCCTは通常ケルビン(K)で測定されます。このドキュメントでは単純化のため,色温度あるいはCCTのどちらか一方を呼ぶために色温度という用語を使用します。また我々は先のパラメータも色温度と呼びます。表4は関連した温度と認識した色を持つ異なるライトタイプを示しています。

Frostbite_Fig_15

※図は,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.21 より引用

Frostbite_Table_4

※表は,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.22 より引用

スペクトルのレンダラー(つまり,色を表現するためにRGB3つの値の代わりに,スペクトル値を使用するレンダラー)は,黒体によって定義された放射スペクトルを直接的に使用します。Frostbiteでは,色温度からの色相を読み出すのみで,アーティストが制御する光強度は独立したままにしておきます。色温度から色相を読み戻すことは比較的に複雑な操作で,[Charity]内でCharityによって説明されています。アーティストはRGBカラーを指定することも可能です。
”光強度”パラメータは各ライトタイプに対して特徴づけされます。色温度と強度の両方で,アーティストはマニファクチュアのウェブサイトから参照値を取ることと,それらを直接Frostbiteへと落とし込むことが可能になります。図16を見てください。ライトの設定もまた通例の減衰範囲と物理的なライトの大きさについて制御するよう含められています。ライトの物理的な大きさ(例を挙げると,球の半径,ディスクの半径,チューブの長さなど)はエリアライトあるいはパンクチュアルライトにライトがなった場合に定義するためにアーティストに与えます。図17はFrostbite上でサポートされるライトを占めています:ポイントとスポットライトはパンクチュアルライトのみにであり,他のすべてのライトと同じようにエリアライトが考えられています。パンクチュアルライトとエリアライトを分離することはパフォーマンスの問題のためだり,Frostbiteはこれら2つのタイプ間のスムーズな遷移をサポートします。

Frostbite_Fig_16

※図は,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.21 より引用

Frostbite_Fig_17

※図は,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.23 より引用

 

4.3 Light unit

ライティングの一貫性を持つために,ライト強度の比率を注意する必要があり,このため共通の単位系を持つことが必要です。図18に示すようにライト強度は広い範囲を測ることが可能であり,範囲を一定に保つことが重要です。シーンのリッチさの受け取り方はライティングの正しい調整に由来します。図19はインドアとアウトドアライティングの混合を示しています。説明のプロセスはパイプラインの最後で,正規化されたピクセル値へと広範囲の強度を変換することになります。セクション5.1を参照してください。
Frostbite_Fig_18

※図は,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.23 より引用

Frostbite_Fig_19

※図は,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.24 より引用

任意に太陽のようなリファレンスを定義することによって普通ライティングアーティストはライトの比率をセットアップします。このリファレンスはある強度(大抵小さい数で,5~10あたり)を放出するために設定され,その他の光源のすべての値はそれに基づくようになります。しかしながら,現在のシーンコンテキスト(アンダーグランド,インドア,アウトドア,など)によってバイアスされたこれらの設定の大部分の時間はその他のシーンで使われないライティングリグを生成するものです。正確なライティング比率を導入するために,Forstbiteではライトに対する物理的な単位を適用しました。これは次のことを可能にしました:
● 異なるライトタイプを首尾一貫して取り扱える
● いくつかの場所においてライティングリグを再利用する。
● 物理ベースのマテリアルからより良いレスポンスを得る:高いコントラストのライティングはマテリアルのリッチさを見せるために役立ちます。
● 物理ベースカメラの使用を可能にし,写真家の知識を信頼できます。セクション5.1を参照。

ライティングの単位はライトの計測に関連しており,2つのカテゴリに分類します:
Radiometric: ”純粋な”物理量を取り扱い,工学的放射測定とスペクトルレンダリングのコンテキストにおいて使用されます。
Photometric: 可視スペクトル内での放射線にのみ関係があります。
放射分析と測光学に由来する量は密接に関係しています:測光学は本質的に人間の目の感度によって重みづけされた放射分析です。これらの2つの形式は文献[Rei+08]で広くカバーされています。放射分析と測光学で最も共通して使用される量は表5で掲載されています。エネルギを表す下付き文字 \(e\) は放射分析の量に対して使用され,視覚的であることを表す下付き文字 \(v\) は測光学の量に対して使用されます。

Frostbite_Table_5

※表は,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.25 より引用

人間の目の感度はCIE測光曲線\(V(\lambda)\)によって表されます。釣鐘形状の曲線で,どのくらい効果的に目がある光の波長をピックアップするかを表現しており,図20を参照してください。人間の目の感度のピークは555nmで,緑色として我々は見えます。この波長において感度機能値は1の単位元で,100%の性能であることを意味します。測光学量は以下の可視スペクトル(380nmから780nm)についての積分で放射分析量と関連づけされます:
\[
X_v = K_m \cdot \int^{780}_{380} X_e(\lambda)V(\lambda)d\lambda \tag{7}
\]
定数\(K_m\) は明所視に対する最大視感効果度と呼ばれており,輝度測定に対するSI単位であるカンデラ[Wikb]の定義に基づく値です。カンデラの定義は:1カンデラは与えられた方向における540THz(すなわちは555nmの波長)の周波数における単色の放射エネルギーの放射源で,その方向における放射強度はステラジアンごとに1/683ワットであり,\(K_m = 683\) であることを意味しています。ライト電球の強度を取り扱う際に,普通は放射強度で表現され,上述の式はシンプルな語句で言い換えられます:”1ワットの緑555nmの光は683ルーメンです”。測光曲線もまた光に関する発光効率を推定するのを可能とします。これはどのぐらい可視光が光源によって生成されたかとして解釈することができます。発光効率を計算するための式は以下のようになります:
\[
\eta = 683 \cdot \frac{\int^{780}_{380}X_e(\lambda)V(\lambda)d\lambda}{\int^{780}_{380}X_e(\lambda)d\lambda} \tag{8}
\]
ここで\(\eta\)はワット(W)あたりのルーメン(lm)となります。この式が意味するのは緑(55nm)の光が683lm/Wの効能を持つということです。これは100%の発光効率に等しくなります。発光効率はライトタイプによって異なる可能性があります。結果,同じワット数を持つ2つのライトは異なる受容強度を生み出す可能性があります。表6はいくつか異なるライトの発光効率を示しています。

Frostbite_Table_6

※表は,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.25 より引用

ゲームのような非スペクトルレンダリングのコンテキストにおいて,いくつかの単純化は放射分析と測光学単位間の簡易変換を行うことが可能となります。放射強度と光の発光効率はワットからルーメンへの強度変換を可能とします。
\[
\Phi_v = \eta \cdot \Phi_e \tag{9}
\]
この情報が利用不可能なとき,\(\eta = 683\) を持つ光は100%効率であると一般的にみなします。この式はよくその他の量へと拡張されます:
\[
X_v = 683 \cdot X_e \tag{10}
\]
スペクトルレンダラーにおいて,ライトは放射分析の単位で記述される必要があります。スペクトルの重みづけされたラディアンスを使用する継続的な操作は放射測定の領域内でのみ正確になります。このスペクトルのライディアンスをピクセル値へと変換する後続の段階はよく測光学的に重みづけされたプロセスを必要とします(自動露出あるいはトーンマッピングを含みます)。

Frostbite_Fig_20

※図は,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.26 より引用

Radiometry or Photometry? 多くのゲームエンジンのような非スペクトルレンダリングでは,発光効率情報は放射分析と測光学単位を行ったり来たりするのに必要とされます。2つの値(光強度と発光効率)を提供するためアーティストへとの複雑さが増加するにつれて,\(\eta = 683\) という仮説を使うのが望ましいです。そのような近似では,各量はその他を線形変換し,したがってそれらの処理は同一になります。しかしながら,ゲームエンジン上で実世界でよく見るものと知覚的に一致させるために実世界の光強度を使用可能にすることが望ましいです。発光効率100%である仮定は放射分析の参照値の利用を妨げます。これはなぜかというと過剰に明るいライティングを生み出すからです。幸いなことに,大量生産されるライトは測光学量での特性を提示しています。更に,セクション4.9.1で説明されるように,HDRIは大抵測光学単位(ルミナンス)で提供されます。

Frostbiteでは,すべてのライトは測光学単位を使用し,レンダーターゲットに輝度値をレンダリングパイプラインは格納するということを意味しています。ライティング強度は相対的な方法(異なるライトタイプの比率)あるいは絶対的な方法(真の光単位)で表現することもできます。Frostbiteでは,ライトの製造元のウェブサイトと任意の参照データ上で提供される値が一致するのを可能にするために絶対値を取り扱うのが簡単であることが分かりました。

Remark: 放射されたライトを測定するのが可能なデバイスがいくつかあります。例えば,入射光メータで,実際のサーフェイスに到達する照度値を測定することができます。図21を参照。輝度値もまたスポット/照度メーターで測定することが可能です。これは本質的に単一方向へと入射光を制限する半透明シールドを持つ入射光メータです。直接的に光度を測定することはできません。代わりに,光源からの分かる距離における照度を計測しなければいけず,\(luminousIntensity = illuminance \,\, distance^2\) の逆平方則からの光度を計算することに等しくなります。

Frostbite_Table_6

※図は,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.27 より引用

Exposure Value: 露出値(EV)は光強度を説明するために[Ree14]写真用の知識をもつアーティストによってよく使われます。元来,EVは与えられたショットについてのカメラ設定(開口値,シャッタースピード,感度の組み合わせ)を定義します。スポットメーターの助けで,写真家たちはカメラフィルムの利用を最大限にするためのカメラ設定を自動的に適用されるのを決められるようになりました。詳細についてはセクション5.1を参照してください。しかし,EVは今日最初の用途からは誤用され,光の単位として使われています。2を基数とした対数スケールで表現され,f-stopと呼ばれ,正の1段階は輝度における2の要素(2倍明るくなる)に一致し,負の1段階は半分の要素(半分の明るさ)に一致します。このスケールはほとんど知覚的に線形で,+0と+1の間の違いは+1と+2のEVの間とほぼ同じように見えることを意味します。EVは光の単位として設計されておらず,定数Kのデバイスごとのキャリブレーションに依存した定義を作ります:
\[
EV = \log_2\left(\frac{L_{\rm avg}S}{K} \right) \tag{11}
\]
ここで,\(L_{\rm avg}\) はシーン輝度の平均であり,\(S\) はISO算術表記で,\(K\) は反射されたライトメータのキャリブレーション定数です。ISO 2720:1974 は\(K\) についての範囲を 10.6から13.4の間を推奨しています。\(K\) について一般的には2つの値が使用されます:12.5(Canon, Nikon, そしてSekonic) と14(Minolta, Kenko, そしてPentax)[Wikg]。\(K=12.5^{19}\) はレンダラー上の値に最も一般的に適合されるように見えます[Wikc]。表7はEVと輝度値間の一致を示しています。エリアライト/エミッシブライトについてに基数2の対数の光単位を持つことは高い値を取り扱うのに望ましいです。アーティストがEV単位を使うにつれて,オプションの単位として\(K=12.5\) を持つEVを採用することを決定しました。したがって,EVから輝度への変換は次になります:
\[
L = \frac{2^{EV}\,12.5}{100} = 2^{EV-3} \tag{12}
\]
表8はFrostbiteでサポートされる異なるライトタイプについて使用される光の単位を示しています。ライトタイプに対する各単位の個別の利点は次のセクションで説明します。

Frostbite_Table_7

※表は,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.28 より引用

Frostbite_Table_8

※表は,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.28 より引用

 

コメントを残す

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

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