反鋸齒
抗鋸齒或邊緣柔化、消除混疊、抗圖像摺疊有損等
反鋸齒(英語:anti-aliasing,簡稱AA),也譯為抗鋸齒或邊緣柔化、消除混疊、抗圖像摺疊有損等。它是一種消除顯示器輸出的畫面中圖物邊緣出現凹凸鋸齒的技術,那些凹凸的鋸齒通常因為高解析度的信號以低解析度表示或無法準確運算出3D圖形坐標定位時所導致的圖形混疊(aliasing)而產生的,反鋸齒技術能有效地解決這些問題。它通常被用在數字信號處理、數字攝影、電腦繪圖與數碼音效等方面,柔化被混疊的數字信號。
由於高解析度下的來源信號或連續的類比信號能夠存儲較多的數據,但在透過取樣(sampling)時將較多的數據以較少的數據點代替,部分的數據被忽略造成取樣結果有損,當機器把取樣后的數字信號轉換為人類可辨別的類比信號時造成彼此交疊且有損,在聲音中,便會出現刺耳、不和諧的音調或是噪音。同樣,在3D繪圖時,每個圖形由像素組成,每段瞬間畫面由幀組成,因為屏幕上的像素有限,如果要表現出多邊形的位置時,因技術所限,使用絕對坐標定位法是無法做到的,只能使用在近似位置採樣來進行相對定位。由於沒有足夠的採樣來表現出3D世界中的所有物品的圖形,所以在最後圖像顯示上,這些現象便會造成在物品與物品中過渡的邊緣就會產生波浪狀、圓形、鋸齒和閃爍等有損現象,嚴重影響了畫面的質量。
全屏反鋸齒(full scene Anti-aliasing,簡稱FSAA),也稱全屏抗鋸齒,它指的是利用反鋸齒技術對輸出到顯示器的滿屏畫面信號進行放大與採樣分析並重新製作滿屏畫面信號輸出至顯示器,而不是對畫面某一部分使用反鋸齒技術。全屏反鋸齒對於3D遊戲畫面有著很大的影響,它能使整個3D遊戲畫面變得細膩、清晰與逼真,這是一種重要的技術應用。全屏抗鋸齒反鋸齒技術,有以下方法:
超級採樣抗鋸齒
超級採樣抗鋸齒(Super-Sampling Anti-aliasing,簡稱SSAA)此是早期抗鋸齒方法,比較消耗資源,但簡單直接,先把圖像映射到緩存並把它放大,再用超級採樣把放大后的圖像像素進行採樣,一般選取2個或4個鄰近像素,把這些採樣混合起來后,生成的最終像素,令每個像素擁有鄰近像素的特徵,像素與像素之間的過渡色彩,就變得近似,令圖形的邊緣色彩過渡趨於平滑。再把最終像素還原回原來大小的圖像,並保存到幀緩存也就是顯存中,替代原圖像存儲起來,最後輸出到顯示器,顯示出一幀畫面。這樣就等於把一幅模糊的大圖,通過細膩化后再縮小成清晰的小圖。如果每幀都進行抗鋸齒處理,遊戲或視頻中的所有畫面都帶有抗鋸齒效果。而將圖像映射到緩存並把它放大時,放大的倍數被用於分別抗鋸齒的效果,如:圖1,AA後面的x2、x4、x8就是原圖放大的倍數。超級採樣抗鋸齒中使用的採樣法一般有兩種:
● 順序柵格超級採樣(Ordered Grid Super-Sampling,簡稱OGSS),採樣時選取2個鄰近像素。
● 旋轉柵格超級採樣(Rotated Grid Super-Sampling,簡稱RGSS),採樣時選取4個鄰近像素。
多重採樣抗鋸齒
多重採樣抗鋸齒(MultiSampling Anti-Aliasing,簡稱MSAA)是一種特殊的超級採樣抗鋸齒(SSAA)。MSAA首先來自於OpenGL。具體是MSAA只對Z緩存(Z-Buffer)和模板緩存(Stencil Buffer)中的數據進行超級採樣抗鋸齒的處理。可以簡單理解為只對多邊形的邊緣進行抗鋸齒處理。這樣的話,相比SSAA對畫面中所有數據進行處理,MSAA對資源的消耗需求大幅減少,不過在畫質上可能稍有不如SSAA。
這是最常見的反鋸齒,差不多所有遊戲都支持MSAA。
覆蓋採樣抗鋸齒
覆蓋採樣抗鋸齒(CoverageSampling Anti-Aliasing,簡稱CSAA)是nVidia G80系列出現時一併出現的抗鋸齒技術。它的原理是將邊緣多邊形里需要採樣的子像素坐標覆蓋掉,抒把像素坐標強制安置在硬體和驅動程序預告算好的坐標中。這就好比採樣標準統一的MSAA,能夠最高效率地運行邊緣採樣,效率提升非常明顯,同時資源佔用也比較低。
可編程過濾抗鋸齒
可編程過濾抗鋸齒(Custom Filter Anti-Aliasing,簡稱CFAA)技術起源於AMD-ATI的R600家庭。簡單地說CFAA就是擴大取樣面積的MSAA,比方說之前的MSAA是嚴格選取物體邊緣像素進行縮放的,而CFAA則可以通過驅動和諧靈活地選擇對影響鋸齒效果較大的像素進行縮放,以較少的性能犧牲換取平滑效果。顯卡資源佔用也比較小。
最主流的是CSAA和CFAA應該是最實用、最有效率的全屏抗鋸齒模式。它們不僅有良好的平滑效果,同時對顯示資源佔用率也不高。
快速近似抗鋸齒
快速近似抗鋸齒(Fast Approximate Anti-Aliasing,簡稱FXAA)是由Timothy Lottes開發的一種反鋸齒。FXAA佔用很少的電腦資源,便可獲得理想的抗鋸齒效果。