王者歸來性能翻番 GeForce6技術(shù)解析
● 光傳遞
首先我們來看看光傳遞(Light Transport)。我們先來理解一下這個過程。首先我們知道只有光線照在物體表面,然后反射到眼睛里以后才能看見,然而我們會發(fā)現(xiàn)在現(xiàn)實生活中,即使在陰影中的物體我們依然能夠看到,這就是因為雖然沒有直射的光線照在上面,但是從別的物體上的反射光依然能夠照射到它,再反射到我們的眼睛里。
實際場景中的光線反射是相當(dāng)復(fù)雜的:光線不斷的被反射,最終讓整個場景中都充滿了或明或暗的光線。光線在物體間不斷的反射也就是光傳遞的實質(zhì)。

然而在計算機中需要模擬真實的效果卻非常麻煩了,因為實際情況的數(shù)據(jù)量是無限大的。如果需要計算光線在場景中的不斷的反射情況,就勢必需要處理大量的光線數(shù)據(jù),這其中包括幾何位置、貼圖映射、光源位置、光的反射率等必不可少的眾多繁雜信息。
這些數(shù)據(jù)的數(shù)據(jù)類型是沒有要求的,這也就意味著采用越高的精度來存儲數(shù)據(jù),就能夠表示越高的動態(tài)范圍,到最后就能顯示出越高的細節(jié),讓用戶看到豐富真實的細節(jié)。
NVIDIA的GeForce 6系列的支持的HPDR技術(shù),遵循了和OpenEXR標(biāo)準(zhǔn)一致的一種名為SM10e5的編碼方法來存儲光線的數(shù)據(jù),這種數(shù)據(jù)格式包含了1個符號位、10位尾數(shù)以及5位指數(shù),用來反映光傳遞的信息。
這種編碼方法表示的數(shù)據(jù)的表達式是根據(jù)要求動態(tài)范圍的不同而不同的,我們來看看這種SM10e5編碼的表達式。
● 色調(diào)映射
接下來的過程是光照傳遞相位的輸出數(shù)據(jù)會被映射為二維影像的顏色值和操作指令。這樣的處理被稱作色調(diào)映射。
● 色彩及伽馬糾正
在最后階段,就是色彩及伽馬糾正,把這些色彩數(shù)值從一個標(biāo)準(zhǔn)的紅、綠藍“色彩空間”轉(zhuǎn)換為顯示器的紅、綠、藍“色彩空間”。
另外,伽馬糾正會被后期應(yīng)用,因此在轉(zhuǎn)換到最終顯示設(shè)備的處理過程中,需要對色彩強度的對數(shù)微分進行計算。
動態(tài)高范圍技術(shù)(HPDR)渲染效果就是對存儲高精度色彩信息的一個最好應(yīng)用。在渲染場景時,計算結(jié)果首先以高亮度差、高精度的浮點顏色保存在一個離屏表面(Off Screen Surface)中。然后,通過最終的色調(diào)映射過程,將這些顏色轉(zhuǎn)換到在屏幕上顯示的顏色范圍內(nèi)。這不僅能夠使顏色效果顯得更豐富、更柔和,還能實現(xiàn)一些類似于瞳孔在不同強度的環(huán)境光條件下自動調(diào)節(jié)大小以調(diào)整亮度的效果。<
關(guān)注我們


