tags:

views:

2198

answers:

5

Does anyone have any experience or knowledge of the OpenVG implementations that exist and which one(s) are the best? What I'm looking for is a highly stable, fast rendering implementations that is still being actively maintained and developed.

Any knowledge or experiences you may have with any of the implementations out there would save me a ton of time.

Thanks in advance.

A: 

Looks like no one knows much about it, and I confess I don't either. I'm as much Google-bound as anyone. The first places to look would appear to be Khronos and Wikipedia

boost
I've read through the Khronos specs on it and I plan to post an answer myself shortly with my findings. I'm just a little shocked at how little there is out there about it.
Fostah
+4  A: 

Hi, 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.

NOTE: The reference Implementation is incredibly slow. Where ShivaVG get 60 fps to render the tiger example, the reference takes about 13 second to render it once.
Fostah
A: 

Thanks for the posts. D L, your list is very comprehensive as there just isn't that much out there for OpenVG support at this time. One other implementation I found was:

  • Zack Rusin: OpenVG - This implementations is built with Qt's OpenGL implementation. As with ShivaVG, it has not been updated in quite a while but it is also open source.

I'm going to make this public and hope we get more feedback in the future on other implementations.

Fostah
A: 

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.

+1  A: 

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

micahp