. AmanithVG project
_ __ ___The Project___ __ _
1. Introduction

AmanithVG is a commercial implementation of OpenVG 1.1 and 1.0.1, the application programming interface (API) for hardware accelerated 2D vector and raster graphics, created by the Khronos group.
Born as a "OpenVG on OpenGL / OpenGL ES" engine, AmanithVG evolved into two different OpenVG graphic libraries.

AmanithVG GLE is entirely built on top of OpenGL 1.1+ and OpenGL ES 1.x CM, and it uses extensions where available.
This engine can grant high quality vector graphics on a wide range of 3D chipset already available on the market (including the mobile market), achieving better performance than software rasterizers in terms of high resolution animations and complex special effects (transparencies, fading, realtime rotoscaling and many others).

AmanithVG SRE is a pure software solution that grants a superlative vector graphics quality without to sacrifice performance on any kind of architecture / platform. Thanks to its original polygon rasterization algorithm and dedicated optimized scanline fillers, this engine constitues the fastest OpenVG software rendering solution available on the market.

At the moment, Mazatech S.r.l. is not a Khronos member and makes no claim that AmanithVG is in any way a conformant nor compliant OpenVG implementation.

2. Technical choices

AmanithVG has been designed to run everywhere. To accomplish this task the development process has followed strict technical choices:

  • Use of pure ANSI C language, avoiding the use of any third party libraries.
  • Use of advanced caching techniques at different levels (curve flattening, stroking).
  • High and easy customization capability through simple hardware independent thresholds.
  • Modular and flexible architecture to simplify new extensions integration.
  • Fast and robust fixed-point polygon triangulation (AmanithVG GLE).
  • Minimization of the CPU usage, moving the most complex tasks on the 3D chipset / GPU (AmanithVG GLE).
  • Dynamic rendering pipelines, according to underlying 3D hardware features / extensions (AmanithVG GLE).
  • Use of few smart software fallbacks on very old hardware (AmanithVG GLE).
  • Fast and robust fixed-point polygon rasterizer (AmanithVG SRE).
  • Use of dedicated optimized scanline fillers, instead of a slow monolithic pixel pipeline (AmanithVG SRE).
3. Roadmap

Mar 2009 - AmanithVG 4.0 - Done, Mar 03, 2009
   Added OpenVG 1.1 features.
   Added few smart software fallbacks to support the whole OpenVG pipeline, in AmanithVG GLE.
   Re-engineered GLE and SRE as rendering backends, in order to have a single source code tree.
   Added support for QNX operating system.
   Added support for x86_64, PowerPC, SH4 and XScale architectures.

Jul 2008 - AmanithVG 3.0 - Done, Jul 28, 2008
   Fully rewritten the geometric core of both engines, including:
    - Curve flattening.
    - Robust fixed point polygon triangulator.
    - Robust fixed point polygon rasterizer.

Feb 2008 - AmanithVG 2.0 - Done, Feb 23, 2008
   Removed support for GLSL pipeline (OpenGL ES 2.0), and renamed to AmanithVG GLE.
   Added a brand new pure software rasterization engine, now known as AmanithVG SRE.
   Added OpenVG 1.0.1 features.

Mar 2007 - AmanithVG 1.6 - Done, Mar 19, 2007
   Windows CE and BREW support.

Feb 2007 - AmanithVG 1.5 - Done, Feb 24, 2007
   Added support for Symbian S60 3rd edition and Linux embedded.
   Added support for ARM9, ARM11, ARM11+VFP architectures.
   Tested on Texas Instruments OMAP2420 and Freescale i.MX31 SoCs.

Oct 2006 - AmanithVG 1.0 - Done, Jan 15, 2007
   Added OpenGL ES 1.1 and OpenGL ES 2.0 pipelines.

Sep 2006 - AmanithVG second technology preview - Done, Sep 04, 2006
   Added support for non-zero fill rule, stencil image mode (GLSL), Vgu 1.0.
   Added a set of proprietary extensions.

Jul 2006 - AmanithVG first technology preview - Done, Jul 10, 2006
   All OpenVG 1.0 calls available, with the exclusion of: non-zero fill rule, stencil image mode, Vgu 1.0.
   Only OpenGL pipeline.




AmanithVG is a trademark of Mazatech S.r.l.
Khronos and OpenVG are trademarks of The Khronos Group, Inc.
OpenGL is a registered trademark and OpenGL|ES is a trademark of Silicon Graphics, Inc.
SVG is a trademark of the World Wide Web Consortium.
PostScript, PDF and Flash are registered trademark of Adobe Systems, Inc.
Java is a registered trademark of Sun Microsystems, Inc.
All other trademarks, icons, and logos, shown or mentioned in this site, are property of their respective owners.