[cairo] Incorrect rendering of the edges of overlapping polygons

mental at rydia.net mental at rydia.net
Sun Dec 4 16:46:20 PST 2005


Quoting David Benbennick <dbenbenn at gmail.com>:

> Is this a known bug? Is there interest in fixing it?

It's a limitation of the algorithms which are available to us.

> I think that a fix would be fairly complicated, since you'd have
to
> figure out the detailed geometry inside each pixel to determine
what
> color each pixel should be.  I'm willing to help write code.

The only general solution is full-scene antialiasing.  The simplest
approach is to simply render the entire scene at a higher
resolution without edge antialiasing and then filter the resulting
image down to the target resolution.

Other approaches include constructing a BSP tree of the scene to
determine individual pixel coverage.

Unlike the alpha-coverage-approximation approach Cairo uses by
default (which introduces these seams), no FSAA approach can be
used incrementally.

-mental


More information about the cairo mailing list