• jan@cosmigo.com

Anti-Aliasing on Top of Transparency & Dirty Alpha


With AA turned on, and drawing on top of transparency, in a project WITHOUT alpha turned on, I get these results:

Technically . . . what PMNG is doing here is correct because I’ve chosen a bright ugly pink as my transparency color. But, the whole point of transparency is to not see it.
Shouldn’t no AA happen if drawing in a transparent area? Otherwise I get these ugly pink fringes where PMNG is trying to apply AA.
When alpha isn’t enabled, I think no AA should happen - so that squiggly blue line should just have jagged hard edges where it overlaps transparency.

I feel like most users would prefer this result:

Another thing . . .
With Alpha turned ON, in the Layers Panel, there’s a different problem - bad dirty alpha fringes.
This is a separate issue but I’ll go ahead toss this stuff here - PMNG dirties up anti-aliased edges drawn on top of alpha transparency.
One layer and a bunch of random color blobs:

Dirty fringes. Just unwanted colors in the alpha transparent anti-aliased pixels.
The alpha mask itself is fine:

Now . . . if I grab the color of the upper left dark brown blob, and change the alpha editing dropdown to “Edit Color only”, then draw over the bottom half of the dark brown blob I can fix it:

But this is what all AA’d alpha transparent edges should look like when they’re drawn - just a nice solid color that anti-aliases to transparency. Why the extra dirty colors finding their way into the AA’d alpha edges?

If I save out a true color PNG, open in Photoshop, and use Layer>Matting>Defringe, it can detect the bad fringes and mostly correct them:

When it’s just one color + alpha, can’t PMNG just not do color mixing math?
Let the color remain pure when it’s not mixing into another color and just get the alpha mask right.