我们在前一节课讲过在三角形光栅化的时候会出现锯齿的情况
这个也叫走样,是采样不够的结果,如下这个周期函数,如果我们每隔一定间隔对函数进行采样,最后发现我们采样出来的结果(就是图中这条黑色的线)和我们想要的(蓝色的线)差别非常大,这就是采样率不够所导致,也就是走样,采样的频率跟不上信号变换的频率
要解决这个问题,最简单的就是提高采样率,缩小采样的间隔,具体到三角形光栅化出现锯齿的问题就是提高屏幕的分辨率,但这个贵是不是,而且硬件总是有限制的
我们分析出现图像出现锯齿的部分是出现在边界的地方,所谓图像的边界就是指像素值变化大的地方,也叫做高频信息,我们可以先去掉图像的高频信息再进行采样
具体来说就是使用一个低通滤波器,进行卷积操作,去掉高频信息,保留低频信息,如下就是一个均值滤波器
滤波器,或者说卷积,就是通过这个计算的box走遍原图像计算出新的像素
先模糊再采样
这样可以很好的解决抗锯齿的问题
但是如果先采样再模糊是不行的,因为这样只是将锯齿模糊而已,并没有去掉锯齿
把一个像素继续细分为多个小部分,例如1=2×2,然后判断小的是否在三角形内部,记录一个像素中在三角形内部的占比
然后根据这个占比乘以原来的像素值,我的理解是这样子
这个games101讲的光栅化阶段的抗锯齿方法还是比较宽泛的,大家可以看下面这几篇文章继续深入抗锯齿方法。