[cairo] Anti-Grain Geometry - Yet another 2D Rendering Library

Maxim Shemanarev mcseemagg at yahoo.com
Fri May 7 08:15:48 PDT 2004

-> >         -  Reliability and stability (including numerical stability).
> There is a known numerical problem with the polygon tessellation
> implementation in cairo right now, so I am investigating solutions. I
> might want to take a look to see what you have in AGG.

Currently there's no tesselation in AGG. Instead, there's a scanline
rasterization algorithm (well, you can consider spans the algorithm produces as
1 pixel height tristrips). It's derived from FreeType font rasterizer, and it's
bulletproof. I haven't seen antything better so far.
> >         -  Boolean polygon operations (and, or, xor, sub) based on Alan
> >            Murta's  General Polygon Clipper.
> Cairo doesn't have any boolean polygon operations in its API, but there
> may be a place in the implementation where this could be handy.
> Hmm... but it appears that Alan Murta's software is released under a
> license that is only "free of charge for non-commercial users". That
> kind of license is incompatible with the license of cairo.

Right. I included it into AGG to have something at least. I was working on a
C++ version of the vectorial polygon clipper. Eventually I'd like to rewrite it
completely in C++. It's not finished yet, but I could improve the performance
about twice.
I'm also going to implement so called scanline based shape algebra that will
work much faster and preserve anti-aliasing.

Currently AGG has Alpha Mask that can be used only with the scanline
See http://antigrain.com/demo/index.html search for "alpha_mask".
I'm going to add a new class that can be used with all other renderers in AGG.

Also, you mentioned perspective transformations in another post. That's fairly
easy, see 


Do you Yahoo!?
Win a $20,000 Career Makeover at Yahoo! HotJobs  

More information about the cairo mailing list