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年。

高度なトピック