> Maybe photoshop likes to specify everyhing in pixels?  MyPaint has a
> scalable vector brush dab shape, most settings are relative to the brush
> radius and not in pixels.
>
> From the name "feather" I would expect that this effect can be scaled
> together with the brush, not that it has a very special behaviour with
> respect to scaling.  And I would not understand why it should be limited to
> a small number of pixels.

I'm not sure I'm being understood. I have nothing against the feather
or how it is implemented in mypaint. The only wrong thing (IMO) is the
name "antialiasing" which should be "feather" instead.

> Maybe the name should include the word "pixel". I have renamed it to "Pixel
> feather" in current git.

I think it should be just "feather", otherwise it makes the user think
it works on a per-pixel basis, when in reality it works by fading-out
the dabs edges by the specified radius.

>> Anti-aliasing's purpose is to remove aliased lines which occur because
>> we have a finite resolution. It has technically nothing to do with a
>> "1 pixel fade-out border".
>
> Yes it has, because we blur the dab edge by one pixel in the vector shape of
> the dab, before the dab is rasterized.

When I say "anti-aliasing" I mean true antialiasing, not just
mypaint's implementation. The amount of pixels depends on the
implementation of AA. "AA" all by itself only means "remove aliasing
resulting from lack of resolution/samples". The implementation may
even not need to use a full extra pixel (see MS's ClearType
technology).

>> That said, true antialiasing can only either be ON (desired) or OFF
>> (undesired).
>
> I guess "true antialiasing" means that you work at infinite resolution, and
> before you display the image, you blur it with a sinc filter to throw away
> any high-frequency components.

If you had infinite resolution, there would be no need for AA in the
first place. "True AA" is not impossible (at least with some
primitives). Yes, you always lose information, but that's not what AA
is all about. AA is about rendering correctly on the output medium's
finite resolution.

>
> That's not something that can be implemented quickly.
>
> (Problems start with "infinite resolution" and continue with the sinc
> filter, which needs to consider the full image to calculate every single
> pixel, in theory.  And finally, you cannot render many individually
> anti-aliased dabs over each other and expect the result to be anti-aliased
> correctly.)

Yes. Due to the loss of data on every dab, the final resultant stroke
will be distorted. But it's possible that each individual dab is
antialiased correctly.

>> However, it's actually doing the feather effect, and not the AA effect, so
>> it should be named as such.
>
> It's the best way we currently have to prevent aliasing for large dabs.
>
> If a better way exists to prevent aliasing in general (e.g. one that also
> works for very large dabs with 100% hardness) I would be happy to get rid of
> this setting entirely.
>
> --
> Martin Renold

I agree. It's needed, I just disagree that "antialiasing" is the right
name for the feature. The fact that it does prevent aliasing is only a
welcome secondary effect. The code is only feathering (if such word
exists...) and not trying to remove aliasing. This is why I believe
"feather" is the best name choice.

-- 
Micael Dias

_______________________________________________
Mypaint-discuss mailing list
[email protected]
https://mail.gna.org/listinfo/mypaint-discuss

Reply via email to