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

Maxim Shemanarev mcseemagg at yahoo.com
Thu May 6 13:53:57 PDT 2004


I have a similar project called Anti-Grain Geometry (AGG) 
that is an Open Source, free of charge graphic library, written 
in industrially standard C++. 

AGG doesn't depend on any graphic API or technology. 
Basically, you can think of AGG as of a rendering engine 
that produces pixel images in memory from some vectorial data. 
But of course, AGG can do much more than that.
The ideas and the philosophy of AGG are:

        -  Anti-Aliasing.
        -  Subpixel Accuracy.
        -  The highest possible quality.
        -  High performance.
        -  Platform independence and compatibility.
        -  Flexibility and extensibility.
        -  Lightweight design.
        -  Reliability and stability (including numerical stability).

Below there are some key features (but not all of them):

        -  Rendering of arbitrary polygons with Anti-Aliasing and Subpixel
        -  Gradients and Gouraud Shading.
        -  Fast filtered image affine transformations, including many
           interpolation filters (bilinear, bicubic, spline16, 
           spline36, sinc, Blackman).
        -  Strokes with different types of line joins and line caps.
        -  Dashed line generator.
        -  Markers, such as arrowheads/arrowtails.
        -  Fast vectorial polygon clipping to a rectangle.
        -  Low-level clipping to multiple rectangular regions.
        -  Alpha-Masking.
        -  A new, fast Anti-Alias line algorithm.
        -  Using arbitrary images as line patterns.
        -  Rendering in separate color channels.
        -  Perspective and bilinear transformations of vector and image
        -  Boolean polygon operations (and, or, xor, sub) based on Alan
           Murta's  General Polygon Clipper.

AGG contains many interactive Demo examples that are platform independent 
too, and use a simple platform_support class that currently has two
implementations, for Win32 API and X11 (no Motiff, no other dependencies, 
just basic X11). One of the examples is an SVG Viewer.

For more information look at http://www.antigrain.com : 
News, Screenshots, Demo, Documentation, Download, etc.

Currently I'm working on the documentation and new algorithms.

I wouldn't like you to consider AGG as a potential competitor 
of Cairo Graphics, but there can be some possibilities of 
cooperation. AGG doesn't have a well developed infrastructure 
to support different back-ends, while Cairo Graphics does. 
On the other hand AGG design is much more flexible, it allows 
you to create custom pipelines, to work with different color 
spaces, to write faster in-memory renderers in addition to 
existing ones, etc.


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

More information about the cairo mailing list