| 開発者 | マキシム・シェマナレフ |
|---|---|
| 安定版リリース | 2.5.0 / 2006年10月1日 |
| 書かれた | C++ |
| オペレーティング·システム | クロスプラットフォーム |
| タイプ | グラフィックライブラリ |
| ライセンス | ライセンス |
| Webサイト | agg.sourceforge.net/antigran.com/index.html |
Anti-Grain Geometry ( AGG ) は、 C++で記述された2D レンダリンググラフィックス ライブラリです。アンチエイリアシングとサブピクセル解像度を備えています。厳密に言えばグラフィックス ライブラリではなく、グラフィックス ライブラリを構築するためのフレームワークです。
このライブラリはオペレーティング システムに依存せず、抽象メモリ オブジェクトにレンダリングします。X Window System、Microsoft Windows、Mac OS X、AmigaOS、BeOS、SDLにインターフェイスされたサンプルが付属しています。サンプルにはSVGビューアも含まれています。
AGG の設計では、C++ テンプレートを広範囲ではなく非常に高レベルでのみ使用することで、厳格なクラス階層を必要とせずにカスタム クラスをレンダリング パイプラインにプラグインする柔軟性を実現し、コンパイラが多くのメソッド呼び出しをインライン化して高パフォーマンスを実現できるようにしています。複雑なライブラリとしては、驚くほど軽量です。標準の C++ ライブラリよりも上位の依存関係はなく、基本的なアルゴリズムの実装ではC++ STL を使用しません。ただし、暗黙的なインターフェイスは十分に文書化されていないため、学習プロセスが非常に面倒になる可能性があります。
AGG バージョン 2.5 はGNU General Public Licenseバージョン 2 以降に基づいてライセンスされていますが、AGG バージョン 2.4 は3 条項 BSD ライセンスに基づいて利用可能であり、実質的にバージョン 2.5 と同じです。
歴史
AGG コードベースの積極的な開発は、2006 年、v2.5 リリースの頃、主な開発者兼メンテナーの Maxim Shemanarev の優先順位の変更により停滞しました。M. Shemanarev は、2013 年に突然亡くなるまでコミュニティで積極的に活動していました。開発は、SourceForge.net で、より自由なライセンスの v2.4 のフォークで継続されています。[1]
使用法
- Haikuオペレーティング システムは、ウィンドウ システムに AGG を使用します。
- これは、 GNUのGnash Flash プレーヤーで使用できるレンダラーの 1 つです。
- Rebol言語インタープリターのグラフィカル バージョンは、スケーラブルなベクター グラフィックスの DRAW 方言として AGG を使用しています。
- Hilti は、PS 1000 などの一部の鉄筋検出ツールにこれを使用しています。
- Matplotlibは対話型ユーザーインターフェースの標準的なレンダラーとしてAGGを使用します。[2]
- fpGUI ToolkitにはオプションのAggPasバックエンドレンダリングエンジンがあります。[3] AggPasをfpGUIのデフォルトまたは唯一のレンダリングエンジンにする作業が進行中です。
- OpenStreetMapウェブサイト上の地図をレンダリングするツールキットであるMapnikは、すべての地図レンダリングにAGGを使用しています。[4]
- HTTPhotos は写真の拡大縮小に AGG を使用します。
- Google Chromeが使用するPDFレンダリングエンジンであるPdfiumはAGGを使用していますが[5]、これをSkia Graphics Engineに置き換える作業が進行中です。[6]
- .NETイメージングSDKであるGraphics Millは、描画エンジンとしてAGGを使用しています。[7]
- デジタルオーディオワークステーションであるImage-Line FL Studioは、2012年9月30日にリリースされたバージョン10.8以降、描画にAGGを使用しています。 [8]
- Native Instrumentsの Supercharger および Supercharger GT コンプレッサーは、ユーザー インターフェイスに AGG を使用します。
著者
ライブラリの主な作者はマキシム・シェマナレフ(ロシア語:Максим Шеманарёв)でした。2013年11月26日、シェマナレフ(1966年6月15日、ロシア、ニジニ・ノヴゴロド生まれ)は、米国メリーランド州コロンビアの自宅で47歳で死亡したと報告されました。彼は突然亡くなり、しばらく患っていたてんかん発作が原因とされています。 [注 1] [9] [10]彼はニジニ・ノヴゴロド国立工科大学を卒業しました。彼の私生活についてはほとんど知られていません。ただし、彼が離婚しており、死亡時には母親が存命だったことはわかっています。彼はスキー、スノーボード(コロラド州)、インラインスケートが大好きでした。[注 2]彼は友人からインテリジェントなプログラミングスキルを称賛されていました。[9]
注記
- ^この情報は主に、彼がよく訪れていたロシアのオンラインフォーラムRSDNと VKontakteの個人ページから得たものである。
- ^ これは彼が2012年3月にYouTubeに公開したいくつかのビデオからも明らかです。
参考文献
- ^ 「Anti-Grain Geometry Library」. 2021年5月28日.
- ^ 「Matplotlib ドキュメント - Matplotlib の使用 - 図とバックエンド - バックエンド」。2023 年 9 月 26 日閲覧。
- ^ 「fpGUI Toolkit ニュース」。2012年4月23日時点のオリジナルよりアーカイブ。2013年5月14日閲覧。
- ^ 「Mapnik wiki」.
- ^ 「Pdfium Source」 。 2016年12月23日閲覧。
- ^ 「11 - Skia サポート - pdfium」。2022 年4 月 23 日閲覧。
- ^ 「Graphics Mill Documentation」 。 2015年8月16日閲覧。
- ^ “History - FL Studio 10.8 (beta)”。2019年5月3日時点のオリジナルよりアーカイブ。2019年5月4日閲覧。
- ^ ab "Максим Шеманарев aka McSeem2、1966-2013 - О жизни - RSDN" [Maxim Shemanaev aka McSeem2、1966-2014 - About life - RSDN]。 2013 年 11 月 28 日。2016 年 3 月 4 日のオリジナルからアーカイブ。2021 年10 月 3 日に取得。
- ^ “RIP Maxim Shemanarev”. vector-agg-general.narkive.com . 2021年10月3日閲覧。
外部リンク
- オリジナルの BSD ライセンスを維持する v2.4 の更新されたフォーク。
- オリジナルの BSD ライセンスを維持する、GitHub 上の v2.6 の更新されたフォーク。
- agg-sharp は c++ ライブラリの c# ポートです。
- AggPas は、C++ ライブラリの Object Pascal ポートです。
- AggPasMod は、C++ ライブラリの最新化された Object Pascal ポートです。
- AntiGrainRT は、Windows ストアおよび Windows Phone 用の WinRT ラッパーです。
