Anti-Grain Geometry is an Open Source, free of charge graphic library, written in industrially standard C++. Anti-Grain Geometry doesn't depend on any graphic API or technology. Basically, you can think of Anti-Grain Geometry as of a rendering engine that produces pixel images in memory from some vectorial data. But of course, Anti-Grain Geometry can do much more than that. The ideas and the philosophy of Anti-Grain Geometry 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 Accuracy.
- Gradients and Gouraud Shading.
- Fast filtered image affine transformations, including many interpolation filters, such as 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 data.
- Boolean polygon operations (and, or, xor, sub) based on Alan Murta's General Polygon Clipper.
Anti-Grain Geometry contains many interactive Demo exemples 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 a simple SVG viewer (requires the Expat XML parser).