OpenVG

Last updated
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.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.

Contents

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

For GPUs

For media accelerators

On OpenGL, OpenGL ES

In software

See also

Related Research Articles

<span class="mw-page-title-main">OpenGL</span> Cross-platform graphics API

OpenGL is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardware-accelerated rendering.

<span class="mw-page-title-main">Graphics processing unit</span> Specialized electronic circuit; graphics accelerator

A graphics processing unit (GPU) is a specialized electronic circuit initially designed for digital image processing and to accelerate computer graphics, being present either as a discrete video card or embedded on motherboards, mobile phones, personal computers, workstations, and game consoles. After their initial design, GPUs were found to be useful for non-graphic calculations involving embarrassingly parallel problems due to their parallel structure. Other non-graphical uses include the training of neural networks and cryptocurrency mining.

<span class="mw-page-title-main">Radeon</span> Brand of computer products

Radeon is a brand of computer products, including graphics processing units, random-access memory, RAM disk software, and solid-state drives, produced by Radeon Technologies Group, a division of AMD. The brand was launched in 2000 by ATI Technologies, which was acquired by AMD in 2006 for US$5.4 billion.

OpenMAX, often shortened as "OMX", is a non-proprietary and royalty-free cross-platform set of C-language programming interfaces. It provides abstractions for routines that are especially useful for processing of audio, video, and still images. It is intended for low power and embedded system devices that need to efficiently process large amounts of multimedia data in predictable ways, such as video codecs, graphics libraries, and other functions for video, image, audio, voice and speech.

The Khronos Group, Inc. is an open, non-profit, member-driven consortium of 170 organizations developing, publishing and maintaining royalty-free interoperability standards for 3D graphics, virtual reality, augmented reality, parallel computation, vision acceleration and machine learning. The open standards and associated conformance tests enable software applications and middleware to effectively harness authoring and accelerated playback of dynamic media across a wide variety of platforms and devices. The group is based in Beaverton, Oregon.

<span class="mw-page-title-main">OpenGL ES</span> Subset of the OpenGL API for embedded systems

OpenGL for Embedded Systems is a subset of the OpenGL computer graphics rendering application programming interface (API) for rendering 2D and 3D computer graphics such as those used by video games, typically hardware-accelerated using a graphics processing unit (GPU). It is designed for embedded systems like smartphones, tablet computers, video game consoles and PDAs. OpenGL ES is the "most widely deployed 3D graphics API in history".

PowerVR is a division of Imagination Technologies that develops hardware and software for 2D and 3D rendering, and for video encoding, decoding, associated image processing and DirectX, OpenGL ES, OpenVG, and OpenCL acceleration. PowerVR also develops AI accelerators called Neural Network Accelerator (NNA).

<span class="mw-page-title-main">Mesa (computer graphics)</span> Free and open-source library for 3D graphics rendering

Mesa, also called Mesa3D and The Mesa 3D Graphics Library, is an open source implementation of OpenGL, Vulkan, and other graphics API specifications. Mesa translates these specifications to vendor-specific graphics hardware drivers.

<span class="mw-page-title-main">OpenGL Shading Language</span> High-level shading language

OpenGL Shading Language (GLSL) is a high-level shading language with a syntax based on the C programming language. It was created by the OpenGL ARB to give developers more direct control of the graphics pipeline without having to use ARB assembly language or hardware-specific languages.

<span class="mw-page-title-main">Free and open-source graphics device driver</span> Software that controls computer-graphics hardware

A free and open-source graphics device driver is a software stack which controls computer-graphics hardware and supports graphics-rendering application programming interfaces (APIs) and is released under a free and open-source software license. Graphics device drivers are written for specific hardware to work within a specific operating system kernel and to support a range of APIs used by applications to access the graphics hardware. They may also control output to the display if the display driver is part of the graphics hardware. Most free and open-source graphics device drivers are developed by the Mesa project. The driver is made up of a compiler, a rendering API, and software which manages access to the graphics hardware.

Adreno is a series of graphics processing unit (GPU) semiconductor intellectual property cores developed by Qualcomm and used in many of their SoCs.

<span class="mw-page-title-main">VideoCore</span> Low-power mobile multimedia processor

VideoCore is a series of low-power mobile multimedia processors originally developed by Alphamosaic Ltd and now owned by Broadcom. Alphamosaic marketed its first version as a two-dimensional DSP architecture that makes it flexible and efficient enough to decode a number of multimedia codecs in software while maintaining low power usage. The semiconductor intellectual property core has been found so far only on Broadcom SoCs.

<span class="mw-page-title-main">OpenCL</span> Open standard for programming heterogenous computing systems, such as CPUs or GPUs

OpenCL is a framework for writing programs that execute across heterogeneous platforms consisting of central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), field-programmable gate arrays (FPGAs) and other processors or hardware accelerators. OpenCL specifies a programming language for programming these devices and application programming interfaces (APIs) to control the platform and execute programs on the compute devices. OpenCL provides a standard interface for parallel computing using task- and data-based parallelism.

