最近看了文章FXAA和FXAA算法演义 - 知乎,对Edge Blending有些迷糊,做分析记录一下。
Edge Blending目的是为了解决类似下面图1和图2展示的阶梯形走样,图1是原始的结果,图2是对上面的图做了双线性差值的结果。具体看渲染过程是不是使用了Bilinear的中间颜色缓存,FXAA前会做后处理,一般都会使用Bilinear,所以大多数是图2的情况。

图1

图2
两者的差别是,第一种FXAA边缘厚度是2,第二种因为多了一个中间层厚度是3。为了方便,下面都是基于无中间层的情况分析。
惯例先给出FXAA基于图1处理的结果,效果还是比较明显的。

这是用来分析的图片,红色是三角形的采样点,蓝色是背景采样点,绿色表示像素的边缘,青色为三角形的边缘线。

&

文章详细介绍了FXAA算法中的EdgeBlending技术,用于解决阶梯形走样问题。通过对图像的线性差值和采样分析,解释了如何计算BlendFactor以优化边缘渲染,强调了手动采样两次求平均值的重要性。此外,文章还探讨了如何判断边缘方向和计算BlendFactor的流程,以确保正确处理像素混合。
最低0.47元/天 解锁文章
129

被折叠的 条评论
为什么被折叠?



