OpenVG es una interfaz de programación de aplicaciones (API) diseñada para aceleración por hardware de gráficos vectoriales 2D. Sus principales plataformas son teléfonos móviles, consolas de juegos y multimedia y dispositivos electrónicos de consumo. Fue diseñada para ayudar a los fabricantes a crear interfaces de usuario más atractivas descargando el procesamiento gráfico intensivo desde la CPU hacia una GPU para ahorrar energía. La biblioteca OpenGL ES proporciona funcionalidad similar para gráficos 3D. OpenVG está gestionada por el consorcio tecnológico Khronos Group.
OpenVG | ||
---|---|---|
![]() | ||
Información general | ||
Tipo de programa | API | |
Desarrollador | Khronos Group | |
Licencia | Varias | |
Versiones | ||
Última versión estable | OpenVG 1.1 Lite Provisional (mayo de 2020[1]) | |
Enlaces | ||
Sitio web oficial
| ||
El grupo OpenVG se formó el 6 de julio de 2004 por una selección de empresas importantes incluyendo 3Dlabs, Bitboys, Ericsson, Hybrid Graphics, Imagination Technologies, Motorola, Nokia, PalmSource, Symbian y Sun Microsystems. Otras empresas, incluidos fabricantes de chips como ATI, LG Electronics, Mitsubishi Electric, NVIDIA y Texas Instruments y proveedores de software y/o propiedad intelectual como DMP, Esmertec, ETRI, Falanx Microsystems, Futuremark, HI Corporation, Ikivo, HUONE (anteriormente MTIS), Superscape y Wow4M también han participado en el grupo de trabajo. El primer borrador de la especificación del grupo estuvo disponible a finales de 2004 y la versión 1.0 de la especificación se publicó el 1 de agosto de 2005.
El 16 de enero de 2007, Zack Rusin de Tungsten Graphics anunció el inicio de una implementación independiente de código abierto de OpenVG construida sobre QtOpenGL.
Poco después, Ivan Leben inició ShivaVG, otro proyecto de código abierto para implementar una implementación en ANSI C de la especificación sobre OpenGL.
Desde el 27 de febrero de 2007 la Implementación de Referencia de Muestra de OpenVG está disponible en el sitio web de Khronos bajo la licencia abierta MIT.
El 9 de diciembre de 2008, el Khronos Group publicó públicamente la Especificación OpenVG 1.1. Esta revisión incluye renderizado de glifos para texto acelerado, mejora del antialiasing y soporte para Flash. También se proporciona una implementación de referencia actualizada y un conjunto de pruebas de conformidad.
El 1 de mayo de 2009 Rusin añadió el state tracker de OpenVG a Mesa, lo que permite que gráficos vectoriales SVG sean acelerados por hardware por cualquier controlador basado en Gallium3D. Fue eliminado nuevamente de Mesa en la versión 10.6 el 15 de junio de 2015.
En septiembre de 2011 el grupo de trabajo OpenVG decidió no convocar reuniones regulares para una mayor estandarización. Sin embargo, el grupo de trabajo decidió continuar con el mantenimiento y la promoción de la especificación OpenVG 1.1.
Renesas SuperH SH2A basado en la solución SH7269. Desarrollado para interfaces gráficas embebidas de bajo costo de sistema, con hasta 2,5 MB de SRAM embebida para búfer de imagen.[2]
AMD/ATI Z160 y Z180 núcleo gráfico OpenVG 1.x.[3] Implementado en los Freescale i.MX35, i.MX51 e i.MX53.[4][5] IP vendida a Qualcomm y renombrada "Adreno" para núcleos Snapdragon.[6]
ARM Mali Unidades de Procesamiento Gráfico.[7]
Broadcom BCM4760 SoC – Anunciado 01/Jun/09. BCM4760 contiene “un procesador gráfico compatible con OpenGL(R) ES 1.1/OpenVG(TM) 1.0”.[8]
Digital Media Professionals Inc.(DMP Inc.) SMAPH-F(dandelion VG).[9]
Imagination PowerVR VGX150 OpenVG 1.1.[10]
Imagination PowerVR SGX Series5 – el soporte de API incluye OpenGL ES 1.1/2.0, OpenVG 1.1, OpenGL 2.0/3.0 y DirectX9/10.1.[11][12]
Takumi GV500 – GV300, GV500 Acelerador gráfico IP-Core.[13]
Think Silicon ThinkVG Núcleo gráfico OpenVG 1.1.[14]
Vivante GC350 (núcleo gráfico 2D) OpenVG 1.1.
Vivante GC400 y superiores son núcleos gráficos 3D que soportan OpenGL ES 2.0 y OpenVG 1.1.[15][16]
Adreno GPUs soportan OpenVG 1.1. Qualcomm proporciona un SDK para Android.[17]
Mesa Gallium3D – VMware/Tungsten Graphics proporciona implementaciones de OpenVG para tarjetas con controladores Gallium (existen controladores Gallium para nVidia, AMD/ATI y VMware).[18] OpenVG fue eliminado de Mesa en la versión 10.6.
Hanwha Systems AlexVG-forma – Aceleración de la API de gráficos vectoriales en hardware de aceleración multimedia. Utiliza la potencia de hardware multimedia o de gráficos 2D de mapa de bits.
Hooked Wireless OpenVG – implementación completa de OpenVG 1.01 y OpenVG 1.1, implementada sobre OpenGL ES, y totalmente conforme. Afirma “aprovechar tecnología propietaria de Hooked en las áreas de teselación y triangulación para formas y curvas.” Lanzada por primera vez en feb/2008.[19]
Hanwha Systems AlexVG-forge – Un motor OpenVG que es un estándar de gráficos vectoriales 2D utilizando el chip gráfico que soporta OpenGL/OpenGL ES.[20]
Mazatech AmanithVG GLE – comercial. Construido sobre OpenGL 1.1+ y OpenGL ES 1.x. Afirma “lograr mejor rendimiento que los rasterizadores por software en términos de animaciones de alta resolución y efectos especiales complejos (transparencias, desvanecimientos, rotoscopia en tiempo real y muchos otros).”[21]
MonkVG – código abierto (BSD), solo "similar a OpenVG".[22]
ShivaVG – código abierto (LGPL).[23]
ShaderVG – basado en ShivaVG pero implementa llamadas de dibujo con shaders GLSL.[24]