OpenVG implementation? [closed]

Which OpenVG implementations exists?

What are pros and cons of each of them?

I'm looking for is a highly stable, fast rendering implementations that is still being actively maintained and developed.


Solution 1:

I've worked with OpenVG a little bit, and there aren't a lot of implementations out there. I happen to use ShivaVG, which uses OpenGL, but it hasn't been updated in a while Some other implementations include:

  • The reference implementation (I've found it to be incredibly slow; however, there aren't any others that currently are up to 1.1 yet (The OpenVG 1.1 standard came out early December)

  • GingkoVG - binary only and uses its own windowing system (but hey, all of them do anyways).

  • AmanithVG - commercial; looks pretty polished. I think there used to be a free version, but I can't seem to find it.

  • KompazzVG/AntigrainVG - an implementation using AGG; looks great, but the author hasn't publicly released any code, although there is a project site and a mysterious svn trunk.

Mind you, these are all implementations for the desktop; I'm not sure what the actual hardware support is on mobile devices.

Personally, I would consider ShivaVG the best just because it supports enough features to do most things, and it's fast. There are some unfixed bugs, but hey, the source code is open.

Incidentally, the SF site for ShivaVG is here; you'd probably want to use the trunk version, not the numbered release because it's slightly more up-to-date. Also the KompazzVG trunk might be here.

Solution 2:

MonkVG is an OpenVG 1.1 like vector graphics API implementation currently using an OpenGL ES backend that should be compatible with any HW that supports OpenGL ES 2.0 which includes most iOS and Android devices.

This is an open source BSD licensed project that is in active development. At the time of this writing it is in a very early pre-release state (very minimal features implemented). Contributors and sponsors welcome.

It can be found at GitHub http://github.com/micahpearlman/MonkVG

Solution 3:

AmanithVG SRE (software rasterization engine) and GLE (OpenGL ES aided rasterization engine) boths implement the whole OpenVG 1.1 and OpenVG 1.0.1 feature set.

Evaluation builds of both engines are available for download on the AmanithVG website.

AmanithVG internal testsuite results, as well as tests sources, are browsable at GLE tests page and SRE tests page.

AmanithVG SRE and GLE are available for the following target platforms:

Windows 2000 / XP / Vista, on x86, x86_64;

Windows CE / Mobile, on ARM v5, v6 (with or without VFP);

MacOS X 10.4 / 10.5, on PowerPC, Intel (Universal Binary);

Linux 2.6.x, on x86, x86_64, PowerPC, ARM v5, v6 (with or without VFP), SH4;

QNX 6.4.x on x86, PowerPC, ARM v6, SH4.