Geometria przeciwziarnista
Deweloperzy | Maksym Szemanariew |
---|---|
Wersja stabilna | 2.5.0 / 1 października 2006
|
Napisane w | C++ |
System operacyjny | Międzyplatformowe |
Typ | Biblioteka grafiki |
Licencja | GPL |
Strona internetowa |
|
Anti-Grain Geometry ( AGG ) to biblioteka graficzna do renderowania 2D napisana w C++ . Posiada antyaliasing i rozdzielczość subpikselową . Nie jest to biblioteka graficzna jako taka, ale raczej struktura, na której można zbudować bibliotekę graficzną.
Biblioteka jest niezależna od systemu operacyjnego i renderowana do abstrakcyjnego obiektu pamięci. Zawiera przykłady interfejsów do systemu X Window , Microsoft Windows , Mac OS X , AmigaOS , BeOS , SDL . Przykłady obejmują również SVG .
Projekt AGG wykorzystuje szablony C++ tylko na bardzo wysokim poziomie, a nie w dużym stopniu, aby osiągnąć elastyczność podłączania niestandardowych klas do potoku renderowania, bez konieczności sztywnej hierarchii klas, i umożliwia kompilatorowi wbudowanie wielu wywołań metod wysoka wydajność. Jak na bibliotekę o swojej złożoności, jest niezwykle lekka: nie ma zależności ponad standardowymi bibliotekami C++ i unika C ++ STL w implementacji podstawowych algorytmów. Niejawne interfejsy nie są jednak dobrze udokumentowane, co może sprawić, że proces uczenia się będzie dość kłopotliwy.
Podczas gdy wersja 2.5 AGG jest objęta licencją GNU General Public License , wersja 2 lub nowsza, AGG wersja 2.4 jest nadal dostępna na podstawie 3-klauzulowej licencji BSD i jest praktycznie taka sama jak wersja 2.5.
Historia
Aktywny rozwój bazy kodu AGG utknął w martwym punkcie w 2006 roku, mniej więcej w czasie wydania wersji 2.5, z powodu zmiany priorytetów jej głównego programisty i opiekuna Maxima Shemanareva. M. Shemanarev pozostał aktywny w społeczności aż do swojej nagłej śmierci w 2013 roku. Rozwój był kontynuowany na rozwidleniu bardziej liberalnej wersji v2.4 na SourceForge.net.
Stosowanie
- System operacyjny Haiku używa AGG w swoim systemie okienkowym.
- Jest to jeden z rendererów dostępnych do użycia w odtwarzaczu Gnash Flash Player firmy GNU .
- Graficzna wersja interpretera języka Rebol wykorzystuje AGG do skalowalnej grafiki wektorowej w dialekcie DRAW.
- Hilti używa go w niektórych swoich narzędziach do wykrywania prętów zbrojeniowych, takich jak PS 1000.
- Matplotlib używa AGG jako swojego wewnętrznego silnika renderującego.
- fpGUI Toolkit ma opcjonalny silnik renderujący zaplecza AggPas. Trwają prace nad ustawieniem AggPas jako domyślnego lub jedynego silnika renderującego dla fpGUI.
- Mapnik , zestaw narzędzi, który renderuje mapy na stronie OpenStreetMap , używa AGG do całego renderowania map.
- HTTPhotos używa AGG do skalowania zdjęć.
- Pdfium, silnik renderujący PDF używany przez Google Chrome, korzysta z AGG, chociaż trwają prace nad zastąpieniem go przez Skia Graphics Engine .
- Graphics Mill, zestaw SDK do przetwarzania obrazu .NET, wykorzystuje AGG jako silnik do rysowania.
- Image-Line FL Studio , cyfrowa stacja robocza audio, od wersji 10.8 wydanej 30 września 2012 r., Używa AGG do rysowania.
Twórca
Głównym autorem biblioteki jest Maxim Shemanarev. 26 listopada 2013 Shemanariev (ur. 15 czerwca 1966 r. w Niżnym Nowogrodzie , Rosja) zmarł w wieku 47 lat. Zmarł nagle w swoim domu w Kolumbii w stanie Maryland (USA) rzekomo z powodu ataku epilepsji, który miał cierpi od jakiegoś czasu. Był absolwentem Państwowego Uniwersytetu Technicznego w Niżnym Nowogrodzie . Niewiele wiadomo o jego życiu osobistym. Wiadomo jednak, że był rozwiedziony, a jego matka żyła w chwili jego śmierci. Uwielbiał jeździć na nartach , snowboardzie (w Kolorado) i rolkach . Znajomi chwalili go za inteligentne umiejętności programistyczne.
Notatki
Linki zewnętrzne
- Zaktualizowany widelec v2.4 , który zachowuje oryginalną licencję BSD.
- Zaktualizowany widelec wersji 2.6 na GitHub , który zachowuje oryginalną licencję BSD.
- agg-sharp Jest portem ac# biblioteki c++.
- AggPas to port Object Pascal biblioteki c++.
- AggPasMod to zmodernizowany port Object Pascal biblioteki c++.
- AntiGrainRT to opakowanie WinRT dla Windows Store i Windows Phone.