反鋸齒

维基百科,自由的百科全书
跳转至: 导航搜索
Anti-aliased-diamonds.png
左上:未经过反鋸齒处理的图形;
右上:经过反鋸齒处理的图形;
右:5倍放大后的经过反鋸齒处理的图形;
Anti-aliased diamond enlarged.png

反鋸齒英语anti-aliasing,簡稱AA),也译为抗锯齿或边缘柔化、消除混叠、抗图像折叠失真等。它是一种消除显示器输出的画面中图物边缘出现凹凸锯齿的技術,那些凹凸的锯齿通常因为高解析度的訊號以低解析度表示或无法准确运算出3D图形坐标定位時所導致的图形混叠(aliasing)而产生的,反鋸齒技术能有效地解决这些问题。它通常被用在在數字信號處理數位攝影電腦繪圖數码音效等方面,柔化被混叠的数字信号。

反鋸齒技术的出现[编辑]

由於高解析度下的來源訊號或連續的類比訊號能夠儲存較多的資料,但在透過取樣(sampling)時將較多的資料以較少的資料點代替,部分的資料被忽略造成取樣結果失真,當機器把取樣後的數位訊號轉換為人類可辨別的類比訊號時造成彼此交疊且失真,在聲音中,便會出現刺耳、不和諧的音調或是噪音。同样,在3D绘图时,每个图形由像素组成,每段瞬间画面由组成,因为屏幕上的像素有限,如果要表现出多边形的位置时,因技术所限,使用绝对坐标定位法是无法做到的,只能使用在近似位置采样来进行相对定位。由于没有足够的采样来表现出3D世界中的所有物品的图形,所以在最后图像显示上,這些現象便會造成在物品与物品中过渡的边缘就会产生波浪狀、圓形、锯齿和闪烁等失真现象,严重影响了画面的质量。[1]

全景反鋸齒[编辑]

全景反鋸齒(full scene Anti-aliasing,簡稱FSAA),也称全屏抗锯齿,它指的是利用反鋸齒技术对输出到显示器的满屏画面信号进行放大与采样分析并重新制作满屏画面信号输出至显示器,而不是对画面某一部分使用反鋸齒技术。全景反鋸齒对于3D游戏画面有着很大的影响,它能使整个3D游戏画面变得细腻、清晰与逼真,这是是一种重要的技术应用。全屏抗锯齿反鋸齒技术,有以下方法:

超级采样抗锯齿[编辑]

超级采样抗锯齿(Super-Sampling Anti-aliasing,簡稱SSAA)此是早期抗锯齿方法,比较消耗资源,但简单直接,先把图像映射到缓存并把它放大,再用超级采样把放大后的图像像素进行采样,一般选取2个或4个邻近像素,把这些采样混合起来后,生成的最终像素,令每个像素拥有邻近像素的特征,像素与像素之间的过渡色彩,就变得近似,令图形的边缘色彩过渡趋于平滑。再把最终像素还原回原来大小的图像,并保存到帧缓存也就是显存中,替代原图像存储起来,最后输出到显示器,显示出一帧画面。这样就等于把一幅模糊的大图,通过细腻化后再缩小成清晰的小图。如果每帧都进行抗锯齿处理,游戏或视频中的所有画面都带有抗锯齿效果。[2]而将图像映射到缓存并把它放大时,放大的倍数被用于分别抗锯齿的效果,如:图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。[3]

這是最常見的反鋸齒,差不多所有遊戲都支援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佔用很少的電腦資源,便可獲得理想的抗鋸齒效果。

參見[编辑]

参考文献[编辑]

  1. ^ 透析超级采样抗锯齿. yesky.com. [2010-2-28]. 
  2. ^ FSAA簡介. dev.gameres.com. [2010-2-28]. 
  3. ^ MSAA,SSAA,CSAA,CFAA...如何正确地为您的游戏设置抗锯齿模式. digiyule.com. [2010-7-1].