项目作者: ghaerr

项目描述 :
AGG Anti-Grain Geometry Library
高级语言: C++
项目地址: git://github.com/ghaerr/agg-2.6.git
创建时间: 2019-05-06T17:13:58Z
项目社区:https://github.com/ghaerr/agg-2.6

开源协议:

下载


Anti-Grain Geometry Library

Anti-Grain Geometry library, written by Maxim Shemanarev in C++. It is an Open Source, 2D vector graphics library.
Agg produces pixel images in memory from vectorial data.

About the Project

Anti-Grain Geometry (AGG) is an Open Source, free of charge graphic library, written in industrially standard C++. The terms and conditions of use AGG are described on The License page. 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 Accuracy.
  • 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 data.
  • Boolean polygon operations (and, or, xor, sub) based on Alan Murta’s General Polygon Clipper.

Anti-Grain Geometry contains many interactive Demo examples that are platform independent too,
and use a simple platform_support class currently implemented for Win32, X11, SDL, Nano-X, MacOS, AmigaOS and BeOS.
One of the examples is an SVG Viewer.

#

Cloned with history on May 6, 2019 (rev r132) from the official Sourceforge AGG project at
https://svn.code.sf.net/p/agg/svn.

License

AGG 2.6, along with the official Sourceforge AGG project, is based off of AGG 2.4, which
is dual licensed by either a Modified BSD License, or an Anti-Grain Geometry Public License.
These licenses allow for free use in commercial software.

There exists an AGG 2.5 that was created with a GNU GPL License, with no other changes from 2.4.
The AGG 2.5 version is not included here nor in the Sourceforge repositories.

There remains a seperate license for the General Polygon Clipper (GPC) code, which
is free only in non-commercial software. However, GPC is not an obligatory part of AGG
and can be easily removed.

Refer to License HTML
for license texts and GPC details.

Building

The library examples show the amazing capabilities of the AGG C++ template library. There are scripts
for autogen and configure in the source directory, but haven’t found these to work well, and
they’re not needed to build the demos anyways. X11, SDL2, Nano-X and Win32 are supported
for the demo builds, which visually show various complex rendering pipelines in the library.
These should build on OSX and Linux (OSX is currently tested).
There is additional untested platform support for MacOS Carbon, BeOS and AmigaOS.

To build the demos for X11, first check the Makefile in agg-2.6/agg-src/Makefile.in.$(uname)
corresponding to your system’s uname and set the location of the X11 -Iinclude and -Llib paths.
Then:

  1. cd agg-2.6/agg-src/examples/X11
  2. make
  3. (if have Freetype2 installed, 'make all' will build further examples)

Likewise, to build the demos for SDL2, first check the Makefile in agg-2.6/agg-src/Makefile.in.$(uname).SDL2
corresponding to your system’s uname and set the location of the SDL2 -Iinclude and -Llib paths.
Then:

  1. cd agg-2.6/agg-src/examples/SDL2
  2. make

To build the demos for Nano-X, first check the Makefile in
agg-2.6/agg-src/Makefile.in.$(uname).nano-X corresponding to your system’s
uname and set the location of the nano-X -Iinclude and -Llib paths.
For instance, /path/to/microwindows/src/include for include, and
/path/to/microwindows/src/lib for the lib directory.
Then:

  1. cd agg-2.6/agg-src/examples/nano-X
  2. make
  3. (if have Freetype2 installed, 'make all' will build further examples)
  4. ./runapp line_patterns (to run demo app and nano-X server)

Roadmap

The official AGG site remains on Sourceforge, but doesn’t see much activity.
With www.antigrain.com recently inoperational, I thought a GitHub repo was in order,
as the project demos stopped building with the site down. The demos now build without
the website.

I have created PDFs of all of Maxim’s articles from the previous website and may put
those up as well, as they greatly aid in understanding the library.

