電影級高畫質(zhì)!3D游戲抗鋸齒技術(shù)解析
目前可以對FXAA畫質(zhì)測試的軟件,只有一款NVIDIA推出的SDK演示程序,該程序可以在不同分辨率下測試MSAA和FXAA的畫質(zhì)表現(xiàn),其中MSAA可最高設(shè)定為4AA,而FXAA則采用了分級調(diào)節(jié)最高為5級,并且MSAA和FXAA可同時開啟,以便進(jìn)一步消除鋸齒,但性能會下降許多。
● 快速近似抗鋸齒(FXAA)畫質(zhì)表現(xiàn)
上面是NVIDIA提供的官方Demo中所測試出的畫質(zhì)差異,左邊為未開啟任何AA的狀態(tài),可以看到在欄桿周圍的相當(dāng)明顯。中間和右邊為分別開啟4xMSAA和第3級FXAA的狀態(tài)可以看到柵欄邊緣明顯變得平滑許多,并且兩者之間的畫質(zhì)差距并不明顯。
● 快速近似抗鋸齒(FXAA)的算法過程
1. FXAA將其視作為輸入的非線性RGB彩色數(shù)據(jù),針對著色器邏輯單元而將這些數(shù)據(jù)內(nèi)部轉(zhuǎn)化成為了標(biāo)量的亮度估計(jì)值。
2. 檢查局部對比度,以避免處理到非邊緣部分。檢測到的邊緣處于紅色,夾雜的偏黃色部分代表檢測到的子像素鋸齒有多少。
3. 通過局部對比度測試的像素于是被歸類為水平 (以金色表示) 或垂直(以藍(lán)色表示) 。
4. 假定選擇了邊緣的朝向以及與邊緣呈90度角且對比度最高的像素對,以藍(lán)色/綠色表示。
5. 該算法沿著邊緣的方向搜索正負(fù) (紅色/藍(lán)色) 邊緣端,沿著邊緣檢查高對比度像素對的平均亮度有無重大變化。
6. 假定邊緣的端、邊緣上的像素位置已轉(zhuǎn)化成為與邊緣呈90度垂直的子像素位移以減少鋸齒,紅色/藍(lán)色表示-/+水平位移,而金色/天藍(lán)色表示-/+垂直位移。
7. 考慮到這種子像素偏移,輸入的紋理被重新采樣。
8. 最后,根據(jù)檢測到的子像素鋸齒有多少,低通濾波器被合成進(jìn)來。
關(guān)注我們
