Software:OpenVG

From HandWiki
Short description: Software
OpenVG
OpenVG logo
Developer(s)Khronos Group, Inc.
Stable release
OpenVG 1.1 Lite Provisional / May 2020; 3 years ago (2020-05)[1]
Operating systemCross-platform
TypeAPI
LicenseVarious
Websitewww.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. 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

  1. "OpenVG - the Standard for Vector Graphics Acceleration". 19 July 2011. https://www.khronos.org/openvg/. 
  2. "SH7268, SH7269 | Renesas Electronics". Renesas.com. http://www.renesas.com/products/mpumcu/superh/sh7260/sh7268/sh7268_root.jsp. 
  3. "AMD unveils multimedia products for media-rich mobile devices". Videsignline.com. http://www.videsignline.com/showArticle.jhtml?articleID=206504267. 
  4. "i.MX357 Product Summary Page". Freescale.com. http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX357&fsrch=1. 
  5. Freescale applications processor with native OpenVG1.1 acceleration
  6. Scott Ferguson (2009-01-20). "AMD Sells Handset Division to Qualcomm for $65 Million". Eweek.com. http://www.eweek.com/c/a/Mobile-and-Wireless/AMD-Sells-Handset-Division-to-Qualcomm-for-65-Million/. 
  7. "Mali-400 MP". ARM. http://www.arm.com/products/multimedia/mali-graphics-hardware/mali-400-mp.php. 
  8. "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". http://sev.prnewswire.com/null/20090601/LA2504201062009-1.html. 
  9. "Products & Services | Digital Media Professionals Inc". Dmprof.com. http://www.dmprof.com/english/e_products/. 
  10. [1]
  11. "PowerVR SGX Series5 Graphics IP Core Family". Imgtec.com. http://www.imgtec.com/powervr/sgx_series5.asp. 
  12. POWERVR SGX520, SGX530 and SGX535 graphics cores with OpenVG 1.1 support
  13. "Product Information|TAKUMI Corporation" (in ja). Gshark.com. http://www.gshark.com/en/products/index.html. 
  14. "ThinkVG Graphics Core OpenVG 1.1". http://www.think-silicon.com/product_Vector2D_Graphics.php. 
  15. "Vivante IP Catalog". http://www.chipestimate.com/vendorlist.php?v=331. 
  16. "Vivante Graphics Processor IP". http://vivantecorp.com/p_mvr.html. 
  17. "Adreno SDK on QDevNet". https://developer.qualcomm.com/discover/chipsets-and-modems/adreno-gpu. 
  18. "[Phoronix] Gallium3D Picks Up Networking Support". Phoronix.com. 2009-06-01. https://www.phoronix.com/scan.php?page=news_item&px=NzI5OQ. 
  19. [2]
  20. "HuOne AlexVG-forge". http://www.hu1.com/english/B-02-f.html. 
  21. Michele Fabbri. "AmanithVG project". Amanith.org. http://www.amanith.org/project.html. 
  22. micahpearlman. "micahpearlman/MonkVG · GitHub". Github.com. https://github.com/micahpearlman/MonkVG. 
  23. ShivaVG
  24. Takuma Hayashi. "tqm-dev/ShaderVG · GitHub". Github.com. https://github.com/tqm-dev/ShaderVG. 
  25. comparison between OpenVG-1.O and cairo API
General

External links