FXAA 是对 Gamma 空间下的 Luma 进行处理的



因为我们对绿色比较敏感,我们可以直接用绿色通道的值来代替 luma


FXAA 原理
Step1:通过查找纹理本身及周边4个纹素
Step2:找到亮度最高和最低的纹素和一个范围



Step3:计算BlendFactor

加入斜对角的权重计算

斜对角的权重低于临边权重,是临边权重的一半


Step4:确定 BlendDirection

- 水平方向上:左右相加减去两次中间值,并取绝对值,作为水平方向判断依据
- 垂直方向上:与上面相同

加上斜向方向的计算,可以提高精度

红色为计算出的水平边,绿色为垂直边

- 如果是水平的边,我们应该按照垂直方向进行Blend;如果是垂直的边,我们应该按照水平方向Blend
- 详细来说:我们应该按照水平的正方向还是水平的负方向进行Blend呢?通过水平的正负梯度大小来决定
