OpenVG

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
OpenVG
OpenVG logo
Developer(s) Khronos Group, Inc.
Stable release 1.1 / December 3, 2008
Operating system Cross-platform
Type API
License Various
Website www.khronos.org/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. OpenVG is well suited[citation needed] to accelerating Flash and mobile profile of SVG sequences. 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 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 Zack Rusin from Tungsten Graphics added OpenVG state tracker to Mesa 3D, which enables SVG vector graphics to be hardware accelerated by any Gallium3D-based driver.

On 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.[1]
  • AMD/ATI Z160 and Z180 OpenVG 1.x Graphics core.[2] Implemented in the Freescale i.MX35, i.MX51 and i.MX53.[3][4] IP sold to Qualcomm and rebranded "Adreno" for Snapdragon cores.[5]
  • ARM Mali Graphics Processing Units[6]
  • Broadcom BCM4760 SoC - Announced 01/June/09. BCM4760 Contains “an OpenGL(R) ES 1.1/OpenVG(TM) 1.0-compliant graphics processor”[7]
  • Digital Media Professionals Inc.(DMP Inc.) SMAPH-F(dandelion VG)[8]
  • Imagination PowerVR VGX150 OpenVG 1.1[9]
  • 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[10][11]
  • Takumi GV500 - GV300, GV500 Graphics Accelerator IP-Core[12]
  • Think Silicon ThinkVG Graphics Core OpenVG 1.1[13]
  • 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[14][15]
  • Adreno GPUs support OpenVG 1.1. Qualcomm provides an SDK for Android.[16]

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)[17]

For media accelerators

  • HuOne 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 OpenVG - 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.[18]
  • HuOne 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).”[19]
  • MonkVG (only "OpenVG like")[20] - open source (BSD)
  • ShivaVG - open source (LGPL)

In software

  • Khronos OpenVG Sample implementation
  • HuOne AlexVG - First released in Sep/2005
  • Mazatech AmanithVG SRE - Claim “Thanks to its original polygon rasterization algorithm and dedicated optimized scanline fillers, this engine constitutes the fastest OpenVG software rendering solution available on the market.”[19]
  • 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.[21] Cairo can use OpenVG as a backend.
  • Direct2D
  • Skia Graphics Engine
  • Starling Framework

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Freescale applications processor with native OpenVG1.1 acceleration
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. http://sev.prnewswire.com/null/20090601/LA2504201062009-1.html
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. [1] Archived June 10, 2009 at the Wayback Machine
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. POWERVR SGX520, SGX530 and SGX535 graphics cores with OpenVG 1.1 support
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. ThinkVG Graphics Core OpenVG 1.1
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. Adreno SDK on QDevNet. https://developer.qualcomm.com/discover/chipsets-and-modems/adreno-gpu . Retrieved 2013-07-24.
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. [2] Archived April 11, 2009 at the Wayback Machine
  19. 19.0 19.1 Lua error in package.lua at line 80: module 'strict' not found.
  20. Lua error in package.lua at line 80: module 'strict' not found.
  21. comparison between OpenVG-1.O and cairo API
General

External links