<span class="mw-page-title-main">Skia Graphics Engine</span> Open source graphics library written in C++

The Skia Graphics Engine or Skia is an open-source 2D graphics library written in C++. Skia abstracts away platform-specific graphics APIs. Skia Inc. originally developed the library; Google acquired it in 2005, and then released the software as open source licensed under the New BSD free software license in 2008.

Vivante Corporation was a fabless semiconductor company headquartered in Sunnyvale, California, with an R&D center in Shanghai, China. The company was founded in 2004 as GiQuila and focused on the portable gaming market. The company's first product was a DirectX-compatible graphics processing unit (GPU) capable of playing PC games. In 2007, GiQuila changed its name to Vivante and shifted the direction of the company to the design and licensing of embedded graphics processing unit designs. The company licensed its Mobile Visual Reality to semiconductor solution providers, serving embedded computing markets for mobile gaming, high-definition home entertainment, image processing, and automotive display and entertainment.

<span class="mw-page-title-main">WebGL</span> JavaScript bindings for OpenGL in web browsers

WebGL is a JavaScript API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-ins. WebGL is fully integrated with other web standards, allowing GPU-accelerated usage of physics, image processing, and effects in the HTML canvas. WebGL elements can be mixed with other HTML elements and composited with other parts of the page or page background.

<span class="mw-page-title-main">EGL (API)</span> Application programming interface

EGL is an interface between Khronos rendering APIs and the underlying native platform windowing system. EGL handles graphics context management, surface/buffer binding, rendering synchronization, and enables "high-performance, accelerated, mixed-mode 2D and 3D rendering using other Khronos APIs." EGL is managed by the non-profit technology consortium Khronos Group.

Adaptive scalable texture compression (ASTC) is a lossy block-based texture compression algorithm developed by Jørn Nystad et al. of ARM Ltd. and AMD.

<span class="mw-page-title-main">Imageon</span>

Imageon was a series of media coprocessors and mobile chipsets produced by ATI in 2002–2008, providing graphics acceleration and other multimedia features for handheld devices such as mobile phones and Personal Digital Assistants (PDAs). AMD later sold the Imageon mobile handheld graphics division to Qualcomm in 2009, where it was used exclusively inside their Snapdragon SoC processors under the Adreno brand name.

Vulkan is a low-level, low-overhead cross-platform API and open standard for 3D graphics and computing. It was intended to address the shortcomings of OpenGL, and allow developers more control over the GPU. It is designed to support a wide variety of GPUs, CPUs and operating systems, and it is also designed to work with modern multi-core CPUs.

References

  1. "OpenVG - the Standard for Vector Graphics Acceleration". 19 July 2011.
  2. "SH7268, SH7269 | Renesas Electronics". Renesas.com. Archived from the original on 2011-07-06. Retrieved 2012-03-11.
  3. "AMD unveils multimedia products for media-rich mobile devices". Videsignline.com. Archived from the original on 2011-08-09. Retrieved 2012-03-11.
  4. "i.MX357 Product Summary Page". Freescale.com. Retrieved 2012-03-11.
  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. Retrieved 2013-06-16.
  7. "Mali-400 MP". ARM. Retrieved 2013-06-16.
  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". Archived from the original on 2009-06-27. Retrieved 2009-06-03.
  9. "Products & Services | Digital Media Professionals Inc". Dmprof.com. Archived from the original on 2012-03-10. Retrieved 2012-03-11.
  10. Archived June 10, 2009, at the Wayback Machine
  11. "PowerVR SGX Series5 Graphics IP Core Family". Imgtec.com. Retrieved 2012-03-11.
  12. POWERVR SGX520, SGX530 and SGX535 graphics cores with OpenVG 1.1 support
  13. "Product Information|TAKUMI Corporation" (in Japanese). Gshark.com. Retrieved 2012-03-11.
  14. "ThinkVG Graphics Core OpenVG 1.1". Archived from the original on 2012-08-01. Retrieved 2012-09-13.
  15. "Vivante IP Catalog" . Retrieved December 13, 2011.
  16. "Vivante Graphics Processor IP". Archived from the original on December 1, 2011. Retrieved December 13, 2011.
  17. "Adreno SDK on QDevNet" . Retrieved 2013-07-24.
  18. "[Phoronix] Gallium3D Picks Up Networking Support". Phoronix.com. 2009-06-01. Retrieved 2012-03-11.
  19. Archived April 11, 2009, at the Wayback Machine
  20. "HuOne AlexVG-forge". Archived from the original on 2016-04-22. Retrieved 2013-03-27.
  21. Michele Fabbri. "AmanithVG project". Amanith.org. Archived from the original on 2012-03-02. Retrieved 2012-03-11.
  22. micahpearlman. "micahpearlman/MonkVG · GitHub". Github.com. Retrieved 2012-03-11.
  23. ShivaVG
  24. Takuma Hayashi. "tqm-dev/ShaderVG · GitHub". Github.com. Retrieved 2023-03-01.
  25. comparison between OpenVG-1.O and cairo API
General