HDR 光源 (Direct3D 9)

真實世界中的光源包含非常高的動態範圍, (HDR) 亮度值。 真實世界有大約 10 個動態範圍順序 (DR) ,可讓亮度值分散到亮度的頻譜。 另一方面,電腦畫面有非常有限的顯示色域 (或亮度值範圍) :大約兩個動態範圍的順序。 產生 HDR 轉譯影像的挑戰是將真實世界 HDR 值對應到電腦畫面的有限遊戲。

音調對應是 DirectX 用來將 HDR 資訊對應到更有限的範圍的技術。 套用至 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 - 可避免黑色圖元問題的小型因素
  • l w ( 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) , Proceedings of the 29 annual Conference on Computer Graphics and Interactive Techniques (SIGGRAPH) , pp. 267-276. 紐約、NY:ACM Press, 2002。

進階主題