[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