OpenVG

Summary

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

Historia

editar

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.

Implementaciones

editar

En hardware

editar

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]

Para GPUs

editar

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.

Para aceleradores multimedia

editar

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.

En OpenGL, OpenGL ES

editar

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]

Véase también

editar

Referencias

editar
  1. «OpenVG - the Standard for Vector Graphics Acceleration». 19 July 2011. 
  2. «SH7268, SH7269». Renesas.com. Archivado desde el original el 6 de julio de 2011. Consultado el 11 de marzo de 2012. 
  3. «AMD unveils multimedia products for media-rich mobile devices». Videsignline.com. Archivado desde el original el 9 de agosto de 2011. Consultado el 11 de marzo de 2012. 
  4. «i.MX357 Product Summary Page». Freescale.com. Consultado el 11 de marzo de 2012. 
  5. [http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX356&nodeId=0162468rH31143ZrDR Freescale applications processor with native OpenVG1.1 acceleration]
  6. Scott Ferguson (20 de enero de 2009). «AMD Sells Handset Division to Qualcomm for $65 Million». Eweek.com. Consultado el 16 de junio de 2013. 
  7. «Mali-400 MP». ARM. Consultado el 16 de junio de 2013. 
  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». Archivado desde el original el 27 de junio de 2009. Consultado el 3 de junio de 2009. 
  9. «Products & Services». Dmprof.com. Archivado desde el original el 10 de marzo de 2012. Consultado el 11 de marzo de 2012. 
  10. «VGX150 IP Core». Archivado desde el original el June 10, 2009. 
  11. «PowerVR SGX Series5 Graphics IP Core Family». Imgtec.com. Archivado desde el original el 20 de febrero de 2012. Consultado el 11 de marzo de 2012. 
  12. «POWERVR SGX520, SGX530 and SGX535 graphics cores with OpenVG 1.1 support». Archivado desde el original el 27 de junio de 2009. Consultado el 6 de mayo de 2009. 
  13. «Product Information» (en japonés). Gshark.com. Consultado el 11 de marzo de 2012. 
  14. «ThinkVG Graphics Core OpenVG 1.1». Archivado desde el original el 1 de agosto de 2012. Consultado el 13 de septiembre de 2012. 
  15. «Vivante IP Catalog». Consultado el December 13, 2011. 
  16. «Vivante Graphics Processor IP». Archivado desde el original el December 1, 2011. Consultado el December 13, 2011. 
  17. «Adreno SDK on QDevNet». Consultado el 24 de julio de 2013. 
  18. «[Phoronix] Gallium3D Picks Up Networking Support». Phoronix.com. 1 de junio de 2009. Consultado el 11 de marzo de 2012. 
  19. «Hooked OpenVG: Vector Graphics Acceleration Without the Need for Special Hardware». Archivado desde el original el April 11, 2009. 
  20. «HuOne AlexVG-forge». Archivado desde el original el 22 de abril de 2016. Consultado el 27 de marzo de 2013. 
  21. Michele Fabbri. «AmanithVG project». Amanith.org. Archivado desde el original el 2 de marzo de 2012. Consultado el 11 de marzo de 2012. 
  22. micahpearlman. «micahpearlman/MonkVG · GitHub». Github.com. Consultado el 11 de marzo de 2012. 
  23. [https://github.com/ileben/ShivaVG ShivaVG]
  24. Takuma Hayashi. «tqm-dev/ShaderVG · GitHub». Github.com. Consultado el 1 de marzo de 2023.