I noticed some of the shaders produced a fringe on antialiased edges because they were, I think unintentionally, multiplying the alpha value by itself. I believe I fixed this by starting with an alpha of 1.0h in all the places where a color is multiplied by the alpha value. The affected shaders were AnimatedGradientFill, GradientFill, Infrared, InvertAlpha, and Sinebow.
For example, the animated gradient fill without my fix (there’s a whitish fringe around the edges, especially visible on the left and right sides of the circle and the figure’s right arm):
With my fix, the edges are smooth because the alpha of the returned color matches that of the original pixel:
I noticed some of the shaders produced a fringe on antialiased edges because they were, I think unintentionally, multiplying the alpha value by itself. I believe I fixed this by starting with an alpha of
1.0h
in all the places where a color is multiplied by the alpha value. The affected shaders wereAnimatedGradientFill
,GradientFill
,Infrared
,InvertAlpha
, andSinebow
.For example, the animated gradient fill without my fix (there’s a whitish fringe around the edges, especially visible on the left and right sides of the circle and the figure’s right arm):
With my fix, the edges are smooth because the alpha of the returned color matches that of the original pixel: