HDR 照明 (Direct3D 9)
現実世界の照明には、輝度値の非常に高いダイナミック レンジ (HDR) が含まれています。 現実世界には、暗さから明るさまでのスペクトルに広がる輝度値に対して、約 10 オーダーのダイナミック レンジ (DR) があります。 一方、コンピューター画面の表示色域 (または輝度値の範囲) は非常に限られています。動的範囲は約 2 オーダーです。 HDR レンダリングイメージを生成する課題は、現実世界のHDR値をコンピュータ画面の限られた色域にマップすることです。
トーン マッピングは、HDR 情報をより限定的な範囲にマッピングするために DirectX によって使用される手法です。 CGI レンダリングに適用されるトーン マッピングにより、レンダリングされる照明の詳細の量が大幅に向上し、最も暗い領域の詳細が表示され、明るくて焼けたように見える領域のコントラストが得られます。 結果として得られるシーンは、はるかに見える照明の詳細でレンダリングされます。
HDRLighting サンプル は、HDR 照明を示す SDK サンプルです。
トーン マッピング
トーン マッピングは、通常、モニターの DR では発生しない光学現象をシミュレートします。 その例としては、フレアやブルーミング(レンズの主な性質)、低光条件下で人間の目で起こる青いシフト、および目の生化学の結果である他の適応があります。 ディスプレイの DR が十分に大きい場合、カメラ レンズまたは電荷結合デバイス (CCD) の芸術的効果や一部のプロパティを提供する場合を除き、トーン マッピングは必要ありません。
トーン マッピングは、シーン内の輝度値の範囲をゾーンのセットに分割します。 各ゾーンには、輝度値の範囲が含まれます。
HDR では、次の用語が使用されます。
- ゾーン - 輝度値の範囲
- 中間灰色 - シーンの中央の明るさ領域
- ダイナミック レンジ - シーンの最も高い輝度と最も低いシーンの輝度の比率
- キー - シーンの照明の主観的な測定:これは光から中~暗に変化します
RGB 値から輝度を計算するには、次の値を使用します。
L = 0.27R + 0.67G + 0.06B;
対数平均輝度は、シーンのキーの近似値として役立ちます。 一般方程式は次のようになります。
Lw = exp[ 1 / N( sum[ log( delta + Lw( x, y ) ) ] ] ]
この場合、
- Lw - 対数平均輝度
- N - 画像内のピクセル数
- delta - 黒ピクセルの問題を回避するための小さな要因
- Lw( x, y ) - ピクセルのワールド空間輝度 ( x, y )
これを中間灰色の値にマップするには、輝度スケーリング演算子を次に示します。
L( x, y ) = a * Lw( x, y ) / Lw
この場合、
- L( x, y ) - ピクセルのスケーリングされた輝度 ( x, y )
- a - スケーリングを適用した後のイメージ キー値
最後に、輝度を圧縮するための単純なトーンマッピング演算子を次に示します。
Ld( x, y ) = L( x, y ) / ( 1 + L( x, y ) )
この場合、
- Ld( x, y ) - ピクセル ( x, y ) の圧縮およびスケーリングされた輝度
- a - スケーリングを適用した後のイメージ キー値
このオペレータは高い輝度を1/L、低い輝度を1によってスケーリングする。 詳細については、次の論文を参照してください。
Reinhard、Erik、Mike Stark、Peter Shirley、James Ferwerda。 「デジタル画像の写真トーン再現」。 ACM Transactions on Graphics (TOG), 第29回コンピュータグラフィックス・インタラクティブ技術年次大会講演論文集(SIGGRAPH), pp. 267-276. ニューヨーク、ニューヨーク:ACMプレス、2002年。
関連トピック