GPAA是Humus独立提出来的AA方法。基本思路是在渲染几何之后再次用线框模式渲染一遍,这时候可以得到每个三角形在每个pixel的覆盖率:
值得一提的是,AA有正确的用法也有错误的用法。正确的方法是如上面所示造成平滑过渡的感觉。错误的方法是像下图的最左边的图在黑色边线的外围全部加上50%的灰度像素:
FXAA(Fast Approximate Anti-Aliasing)
图1:一个像素内部的采样点前面我们介绍了硬件式AA和后处理式AA抗锯齿方法,那么有没有将两者结合起来的解决方案了?这正是下面要讲的Hybrid AA(混合式AA)。我们先对MSAA的计算浪费这一事实进行下对比说明:
总结:AA抗锯齿就是为了降低"方块感"
总之:Hybrid AA可以说是hardware AA 和post process AA 这两种AA方案的折中选择。优点是可以用低于hardware AA的硬件开销和计算量达到一样的效果,缺点是需要修改原有的图形渲染流水线。
如图1的情况,没有centric插值的话,蓝色三角形的两个采样点将都得到纯蓝的颜色(外差而得),最终像素的颜色就是(2 * (0, 0, 1) + 14 * (1, 1, 0)) / 16 = (0.875, 0.875, 0.125)。有centric插值的话就是个更正确的浅蓝色((1, 1, 1) + (0.77, 0.77, 1)) / 2 = (0.885, 0.885, 1),最终像素颜色是(2 * (0.885, 0.885, 1) + 14 * (1, 1, 0)) / 16= (0.98, 0.98, 0.125)。如下图所示:性能统计:每个像素里PS执行次数为每个覆盖到该像素的三角形一次,占用空间N个color + N个depth。总之,MSAA对资源的消耗需求大大降低,不过在画质上略不如SSAA。