[cairo] Avoiding seams
Eric Hughes
eh-cairo at narthex.us
Mon Dec 12 20:01:02 PST 2005
I can't address everything yet, because I'm still investigating, but
I can respond to one point.
>On Mon, 2005-12-12 at 18:19 -0700, Eric Hughes wrote:
> > Anti-aliasing can be done locally with path-as-boundary, with one
> > caveat. You can draw either with luminosity (additive) or occlusion
> > (subtractive). As long as one or the other is specified, you can get
> > a linear behavior at edges.
At 07:21 PM 12/12/2005, MenTaLguY wrote:
>There is a fundamental ambiguity:
>
> http://lists.freedesktop.org/archives/cairo/2005-March/003481.html
The fundamental ambiguity of this example is because of the use of
simple opaque occlusion, what is called there the "covered-by"
operator. Mathematically, this is the function max(), which isn't
linear over the integers. If you have a non-linear compositing
operator, then you're in a situation where computing an alias filter
independently per element doesn't work. You have to have linearity
to be able to compute the filter function independently per element.
If you need a non-linear compositing operator to deal with vector
graphics, you still don't need to compute it over the whole
screen. Doing it at intersections (including collinear edges and
coincident vertices) suffices.
Eric
More information about the cairo
mailing list