[cairo] Re: Avoiding seams
MenTaLguY
mental at rydia.net
Mon Dec 12 18:21:04 PST 2005
On Mon, 2005-12-12 at 18:19 -0700, Eric Hughes wrote:
> The urge to move to FSAA to solve this problem seems misguided. FSAA
> works to disambiguate filled edges that were stroked at
> 1-native-pixel width by simply reducing the relative error
> involved. But it's an expensive way to do it, involving either n or
> n^2 extra effort, where n is the linear pixel oversampling rate.
I'd like to see someone propose a complete solution which doesn't
involve an FSAA technique of some type (in the post you replied to, I
mentioned others besides just oversampling). Not just "I think FSAA is
misguided, there must be a way to do it with a special compositing
operator," but a solution described in sufficient detail that someone
could actually implement it.
Just to be sure you understand the general problem we're trying to
address, here's some context from the March thread:
An example SVG:
http://lists.freedesktop.org/archives/cairo/2005-March/003448.html
> 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. For this to work, however, you have to
> know where zero is. It's either at black (for luminosity) or white
> (for occlusion), but not both. I can't tell which one Cairo uses
> without looking at the code. An alpha channel works with either.
That sounds vaguely like SATURATE, but if so that's not satisfactory for
reasons already discussed.
There is a fundamental ambiguity:
http://lists.freedesktop.org/archives/cairo/2005-March/003481.html
While SATURATE comes really close, in terms of producing a visually
acceptable, if inaccurate, result... the problem is that it requires
messing with the scene geometry to the point where you may as well just
rasterize using geometry-based FSAA.
-mental
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://lists.freedesktop.org/archives/cairo/attachments/20051212/e694ff42/attachment.pgp
More information about the cairo
mailing list