| This article may not meet the general notability guideline or one of the following specific guidelines for inclusion on Wikipedia: Biographies, Books, Companies, Fiction, Music, Neologisms, Numbers, Web content, or several proposals for new guidelines. If you are familiar with the subject matter, please expand or rewrite the article to establish its notability. The best way to address this concern is to reference published, third-party sources about the subject. If notability cannot be established, the article is more likely to be considered for redirection, merging, or deletion, per Wikipedia:Guide to deletion. This article has been tagged since October 2008. |
| This article does not cite any references or sources. Please help improve this article by adding citations to reliable sources. Unverifiable material may be challenged and removed. (October 2008) |
Anti-Grain Geometry (AGG) is a high-quality 2D rendering library written in C++. It features anti-aliasing and sub-pixel resolution.
The library is operating system independent and renders to an abstract memory object. It comes with examples interfaced to the X Window System, Microsoft Windows, Mac OS X, AmigaOS, BeOS, SDL. The examples also include an SVG viewer.
AGG makes heavy use of C++ generics: it relies on templates rather than class based interfaces. This gives it the flexibility to plug custom classes into the rendering pipeline, without requiring a rigid class hierarchy, and allows the compiler to inline many of the method calls for high performance. For a library of its complexity, it is remarkably lightweight, and it has no dependencies above the standard C++ libraries. The implicit interfaces are not well documented, however, and this can make the learning curve quite steep.
The Haiku operating system uses AGG in its windowing system.
Until version 2.4 AGG was under the 3-clause BSD license. Beginning with version 2.5 it is under the GNU General Public License, version 2 or greater.
It is one of the renderers available for use in GNU’s Gnash Flash player.