簡介:
FullSceneAnti-aliasing(FSAA)是一種能夠消除畫面中圖形邊緣的鋸齒,使畫面看起來更為平滑的一種技術。而此抗鋸齒(Anti-aliasing)的技術通常被運用於3D或文字的畫面。其主要的方法就是將在圖形邊緣會造成鋸齒的這些像素(pixel)與其周圍的像素作一個平均的運算,來達到圖形平滑的效果,但其缺點就是會造成畫面有些許的模糊。在此篇文章中,將介紹兩種被用來實現FSAA的主要技術-OrderedGridSuperSampling(OGSS)和RotatedGridSuperSampling(RGSS)。所謂的OGSS就是將原來的畫面放大並且在這放大的畫面中進行上色的動作,之後再將畫面還原到原來的大小顯示在螢幕上,這樣的做法所得到畫面會將畫面中影像邊緣的鋸齒消除。而RGSS比OGSS多了一個調整取樣(Jitter)的步驟來達成消除鋸齒的目的分類:
全螢幕抗鋸齒大致可以分為以下幾種模式:一、SSAA
SSAA-超級採樣抗鋸齒人眼很難分辨超過300DPI(DPI是“dot per inch”的縮寫。顧名思義,就是指在每英寸長度內的點數。)以上的彩色點。也就是說,一台對角線為15英寸的顯示器,如果解析度為3600×2700的話,那就沒有做全抗鋸齒的必要了,因為人眼無法分辨那么細的點了。
超級採樣抗鋸齒(SuperSampling Anti-Aliasing)就是把當前解析度成倍提高(如當前解析度為1024×768,開啟2倍的SSAA後,畫面放大到2048×1536),然後再把畫縮放到當前的顯示器上。這樣的做法實際上就是在顯示尺寸不變的情況提高解析度,讓單個像素變得極小,這樣就能夠大幅減輕畫面的鋸齒感了。不過是由於對整個顯示畫面的放大,因此它消耗的顯示資源也是非常大的。
二、MSAA
MSAA-多重採樣抗鋸齒多重採樣抗鋸齒(MultiSampling Anti-Aliasing)的原理與超級採樣抗鋸齒相同,不過MSAA是尋找出物體邊緣部分的像素,然後對它們進行縮放處理。由於只是物體的外層像素進行縮放處理,忽略掉了不會千萬鋸齒的內部像素,所以顯示卡不會像處理SSAA那樣需要龐大的計算量,因此MSAA比起SSAA來更有效。
三、CSAA
CSAA-覆蓋採樣抗鋸齒覆蓋採樣抗鋸齒(CoverageSampling Anti-Aliasing)是nVidia G80系列出現時一併出現的抗鋸齒技術。它的原理是將邊緣多邊形里需要採樣的子像素坐標覆蓋掉,抒原像素坐標強制安置在硬體和驅動程式預告算好的坐標中。這就好比採樣標準統一的MSAA,能夠最高效率地執行邊緣採樣,交通提升非常明顯,同時資源占用也比較低。
四、CFAA
CFAA-可程式過濾抗鋸齒可程式過濾抗鋸齒(Custom Filter Anti-Aliasing)技術起源於AMD-ATI的R600家庭。簡單地說CFAA就是擴大取樣面積的MSAA,比方說之前的MSAA是嚴格選取物體邊緣像素進行縮放的,而CFAA則可以通過驅動和諧靈活地選擇對影響鋸齒效果較大的像素進行縮放,以較少的性能犧牲換取平滑效果。顯示卡資源占用也比較小。
目前最主流的是CSAA和CFAA,應該是最實用、最有效率的全螢幕抗鋸齒模式。它們不僅有良好的平滑效果,同時對顯示資源占用率也不高。