OpenVG
Template:Short description Template:Infobox software
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 ShivaVG, 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
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.<ref>Template:Cite web</ref>
- AMD/ATI Z160 and Z180 OpenVG 1.x Graphics core.<ref>Template:Cite web</ref> Implemented in the Freescale i.MX35, i.MX51 and i.MX53.<ref>Template:Cite web</ref><ref>Freescale applications processor with native OpenVG1.1 acceleration</ref> IP sold to Qualcomm and rebranded "Adreno" for Snapdragon cores.<ref>Template:Cite web</ref>
- ARM Mali Graphics Processing Units<ref>Template:Cite web</ref>
- Broadcom BCM4760 SoC – Announced 01/June/09. BCM4760 Contains “an OpenGL(R) ES 1.1/OpenVG(TM) 1.0-compliant graphics processor”<ref>Template:Cite web</ref>
- Digital Media Professionals Inc.(DMP Inc.) SMAPH-F(dandelion VG)<ref>Template:Cite web</ref>
- Imagination PowerVR VGX150 OpenVG 1.1<ref>Template:Cite web</ref>
- 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<ref>Template:Cite web</ref><ref>Template:Cite web</ref>
- Takumi GV500 – GV300, GV500 Graphics Accelerator IP-Core<ref>Template:Cite web</ref>
- Think Silicon ThinkVG Graphics Core OpenVG 1.1<ref>Template:Cite web</ref>
- 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<ref>Template:Cite web</ref><ref>Template:Cite web</ref>
- Adreno GPUs support OpenVG 1.1. Qualcomm provides an SDK for Android.<ref>Template:Cite web</ref>
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).<ref>Template:Cite web</ref> 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.<ref>Template:Cite web</ref>
- Hanwha Systems AlexVG-forge – An OpenVG engine which is 2D vector graphic standard by using the graphic chip that supports OpenGL/OpenGL ES.<ref>Template:Cite web</ref>
- 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).”<ref name="amanith1">Template:Cite web</ref>
- MonkVG – open source (BSD), only "OpenVG like"<ref>Template:Cite web</ref>
- ShivaVG – open source (LGPL)<ref>ShivaVG</ref>
- ShaderVG – based on ShivaVG but implements draw calls GLSL shaders<ref>Template:Cite web</ref>
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
See also
- cairo – 2D cross platform graphical vectorial draw and text toolkit. OpenVG-1.x and cairo API differ in scope as cairo attempts to unify printing output across multiple backends with support for text.<ref>comparison between OpenVG-1.O and cairo API</ref> Cairo can use OpenVG as a backend.
- Direct2D
- Skia Graphics Engine
- Starling Framework
References
- General
- Public forums
- Public registry
- OpenVG Conformant companies
- OpenVG 1.1 Specification
- Khronos Press Release — Khronos Invites Public Review of Draft OpenVG Specification
- Khronos Press Release — Khronos Group Releases OpenVG 1.0 Specification
- BitBoys Press Release — Bitboys Introduces Vector Graphics Processor for Mobile Devices
- OpenVG 1.1 Press Release
- OpenVG 1.1 Specification