tyoma / agge

Anti-Grain Evolution. 2D graphics engine for Speed and Quality in C++.
MIT License
117 stars 17 forks source link
2d-graphics android-library cpp cross-platform-2d cross-platform-graphics graphics

Anti-Grain Evolution Build/Test

This project is based on ideas found in Maxim (mcseem) Shemanarev's Anti-Grain Geometry library, but oriented towards maximizing performance and stability. This engine sits on top of vector rasterizer and renderer rewritten from scratch in test-first style.

Here is how a simple drawing code looks like in agge:

using namespace agge;

...

bitmap<pixel32, platform::raw_bitmap> surface(150, 100);
rasterizer<unclipped> ras;
renderer ren;

add_path(ras, circle(10.0f /*x*/, 20.0f /*y*/, 5.0f /*radius*/).iterate());

ras.sort();

ren(surface, 0 /*no windowing*/, ras /*mask*/, solid_color_blender(0, 128, 255), winding());

// ... and, if on Windows:
surface.blit(hdc, 0, 0, 150, 100);

Note: to build for Android vs-android is required. This is planned to change.