Anti-Grain Geometry - A Simple SVG Viewer_1648798974246.pdf
Anti-Grain Geometry - AGDoc Formatter_1648798974348.pdf
Anti-Grain Geometry - About the Project_1648798974455.pdf
Anti-Grain Geometry - Adaptive Subdivision of Bezier Curves_1648798974514.pdf
Anti-Grain Geometry - Basic Renderers_1648798974616.pdf
Anti-Grain Geometry - Color Interpolation_1648798974702.pdf
Anti-Grain Geometry - Compiling AGG under Microsoft eMbedded VC 4.0_1648798974786.pdf
Anti-Grain Geometry - Demo Examples_1648798974882.pdf
Anti-Grain Geometry - Download_1648798974980.pdf
Anti-Grain Geometry - Gamma Correction_1648798975076.pdf
Anti-Grain Geometry - Image Parallelogram Transformations_1648798975225.pdf
Anti-Grain Geometry - Interpolation with Bezier Curves_1648798975339.pdf
Anti-Grain Geometry - Introduction_1648798975486.pdf
Anti-Grain Geometry - News and History_1648798975605.pdf
Anti-Grain Geometry - Scanlines and Scanline Renderers_1648798975731.pdf
Anti-Grain Geometry - Screenshots_1648798975859.pdf
Anti-Grain Geometry - Texts Rasterization Exposures_1648798976099.pdf
Anti-Grain Geometry - The License_1648798976270.pdf
Anti-Grain Geometry - The Mailing List_1648798976331.pdf
Anti-Grain Geometry - The Problem of Line Alignment_1648798976461.pdf
Anti-Grain Geometry - Users and Customers_1648798976563.pdf
Anti-Grain Geometry - Using WinAPI to Render Text_1648798976631.pdf
Anti-Grain Geometry - Version 2.1 Release Notes_1648798976708.pdf
Anti-Grain Geometry - Version 2.2 Release Notes_1648798976842.pdf
Anti-Grain Geometry - Version 2.3 Release Notes_1648798976953.pdf
Anti-Grain Geometry - Version 2.4 Release Notes_1648798977047.pdf
Anti-Grain Geometry - Working with Gradients_1648798977166.pdf
Anti-Grain Geometry_1648798977279.pdf
GPC General Polygon Clipper library from The University of Manchester_1648798977398.pdf
The cl-aa algorithm_1648798977516.pdf
The cl-aa algorithm_1649712332024.pdf
Anti-Grain Geometry - The License_1649712331056.pdf
Anti-Grain Geometry - The Mailing List_1649712331125.pdf
Anti-Grain Geometry - The Problem of Line Alignment_1649712331215.pdf
Anti-Grain Geometry - Users and Customers_1649712331271.pdf
Anti-Grain Geometry - Using WinAPI to Render Text_1649712331309.pdf
Anti-Grain Geometry - Version 2.1 Release Notes_1649712331362.pdf
Anti-Grain Geometry - Version 2.2 Release Notes_1649712331444.pdf
Anti-Grain Geometry - Version 2.3 Release Notes_1649712331532.pdf
Anti-Grain Geometry - Version 2.4 Release Notes_1649712331624.pdf
Anti-Grain Geometry - Working with Gradients_1649712331693.pdf
Anti-Grain Geometry_1649712331774.pdf
GPC General Polygon Clipper library from The University of Manchester_1649712331873.pdf
Anti-Grain Geometry - Gamma Correction_1649712330058.pdf
Anti-Grain Geometry - Image Parallelogram Transformations_1649712330171.pdf
Anti-Grain Geometry - Interpolation with Bezier Curves_1649712330229.pdf
Anti-Grain Geometry - Introduction_1649712330364.pdf
Anti-Grain Geometry - News and History_1649712330483.pdf
Anti-Grain Geometry - Scanlines and Scanline Renderers_1649712330561.pdf
Anti-Grain Geometry - Screenshots_1649712330693.pdf
Anti-Grain Geometry - Texts Rasterization Exposures_1649712330851.pdf
Anti-Grain Geometry - AGDoc Formatter_1649712328953.pdf
Anti-Grain Geometry - About the Project_1649712329183.pdf
Anti-Grain Geometry - Adaptive Subdivision of Bezier Curves_1649712329325.pdf
Anti-Grain Geometry - Basic Renderers_1649712329488.pdf
Anti-Grain Geometry - Color Interpolation_1649712329577.pdf
Anti-Grain Geometry - Compiling AGG under Microsoft eMbedded VC 4.0_1649712329648.pdf
Anti-Grain Geometry - Demo Examples_1649712329805.pdf
Anti-Grain Geometry - Download_1649712329900.pdf
Anti-Grain Geometry - A Simple SVG Viewer_1649712328744.pdf