電影級高畫質(zhì)!3D游戲抗鋸齒技術(shù)解析
泡泡網(wǎng)顯卡頻道8月24日 近幾年來顯卡技術(shù)的發(fā)展速度可謂是突飛猛進,不僅僅是性能的提升,更多的新特效也令我們的游戲世界更加精彩更加逼真。近日人氣明星姚晨在微博上發(fā)出一張水面照片,有不少玩家表示照片和游戲中的場景幾乎完全吻合,由此不難看出目前有些游戲的逼真度已經(jīng)讓玩家?guī)缀鯚o法區(qū)分出現(xiàn)實和虛擬世界了。
相信經(jīng)常打游戲的玩家肯定有過如下的疑問:盡管有些游戲的畫質(zhì)已經(jīng)達到了電影級水平,幾乎可以以假亂真,但細看物體邊緣的“毛邊”卻露出了馬腳。那么游戲中的物體邊緣為什么會產(chǎn)生“毛邊”?這些“毛邊”如何能夠消除?最新的相關(guān)技術(shù)又是怎樣的呢?在本篇文章中小編就為大家一一解答!
我們知道,電腦畫面是由一個個小像素所構(gòu)成的。雖然這些像素非常的小,不過每一個像素都覆蓋了這一畫面上的某一個區(qū)域。我們可以將這些像素比作通向虛擬世界的一扇一扇窗戶,而電腦的任務(wù)就是決定每一個像素的顏色以使得我們通過這些窗戶能看到一幅最美的畫面。
不過渲染的速度也是一幅“實時”圖片的所需要考慮的一個重要因素,因此通常像素的色彩都通過對該像素內(nèi)的某一點進行采樣得到的顏色所決定的(即我們所謂的點采樣Point Sampling)。不幸的是,為了提高速度而采取的這種做法可能使得所采樣的單個點的色彩不能體現(xiàn)出整個像素所覆蓋區(qū)域的色彩狀況。當這種情況出現(xiàn)在物體的邊緣的時候就非常明顯了。
有一些像素“跨”在物體的邊緣,該像素內(nèi)部的色彩是有一定比例的,而且在外部的顯示我們也希望體現(xiàn)出這一比例。物體的邊緣兩邊卻會呈現(xiàn)出不同的顏色。點采樣技術(shù)將會使得整個像素呈現(xiàn)出邊緣兩邊的某一種顏色。而這樣對物體邊緣的著色無論是著上前景色或是背景色中的哪一種色,由于像素間色彩的突然跳變,都自然而然的會呈現(xiàn)出鋸齒狀。
這種情況就是我們所說的鋸齒(Aliasing)了。這是由于這一個像素的面積正好覆蓋在了邊緣上,兩邊都有它的存在。一個更好的辦法就是將前景色和背景色進行混合從而造出第三種顏色來填充色一像素。這種方法能有效的改進圖像邊緣的表現(xiàn)效果,換一種說法就是實現(xiàn)了“抗”鋸齒的作用。
抗鋸齒(Anti-aliasing):標準翻譯為“抗圖像折疊失真”。由于在3D圖像中,受分辨的制約,物體邊緣總會或多或少的呈現(xiàn)三角形的鋸齒,而抗鋸齒就是指對圖像邊緣進行柔化處理,使圖像邊緣看起來更平滑,更接近實物的物體。它是提高畫質(zhì)以使之柔和的一種方法。
如今最新的全屏抗鋸齒(FullSceneAnti-Aliasing)可以有效的消除多邊形結(jié)合處(特別是較小的多邊形間組合中)的錯位現(xiàn)象,降低了圖像的失真度。全景抗鋸齒在進行處理時,須對圖像附近的像素進行采樣,以達到不同級別的抗鋸齒效果。簡單的說也就是將圖像邊緣及其兩側(cè)的像素顏色進行混合,然后用新生成的具有混合特性的點來替換原來位置上的點以達到柔化物體外形、消除鋸齒的效果。
● 超級采樣抗鋸齒(SSAA)
超級采樣抗鋸齒(Super-Sampling Anti-aliasing,簡稱SSAA)此是早期抗鋸齒方法,比較消耗資源,但簡單直接,先把圖像映射到緩存并把它放大,再用超級采樣把放大后的圖像像素進行采樣,一般選取2個或4個鄰近像素,把這些采樣混合起來后,生成的最終像素,令每個像素擁有鄰近像素的特征,像素與像素之間的過渡色彩,就變得近似,令圖形的邊緣色彩過渡趨于平滑。再把最終像素還原回原來大小的圖像,并保存到幀緩存也就是顯存中,替代原圖像存儲起來,最后輸出到顯示器,顯示出一幀畫面。
這樣就等于把一幅模糊的大圖,通過細膩化后再縮小成清晰的小圖。如果每幀都進行抗鋸齒處理,游戲或視頻中的所有畫面都帶有抗鋸齒效果。而將圖像映射到緩存并把它放大時,放大的倍數(shù)被用于分別抗鋸齒的效果。
超級采樣抗鋸齒中使用的采樣法一般有兩種:順序柵格超級采樣(Ordered Grid Super-Sampling,簡稱OGSS),采樣時選取2個鄰近像素。旋轉(zhuǎn)柵格超級采樣(Rotated Grid Super-Sampling,簡稱RGSS),采樣時選取4個鄰近像素。
● 多重采樣抗鋸齒(MSAA)
多重采樣抗鋸齒(MultiSampling Anti-Aliasing,簡稱MSAA)是一種特殊的超級采樣抗鋸齒(SSAA)。MSAA首先來自于OpenGL。具體是MSAA只對Z緩存(Z-Buffer)和模板緩存(Stencil Buffer)中的數(shù)據(jù)進行超級采樣抗鋸齒的處理??梢院唵卫斫鉃橹粚Χ噙呅蔚倪吘夁M行抗鋸齒處理。這樣的話,相比SSAA對畫面中所有數(shù)據(jù)進行處理,MSAA對資源的消耗需求大大減弱,不過在畫質(zhì)上可能稍有不如SSAA。
● 自適應(yīng)抗鋸齒(AAA)
MSAA雖然得到了大量使用,但有一個重要缺陷就是不能處理Alpha材質(zhì),因此在一些柵欄、樹葉、鐵絲網(wǎng)等細長的物體上就不能起作用了。為了解決這種問題,ATI在X1000系列加入了自適應(yīng)(Adaptive)抗鋸齒,通過額外的多重采樣甚至是超級采樣來強制提升畫質(zhì)。自適應(yīng)抗鋸齒可以專門針對Alpha材質(zhì)選擇性的進行多級或是超級采樣,這樣就比完全采用SSAA擁有更低的性能損失,畫面質(zhì)量依舊完美!
● 覆蓋采樣抗鋸齒(CSAA)
覆蓋采樣抗鋸齒(CoverageSampling Anti-Aliasing,簡稱CSAA)是NVIDIA G80系列出現(xiàn)時一并出現(xiàn)的抗鋸齒技術(shù)。它的原理是將邊緣多邊形里需要采樣的子像素坐標覆蓋掉,抒原像素坐標強制安置在硬件和驅(qū)動程序預告算好的坐標中。這就好比采樣標準統(tǒng)一的MSAA,能夠最高效率地運行邊緣采樣,交通提升非常明顯,同時資源占用也比較低。
● 可編程過濾抗鋸齒(CFAA)
可編程過濾抗鋸齒(Custom Filter Anti-Aliasing)技術(shù)起源于AMD的R600家庭。簡單地說CFAA就是擴大取樣面積的MSAA,比方說之前的MSAA是嚴格選取物體邊緣像素進行縮放的,而CFAA則可以通過驅(qū)動和諧靈活地選擇對影響鋸齒效果較大的像素進行縮放,以較少的性能犧牲換取平滑效果。顯卡資源占用也比較小。
● 形態(tài)抗鋸齒(MLAA)
從G80發(fā)布至今,NVIDIA的CSAA技術(shù)得到了越來越多游戲開發(fā)商的認可,相信很多玩家都注意到了,現(xiàn)在不少游戲都直接在菜單中提供了CSAA選項,N卡用戶不用進入驅(qū)動控制面板就能非常方便的調(diào)用。而AMD的CFAA雖然從HD2000時代已經(jīng)沿用到了HD5000時代,但幾乎無人問津。
終于到了HD6000時代,AMD拋棄了實用價值并不高的CFAA,開發(fā)了一種新的抗鋸齒方案——Morphological AA,直譯為形態(tài)抗鋸齒。這種抗鋸齒采用了DirectCompute計算技術(shù)來進行高效率的后處理器過濾,新的抗鋸齒模式適用范圍比傳統(tǒng)的MSAA更廣,而且精度最高可達24x,效率方面比SSAA(超級采樣抗鋸齒)快很多,與最高精度的CFAA差不多,但畫質(zhì)要更好。
● 快速近似抗鋸齒(FXAA)
快速近似抗鋸齒(Fast Approximate Anti-Aliasing)是傳統(tǒng)MSAA(多重采樣抗鋸齒)效果的一種高性能近似值。它是一種單程像素著色器,和MLAA一樣運行于目標游戲渲染管線的后期處理階段,但不像后者那樣使用DirectCompute,而只是單純的后期處理著色器,不依賴于任何GPU計算API。正因為如此,F(xiàn)XAA技術(shù)對顯卡沒有特殊要求,完全兼容NVIDIA、AMD的不同顯卡(MLAA僅支持A卡)和DX9、DX10、DX11。
目前可以對FXAA畫質(zhì)測試的軟件,只有一款NVIDIA推出的SDK演示程序,該程序可以在不同分辨率下測試MSAA和FXAA的畫質(zhì)表現(xiàn),其中MSAA可最高設(shè)定為4AA,而FXAA則采用了分級調(diào)節(jié)最高為5級,并且MSAA和FXAA可同時開啟,以便進一步消除鋸齒,但性能會下降許多。
● 快速近似抗鋸齒(FXAA)畫質(zhì)表現(xiàn)
上面是NVIDIA提供的官方Demo中所測試出的畫質(zhì)差異,左邊為未開啟任何AA的狀態(tài),可以看到在欄桿周圍的相當明顯。中間和右邊為分別開啟4xMSAA和第3級FXAA的狀態(tài)可以看到柵欄邊緣明顯變得平滑許多,并且兩者之間的畫質(zhì)差距并不明顯。
● 快速近似抗鋸齒(FXAA)的算法過程
1. FXAA將其視作為輸入的非線性RGB彩色數(shù)據(jù),針對著色器邏輯單元而將這些數(shù)據(jù)內(nèi)部轉(zhuǎn)化成為了標量的亮度估計值。
2. 檢查局部對比度,以避免處理到非邊緣部分。檢測到的邊緣處于紅色,夾雜的偏黃色部分代表檢測到的子像素鋸齒有多少。
3. 通過局部對比度測試的像素于是被歸類為水平 (以金色表示) 或垂直(以藍色表示) 。
4. 假定選擇了邊緣的朝向以及與邊緣呈90度角且對比度最高的像素對,以藍色/綠色表示。
5. 該算法沿著邊緣的方向搜索正負 (紅色/藍色) 邊緣端,沿著邊緣檢查高對比度像素對的平均亮度有無重大變化。
6. 假定邊緣的端、邊緣上的像素位置已轉(zhuǎn)化成為與邊緣呈90度垂直的子像素位移以減少鋸齒,紅色/藍色表示-/+水平位移,而金色/天藍色表示-/+垂直位移。
7. 考慮到這種子像素偏移,輸入的紋理被重新采樣。
8. 最后,根據(jù)檢測到的子像素鋸齒有多少,低通濾波器被合成進來。
目前游戲原生支持FXAA的游戲較為稀少,在小編之前的評測中只有一款《永遠的毀滅公爵》可以在游戲設(shè)置中開啟,那么要如何在其他游戲中開啟FXAA呢?通過小編的探索目前開啟FXAA的方法有兩個:安裝破解補丁和修改系統(tǒng)注冊表。
● 方法一:安裝破解補丁
一位名叫Gast的玩家在德國的3DCenter論壇發(fā)布了大小僅為57KB的補丁(點擊下載),補丁里面包含兩個文件夾D3D9和D3D10,顧名思義就是分別對應(yīng)DX9和DX10游戲,而部分DX11游戲也可以使用這個補丁,這個方法在一些游戲論壇中已經(jīng)得到了證實。
補丁在使用時能簡單,將相應(yīng)文件夾下的文件復制一份到游戲exe程序所在目錄即可,如果能成功開啟后自動生成一個名為“l(fā)og.log”的文件,通過Pause Break快捷鍵可以在游戲中可以實時開啟或關(guān)閉。
優(yōu)點:AMD與NVIDIA全兼容,可以實時開啟或關(guān)閉
缺點:游戲兼容性不佳
● 方法二:修改系統(tǒng)注冊表
在Windows 7的“運行”中輸入regedit.exe,打開注冊表。打開HKEY_LOCAL_MACHINE\\SOFTWARE\\NVIDIA Corporation\\Global\\NVTweak選項,新建一個名為“EnableSRS1442”的項目,數(shù)值類型為DWORD,設(shè)置數(shù)值為1。
打開NVIDIA的驅(qū)動程序界面,點擊“管理3D設(shè)置”選項,就可以看到多了一個“Antialiasing-FXAA”的選項,在其后的下拉菜單選擇“開”即可打開FXAA特效。
優(yōu)點:游戲兼容性好
缺點:只支持NVIDIA顯卡,不可以實時開啟或關(guān)閉
《科林麥克雷》系列游戲是為紀念去世的英國拉力賽車手科林·麥克雷(Colin McRae)而制作的,因此在游戲過程中不難見到許多麥克雷過往的身影。與一年一款的優(yōu)品系列賽車游戲不同,DiRT2距離前作已經(jīng)兩年之久,目前《科林麥克雷:塵埃2》主機版早已上市,幾乎登陸所有的主機和掌機平臺、好評如潮,而PC版由于支持DX11的緣故,所以被延期數(shù)月。
● 對比場景
● 畫質(zhì)對比
● 性能測試
從對比截圖中可以看到當全部關(guān)閉AA時,畫面極其粗糙嚴重影響游戲體驗。當逐漸開啟高倍MSAA時,畫質(zhì)得到顯著改善,但性能下降比較明顯。當開啟FXAA時,畫質(zhì)提升相比MSAA更加明顯,單開啟FXAA時就已經(jīng)接近于4xMSAA的水平,4xMSAA+FXAA甚至還要好于8xMSAA。此外在相同畫質(zhì)下,F(xiàn)XAA的性能損失也明顯好于MSAA。
《鷹擊長空》由Ubisoft旗下的Bucharest Studio工作室所研發(fā)制作而成,以湯姆克蘭西最擅長的近現(xiàn)代國際沖突為背景,加上現(xiàn)代化的軍事武器,和五角大廈不愿證實的開發(fā)中的先進武器,交織出最激烈的高科技攻防戰(zhàn)。而《鷹擊長空》也脫離前面幾項作品的框架,將戰(zhàn)爭從地面拉拔到空中,享受廣大無界限的戰(zhàn)斗空間。
● 對比場景
● 畫質(zhì)對比
● 性能測試
作為一款空戰(zhàn)類游戲,玩家在游戲中能夠看清細節(jié)的物體似乎也只有自己的戰(zhàn)機。在這款游戲中抗鋸齒對于畫質(zhì)的影響并不是很高,而性能卻出現(xiàn)急速下滑,似乎有些得不償失。
自《孤島驚魂》系列的版權(quán)被UBI購買之后,該公司蒙特利爾分部就已經(jīng)開始著手開發(fā)新作,本作不但開發(fā)工作從Crytek轉(zhuǎn)交給UBI,而且游戲的故事背景也與前作毫無關(guān)系,游戲的圖形和物理引擎由UBI方面完全重新制作。
● 對比場景
● 畫質(zhì)對比
● 性能測試
和《塵埃2》的情況相似,關(guān)閉抗鋸齒時物體邊緣的“毛邊”相當明顯。而開啟FXAA之后,畫質(zhì)瞬間達到4xMSAA的水平,不過此時幀數(shù)卻稍稍低于4xMSAA。
《沖突世界》將帶領(lǐng)玩家返回著名的冷戰(zhàn)時期,玩家每一個決定均影響游戲中人物和情節(jié)。可于游戲中感受不一樣的團隊精神,與隊友于陰森恐怖的戰(zhàn)場上一同作戰(zhàn)。《蘇聯(lián)進攻》是其最新的資料片,收錄全新角色、扮演蘇聯(lián)軍隊、10套新影片和全新多人聯(lián)機地圖等等。
● 對比場景
● 畫質(zhì)對比
● 性能測試
即時戰(zhàn)略類游戲歷來都會對GPU和CPU提出雙重要求,在測試中顯卡已經(jīng)不是游戲的瓶頸,在開啟高倍MSAA和FXAA時性能下滑并不明顯。而在畫質(zhì)方面只有當4xMSAA和FXAA同時開啟時,地上的陰影才會呈現(xiàn)出“直線”的效果。
EA全新推出的經(jīng)典競速游戲續(xù)作《優(yōu)品飛車15:變速2》成為游戲市場最火爆的游戲之一。此前,該系列以每年一部新作的速度發(fā)售,每一代新作的推出,玩家們都會對游戲的畫質(zhì)表現(xiàn)、操控體驗等方便展開激烈的爭論。也正是有了這么多忠實的玩家,才使得這款競速游戲長盛不衰。
● 對比場景
● 畫質(zhì)對比
● 性能測試
一直以來《優(yōu)品飛車》系列游戲的畫面鋸齒均比較明顯,即使在畫質(zhì)選項中將MSAA調(diào)至最高,仍然能夠明顯的看到鋸齒,不過好在FXAA可以進一步提升畫面質(zhì)量。
DX11大作《地鐵2033》就使用了DX11級別的景深效果,清晰和虛化合理分配、主次分明,再搭配Tessellation技術(shù)的輔助,幾乎接近與電影的拍攝效果,看起來有種賞心悅目的感覺。但該游戲由于使用了太多尖端圖形技術(shù),所以要求非??量?。
● 對比場景
● 畫質(zhì)對比
● 性能測試
《地鐵2033》是少數(shù)幾個加入AAA自適應(yīng)抗鋸齒的游戲之一,通過截圖可以看到要同時開啟4xMSAA和FXAA才能令物體邊緣呈現(xiàn)出完美的“斜線”,而此時GTX580已經(jīng)無法流暢運行游戲。
從1997到2011,14年的等待,14年的期盼,14年時光荏苒,有人等到了,也有很多人沒能等到。這14年對人生來說已經(jīng)十分漫長,那是一代人人生中最絢爛的日子,但對于一款游戲來說,讓玩家等待14年足以令人感到匪夷所思,不過《永遠的毀滅公爵》做到了,至少在這點上,它已經(jīng)堪稱神作!
● 對比場景
● 畫質(zhì)對比
● 性能測試
前面已經(jīng)講過《永遠的毀滅公爵》是小編測過的第一個在畫質(zhì)選項中加入FXAA的游戲,不過這款游戲?qū)τ谄渌鸄A的支持并不豐富,只有三個選項可供選擇(NO AA、FSAA、FXAA)。
作為“登上封面次數(shù)最多的游戲”的后續(xù)版本,《刺客信條:兄弟會》在保障嚴謹故事性的單人任務(wù)基礎(chǔ)上,首次引入前所未有的多人模式,游戲提供多位不同類型角色,同時還提供了大量全新的武器,在游戲性上將比前作有較大提升。
● 對比場景
● 畫質(zhì)對比
● 性能測試
和大多數(shù)“虛幻3”引擎游戲一樣,《刺客信條:兄弟會》無法在游戲中正常開啟MSAA,這肯定會令大多數(shù)玩家極為不爽。好在FXAA可以在這款游戲中正常開啟,并且畫質(zhì)提升也較為明顯。
相信細心的網(wǎng)友已經(jīng)看到在此次測試中,參測的游戲絕大多數(shù)都是DX9、DX10游戲,最新DX11游戲卻少之又少。實際上這并不是小編在測試中偷懶,而是因為經(jīng)過小編的仔細測試發(fā)現(xiàn),F(xiàn)XAA并不是在全部游戲中都生效,尤其在大部分DX11游戲中還會出現(xiàn)某些異常情況發(fā)生,由此說明現(xiàn)階段FXAA的兼容性仍然有待提升。
盡管如此通過我們的測試仍然能夠看到FXAA的不少閃光點,首先FXAA對于畫質(zhì)的改善相當明顯,單獨開啟FXAA就能得到2xMSAA以上接近于4xMSAA的畫質(zhì);其次對于顯卡性能的消耗較低,接近于2xMSAA的水平,使玩家可以在較少性能損失的情況下,換來更佳的體驗;此外FXAA還可以和其他AA技術(shù)疊加使用,使畫質(zhì)提升至更高的層次。
在文章的最后,希望NVIDIA/AMD能夠聯(lián)合眾多游戲廠商將FXAA這一技術(shù)大力推廣開來,最終使用戶可以根據(jù)自己的需求在驅(qū)動控制面板和游戲設(shè)置中任意開啟FXAA,以便在游戲中得到最為真實的游戲體驗?!?
關(guān)注我們
