眾多后處理抗鋸齒技術(shù)(Post Process Anti-Aliasing,以下簡稱后處理AA)雖然憑借高效率紅極一時,但終究不算完美。NVIDIA在新一代開普勒GPU上開始支持TXAA,這個全新的后處理抗鋸齒技術(shù)卻將給我們帶來新的希望。
后處理抗鋸齒技術(shù)以較低的資源損耗和不錯的抗鋸齒效果,成為未來抗鋸齒技術(shù)發(fā)展的重要方向。AMD推出過MLAA,NVIDIA也推出了自家的FXAA,但它們都不完美,降低鋸齒的同時,都可能損害游戲畫質(zhì),例如紋理變模糊和字體破壞。出現(xiàn)這種問題的原因,主要是這些后處理AA的處理位置實(shí)在是太“靠后”了,甚至在畫面完成后才進(jìn)行采樣處理,因此會對不需要進(jìn)行AA處理的部位也做一些不恰當(dāng)?shù)目逛忼X操作,最終導(dǎo)致畫面模糊。不過在開普勒發(fā)布會上,NVIDIA展示了一種全新的TXAA抗鋸齒技術(shù),TXAA技術(shù)通過和游戲深度結(jié)合,帶來最優(yōu)秀的畫質(zhì)表現(xiàn)。
TXAA的原理
鋸齒現(xiàn)象主要是因為在對比度反差較大的物體邊緣上出現(xiàn)對比度較高的不平滑的間斷線所導(dǎo)致。傳統(tǒng)的抗鋸齒算法如MSAA等會采用更高的計算精度,讓物體邊緣的高對比度部分對比度降低、間斷尺寸變短,鋸齒則會出現(xiàn)明顯的減弱。而后處理抗鋸齒則通過檢查這些間斷的線段,并利用特殊的算法(一般是有方向性的模糊)將鋸齒部分本身模糊化、同時也降低邊緣部分原本非常明顯的的對比。
作為后處理抗鋸齒的一種,TXAA的基本原理和傳統(tǒng)后處理抗鋸齒基本相同。但TXAA和MLAA以及FXAA不同的是,后兩種技術(shù)一般會在畫面處理的最后時刻才發(fā)生作用,往往會“誤傷”很多本來不該做抗鋸齒的內(nèi)容。TXAA則不會直接出現(xiàn)在驅(qū)動中,而是和游戲廠商以及游戲引擎合作,在游戲中直接植入TXAA。這樣就可以將后處理放在恰當(dāng)?shù)奈恢茫热缭诩y理貼圖之前就先標(biāo)定需要做抗鋸齒的部位,或者干脆只對檢測到的幾何體邊緣做抗鋸齒操作,從而避免了字體模糊誤傷現(xiàn)象的出現(xiàn)。在抗鋸齒算法上,TXAA由于能夠精確鎖定鋸齒出現(xiàn)的部位,因此能夠采用效果最好的算法,帶來相當(dāng)優(yōu)秀的圖形畫質(zhì)。
TXAA的效果
根據(jù)NVIDIA的官方資料,TXAA可以以MSAA 2X的資源損耗,帶來近似MSAA 8X的抗鋸齒效果,或者以MSAA 4X的資源損耗,帶來遠(yuǎn)超MSAA 8X的抗鋸齒效果。在下圖中特別選定的容易出現(xiàn)鋸齒的傾斜物體邊緣,TXAA表現(xiàn)果然相當(dāng)出色,鋸齒現(xiàn)象大為減輕,同時物體本身的紋理卻沒有發(fā)生嚴(yán)重模糊等問題。此外,TXAA還可以對幀與幀之間出現(xiàn)的鋸齒帶來的閃爍現(xiàn)象進(jìn)行處理。由于鋸齒往往會隨著觀察者變化而變化,因此在玩家轉(zhuǎn)動視角時,一些特殊場景如樹葉、細(xì)密窗格等上的鋸齒會給畫面帶來明顯的抖動現(xiàn)象,這非常影響游戲畫質(zhì)和視覺體驗。TXAA通過對整個場景進(jìn)行抖動采樣,可降低閃爍發(fā)生,提供更穩(wěn)定的圖形質(zhì)量。
TXAA未來應(yīng)用更廣泛
目前支持TXAA的顯卡暫時只有新發(fā)布的GeForce GTX 600系列,老的顯卡由于架構(gòu)問題可能無法實(shí)現(xiàn)TXAA抗鋸齒。在游戲合作方面,Crytek以及EPIC等游戲廠商都表示將在旗下的下一代引擎中內(nèi)置TXAA技術(shù),這樣一來,未來只要采用CryEngine或者Unreal Engine的游戲,就可以免費(fèi)獲得TXAA抗鋸齒技術(shù)。作為一款在游戲開發(fā)階段就開始支持的抗鋸齒技術(shù),TXAA在帶來更好的畫質(zhì)的同時,資源損耗卻并不令人難以接受。未來,我們很可能看到鋸齒大幅度降低,畫質(zhì)表現(xiàn)更為出色的新游戲出現(xiàn)。TXAA目前尚在起步階段,它未來的應(yīng)用一定會更為廣泛。