# OpenVG

OpenVG is an API designed for hardware-accelerated 2D vector graphics. Its primary platforms are mobile phones, gaming & media consoles and consumer electronic devices. It was designed to help manufacturers create more attractive user interfaces by offloading computationally intensive graphics processing from the CPU onto a GPU to save energy. The OpenGL ES library provides similar functionality for 3D graphics. OpenVG is managed by the non-profit technology consortium Khronos Group.

## History

The OpenVG group was formed on July 6, 2004 by a selection of major firms including 3Dlabs, Bitboys, Ericsson, Hybrid Graphics, Imagination Technologies, Motorola, Nokia, PalmSource, Symbian, and Sun Microsystems. Other firms including chip manufacturers ATI, LG Electronics, Mitsubishi Electric, NVIDIA, and Texas Instruments and software- and/or IP vendors DMP, Esmertec, ETRI, Falanx Microsystems, Futuremark, HI Corporation, Ikivo, HUONE (formerly MTIS), Superscape, and Wow4M have also participated in the working group. The first draft specification from the group was made available at the end of 2004, and the 1.0 version of the specification was released on August 1, 2005.
On January 16, 2007, Zack Rusin from Tungsten Graphics announced the start of an independent open-source implementation of OpenVG built on top of QtOpenGL.
Shortly after, Ivan Leben started another open-source project to implement an ANSI C implementation of the specification on top of OpenGL.
Since February 27, 2007 the OpenVG Sample Reference Implementation is available from the Khronos Website under MIT open source license.
On December 9, 2008, the Khronos Group publicly released the OpenVG 1.1 Specification. This latest revision includes glyph rendering for accelerated text, improved anti-aliasing, and Flash support. An updated reference implementation is also provided, as well as a conformance test suite.
On May 1, 2009 Rusin added OpenVG state tracker to Mesa, which enables SVG vector graphics to be hardware accelerated by any Gallium3D-based driver. It was removed again in Mesa 10.6 on June 15, 2015.
In September 2011 OpenVG working group decided not to make any regular meeting for further standardization. However, working group decided to continue maintenance and promotion of OpenVG 1.1 specification.

## Implementations
### In hardware

* Renesas SuperH SH2A based SH7269 solution. Developed for low system-cost embedded GUIs, with up to 2.5MB of embedded SRAM for picture-buffer.
* AMD/ATI Z160 and Z180 OpenVG 1.x Graphics core. Implemented in the Freescale i.MX35, i.MX51 and i.MX53. IP sold to Qualcomm and rebranded "Adreno" for Snapdragon cores.
* ARM Mali Graphics Processing Units
* Broadcom BCM4760 SoC – Announced 01/June/09. BCM4760 Contains “an OpenGL(R) ES 1.1/OpenVG(TM) 1.0-compliant graphics processor”
* Digital Media Professionals Inc.(DMP Inc.) SMAPH-F(dandelion VG)
* Imagination PowerVR VGX150 OpenVG 1.1
* Imagination PowerVR SGX Series5 – API support includes OpenGL ES 1.1/2.0, OpenVG 1.1, OpenGL 2.0/3.0 and DirectX9/10.1
* Takumi GV500 – GV300, GV500 Graphics Accelerator IP-Core
* Think Silicon ThinkVG Graphics Core OpenVG 1.1
* Vivante GC350 (2D graphics core) OpenVG 1.1
* Vivante GC400 and above are 3D graphics cores supporting OpenGL ES 2.0 and OpenVG 1.1
* Adreno GPUs support OpenVG 1.1. Qualcomm provides an SDK for Android.

### For GPUs

* Mesa Gallium3D – VMware/Tungsten Graphics provides an OpenVG implementations for cards with Gallium drivers (Gallium drivers for nVidia, AMD/ATI, and VMware are available). OpenVG has been removed from Mesa in version 10.6.

### For media accelerators

* Hanwha Systems AlexVG-forma – Accelerating Vector Graphics API on Media acceleration hardware. Using horse power of Multimedia or 2D bitmap graphics hardware.

### On OpenGL, OpenGL ES

* Hooked Wireless OpenVG – complete implementation of both OpenVG 1.01 and OpenVG 1.1, implemented on top of OpenGL ES, and is fully conformant. Claim “It leverages proprietary technology from Hooked in the areas of tessellation and triangulation for shapes and curve.” First released in Feb/2008.
* Hanwha Systems AlexVG-forge – An OpenVG engine which is 2D vector graphic standard by using the graphic chip that supports OpenGL/OpenGL ES.
* Mazatech AmanithVG GLE – commercial. Built on top of OpenGL 1.1+ and OpenGL ES 1.x. Claim “achieving better performance than software rasterizers in terms of high resolution animations and complex special effects (transparencies, fading, realtime rotoscaling and many others).”
* MonkVG – open source (BSD), only "OpenVG like"
* ShivaVG – open source (LGPL)
* ShaderVG – based on ShivaVG but implements draw calls GLSL shaders

### In software

* Khronos OpenVG Reference implementation
* Hanwha Systems AlexVG – First released in Sep/2005
* Mazatech AmanithVG – OpenVG crossplatform library with pure software and OpenGL (/ES 1.1) rendering backends
* Vega – Gallium3D state tracker
* GingkoVG