通过三款软件的对比,我们可以看到,MLAA对抗锯齿的效果还是相当明显的。不过需要特别说明的是,MLAA核心算法虽然只有一种,但可以通过人为调整取得不同的宽容度来改变抗锯齿效果。宽容度是指判断边缘的严格程度,也就是说:究竟边缘像素的差异需要多大,才会被认为是“边缘”并进行MLAA抗锯齿处理。
图7
图8
图9
图10
MLAA技术可以和MSAA技术同时启用,下面我们对比一下MLAA和MSAA对画质的改善程度。运行MLAA2软件后,就能分别对比MLAA和MSAA的效果。在MLAA2软件中,“1”是关闭MLAA,“2”是打开MLAA,“3”是关闭MSAA,“4”是开启MSAA。用鼠标控制观察角度,“W/A/S/D”四个按键用于移动场景。图7是原图,没有经过任何处理,因此锯齿显得相当明显,特别是斜边处。图8中,经过MLAA处理后,我们发现斜边处的锯齿基本消失,但纹理基本没有变化。在打开MSAA后,不仅锯齿消失了,整个画面也更为精细了(图9)。MSAA在类似于布匹等抗锯齿处理效果上要比MLAA更好。不过演示DEMO并未说明其MSAA的抗锯齿倍数,笔者估计至少是4×MSAA甚至8×MSAA。在图10中,当同时进行MLAA+MSAA处理后,除了一些小细节外,基本看不出有太多变化。
我们打个比方来说,熟悉Photoshop的朋友肯定熟悉这样一个参数——容差。在Photoshop中使用魔棒选择画面区域时,容差可以让你确定选择时的宽容度。容差为1的时候,宽容度小,Photoshop只会选择和确定像素极其相似甚至完全相同的像素点;而容差设定为50甚至更大时,与确定像素点接近甚至基本相当的像素都会被包括进来。MLAA中也有类似的“容差”概念,因此究竟怎样确定“MLAA的容差”是一个相当困难的问题。不同的设置会导致终效果出现巨大差异,这就需要厂商有相当强的优化水平和极为精准的拿捏手段了。