[cairo] Re: Using ADD operator to prevent seams
Owen Taylor
otaylor at redhat.com
Sat Mar 19 08:48:11 PST 2005
MenTaLguY wrote:
>
> Besides that, the seams are an avoidable rendering artifact, not part of
> the data. Any decent renderer should at least provide some means to
> avoid them. In fact, renderers used by professional design software
> generally do not use alpha-based partial coverage simulation precisely
> because of these kinds of artifacts.
>
> You can redraw the sliced-up version of the star-and-ring in e.g.
> Macromedia Flash, and not see any seams (I just tried it). I think the
> same is generally true of Adobe products as well (I don't own a copy of
> Illustrator anymore, but I don't recall seam issues there either, at
> least not for bitmap export).
A) Are you seriously suggesting that Flash is using full-scene
antialiasing techniques? While I can see how they could be
useful in an "export" mode, I have a hard time believing
that a real-time software renderer would have enough spare
horsepower to go that route.
B) I assume you've investigated the 2-alpha channel arithmetic
in PDF and in recent drafts of SVG in some detail. Can you
comment whether it has any bearing on your problem?
> Subject to the normal code review process, would you be willing to
> accept the image backend patch if I wrote it?
>
> Alternatively, how easy is it for a client application to provide its
> own cairo backend?
I think it would be cool if you took Dave's patch that Carl referenced
and did some experiments with it... having some hard data about what
image quality is achievable with what overhead would be useful.
Regards,
Owen
P.S. - You mentioned "rendering at a higher resolution and filtering";
an alternate approach is, of course, to render multiple times and use
an accumulation buffer. Is the overhead of walking the SVG tree
(or of converting paths to trapezoids) high enough to make that
prohibitive?
More information about the cairo
mailing list