文章目录
本文简单总结了常见的抗锯齿方法,包括以MSAA为主的超采样抗锯齿方法,和现在主流的后处理抗锯齿方法。
Super Sampling
MSAA(MultiSampling AA)
原理:在光栅化阶段,判断一个三角形是否被像素覆盖的时候计算三角形对子像素的覆盖情况,但计算颜色时只用像素中心坐标计算一次颜色,然后将着色结果乘以coverage的比例
光栅化:确定每个顶点最终位于屏幕上的哪个像素,判断每个像素是否被三角形覆盖
对三角形内部的像素:pixel shader计算的颜色会存到全部4个子采样点中
对三角形边缘的像素:pixel shader计算的颜色只会存到被三角形覆盖的子采样点中
最后对4个子采样点的颜色进行插值。因为颜色是以父采样点中心计算的,所以pixel shader只计算一次颜色即可。
特点:
-
只支持前向渲染,不支持延迟渲染
-
静态画面表现好,时域上不稳定
-
只能消除几何走样,不能解决高光区域着色走样
SSAA(SuperSampling AA)
原理:光栅化时,采样多个子像素,进行加权平均,作为最终像素的颜色
MSAA是对SSAA的改进