OpenVG
![]() | |
Developer(s) | Khronos Group, Inc. |
---|---|
Stable release | OpenVG 1.1 Lite Provisional / May 2020; 4 years ago (2020-05)[1] |
Operating system | Cross-platform |
Type | API |
License | Various |
Website | www |
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.
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.[2]
- AMD/ATI Z160 and Z180 OpenVG 1.x Graphics core.[3] Implemented in the Freescale i.MX35, i.MX51 and i.MX53.[4][5] IP sold to Qualcomm and rebranded "Adreno" for Snapdragon cores.[6]
- ARM Mali Graphics Processing Units[7]
- Broadcom BCM4760 SoC – Announced 01/June/09. BCM4760 Contains “an OpenGL(R) ES 1.1/OpenVG(TM) 1.0-compliant graphics processor”[8]
- Digital Media Professionals Inc.(DMP Inc.) SMAPH-F(dandelion VG)[9]
- Imagination PowerVR VGX150 OpenVG 1.1[10]
- 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[11][12]
- Takumi GV500 – GV300, GV500 Graphics Accelerator IP-Core[13]
- Think Silicon ThinkVG Graphics Core OpenVG 1.1[14]
- 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[15][16]
- Adreno GPUs support OpenVG 1.1. Qualcomm provides an SDK for Android.[17]
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).[18] 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.[19]
- Hanwha Systems AlexVG-forge – An OpenVG engine which is 2D vector graphic standard by using the graphic chip that supports OpenGL/OpenGL ES.[20]
- 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).”[21]
- MonkVG – open source (BSD), only "OpenVG like"[22]
- ShivaVG – open source (LGPL)[23]
- ShaderVG – based on ShivaVG but implements draw calls GLSL shaders[24]
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
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.[25] Cairo can use OpenVG as a backend.
- Direct2D
- Skia Graphics Engine
- Starling Framework
References
- ^ "OpenVG - the Standard for Vector Graphics Acceleration". 19 July 2011.
- ^ "SH7268, SH7269 | Renesas Electronics". Renesas.com. Archived from the original on 2011-07-06. Retrieved 2012-03-11.
- ^ "AMD unveils multimedia products for media-rich mobile devices". Videsignline.com. Archived from the original on 2011-08-09. Retrieved 2012-03-11.
- ^ "i.MX357 Product Summary Page". Freescale.com. Retrieved 2012-03-11.
- ^ Freescale applications processor with native OpenVG1.1 acceleration
- ^ Scott Ferguson (2009-01-20). "AMD Sells Handset Division to Qualcomm for $65 Million". Eweek.com. Retrieved 2013-06-16.
- ^ "Mali-400 MP". ARM. Retrieved 2013-06-16.
- ^ "Broadcom Corporation; BRCM Mobile & Wireless :: Broadcom's 'PND-on-a-Chip' Integrates Advanced, Low Power GPS Capabilities with Powerful Applications Processing for Stunning Graphical Navigation". Archived from the original on 2009-06-27. Retrieved 2009-06-03.
- ^ "Products & Services | Digital Media Professionals Inc". Dmprof.com. Archived from the original on 2012-03-10. Retrieved 2012-03-11.
- ^ [1] Archived June 10, 2009, at the Wayback Machine
- ^ "PowerVR SGX Series5 Graphics IP Core Family". Imgtec.com. Retrieved 2012-03-11.
- ^ POWERVR SGX520, SGX530 and SGX535 graphics cores with OpenVG 1.1 support
- ^ "Product Information|TAKUMI Corporation" (in Japanese). Gshark.com. Retrieved 2012-03-11.
- ^ "ThinkVG Graphics Core OpenVG 1.1". Archived from the original on 2012-08-01. Retrieved 2012-09-13.
- ^ "Vivante IP Catalog". Retrieved December 13, 2011.
- ^ "Vivante Graphics Processor IP". Archived from the original on December 1, 2011. Retrieved December 13, 2011.
- ^ "Adreno SDK on QDevNet". Retrieved 2013-07-24.
- ^ "[Phoronix] Gallium3D Picks Up Networking Support". Phoronix.com. 2009-06-01. Retrieved 2012-03-11.
- ^ [2] Archived April 11, 2009, at the Wayback Machine
- ^ "HuOne AlexVG-forge". Archived from the original on 2016-04-22. Retrieved 2013-03-27.
- ^ Michele Fabbri. "AmanithVG project". Amanith.org. Archived from the original on 2012-03-02. Retrieved 2012-03-11.
- ^ micahpearlman. "micahpearlman/MonkVG · GitHub". Github.com. Retrieved 2012-03-11.
- ^ ShivaVG
- ^ Takuma Hayashi. "tqm-dev/ShaderVG · GitHub". Github.com. Retrieved 2023-03-01.
- ^ comparison between OpenVG-1.O and cairo API
- 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
External links
- Official website
- Ivan Leben's ANSI C OpenVG implementation
- Zack Rusin's OpenVG Implementation over QtOpenGL (from Qt 4.3)
- GingkoVG