OpenVG es una API diseñada para gráficos vectoriales 2D acelerados por hardware . Sus principales plataformas son teléfonos móviles, consolas de videojuegos 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 de la CPU a la GPU para ahorrar energía. La biblioteca OpenGL ES ofrece una funcionalidad similar para gráficos 3D. OpenVG es gestionado por el consorcio tecnológico sin ánimo de lucro Khronos Group .
Historia
El grupo OpenVG se formó el 6 de julio de 2004, con la participación de importantes empresas como 3Dlabs , Bitboys , Ericsson , Hybrid Graphics , Imagination Technologies , Motorola , Nokia , PalmSource , Symbian y Sun Microsystems . Otras empresas, como los fabricantes de chips ATI , LG Electronics , Mitsubishi Electric , NVIDIA y Texas Instruments , y los proveedores de software y/o propiedad intelectual DMP, Esmertec , ETRI, Falanx Microsystems , Futuremark, HI Corporation, Ikivo , HUONE (anteriormente MTIS), Superscape y Wow4M, también formaron parte del grupo de trabajo. El primer borrador de la especificación se publicó a finales de 2004, y la versión 1.0 se lanzó 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 basada en QtOpenGL .
Poco después, Ivan Leben puso en marcha ShivaVG , otro proyecto de código abierto para implementar una versión en ANSI C de la especificación sobre OpenGL .
Desde el 27 de febrero de 2007, la implementación de referencia de ejemplo de OpenVG está disponible en el sitio web de Khronos bajo la licencia de código abierto MIT.
El 9 de diciembre de 2008, el Grupo Khronos publicó la especificación OpenVG 1.1. Esta última revisión incluye renderizado de glifos para texto acelerado, suavizado de bordes mejorado y compatibilidad con Flash. También se proporciona una implementación de referencia actualizada, así como un conjunto de pruebas de conformidad.
El 1 de mayo de 2009, Rusin añadió el rastreador de estado OpenVG a Mesa , que permite la aceleración por hardware de gráficos vectoriales SVG mediante cualquier controlador basado en Gallium3D . Esta funcionalidad se eliminó de nuevo en Mesa 10.6 el 15 de junio de 2015.
En septiembre de 2011, el grupo de trabajo de OpenVG decidió no celebrar reuniones periódicas para seguir estandarizando el sistema. Sin embargo, decidió continuar con el mantenimiento y la promoción de la especificación OpenVG 1.1.
Implementaciones
Hardware
- Solución SH7269 basada en Renesas SuperH SH2A. Desarrollada para interfaces gráficas de usuario integradas de bajo costo, con hasta 2,5 MB de SRAM integrada para búfer de imágenes. [ 2 ]
- Núcleo gráfico AMD / ATI Z160 y Z180 OpenVG 1.x. [ 3 ] Implementado en los Freescale i.MX35, i.MX51 e i.MX53. [ 4 ] [ 5 ] Propiedad intelectual vendida a Qualcomm y renombrada como "Adreno" para núcleos Snapdragon. [ 6 ]
- Unidades de procesamiento gráfico ARM Mali [ 7 ]
- SoC Broadcom BCM4760 – Anunciado el 1 de junio de 2009. El 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 (diente de león VG) [ 9 ]
- Imagination PowerVR VGX150 OpenVG 1.1 [ 10 ]
- Imagination PowerVR SGX Series5: la compatibilidad con 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 Núcleo IP acelerador de gráficos [ 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 admiten OpenGL ES 2.0 y OpenVG 1.1 [ 15 ] [ 16 ].
- Las GPU Adreno son compatibles con OpenVG 1.1. Qualcomm proporciona un SDK para Android. [ 17 ]
Para GPU
Para aceleradoras de medios
- Hanwha Systems AlexVG-forma: aceleración de la API de gráficos vectoriales en hardware de aceleración multimedia. Aprovecha la potencia del hardware de gráficos multimedia o de mapas de bits 2D.
En OpenGL, OpenGL ES
- Hooked Wireless OpenVG: implementación completa de OpenVG 1.01 y OpenVG 1.1, basada en OpenGL ES y totalmente compatible. Afirma que "aprovecha la tecnología propietaria de Hooked en las áreas de teselación y triangulación para formas y curvas". Lanzado por primera vez en febrero de 2008. [ 19 ]
- Hanwha Systems AlexVG-forge: un motor OpenVG que es un estándar de gráficos vectoriales 2D que utiliza un chip gráfico que admite OpenGL/OpenGL ES. [ 20 ]
- Mazatech AmanithVG GLE – comercial. Basado en OpenGL 1.1+ y OpenGL ES 1.x. Afirma “lograr un mejor rendimiento que los rasterizadores de software en términos de animaciones de alta resolución y efectos especiales complejos (transparencias, desvanecimiento, rotoescalado 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 de sombreadores GLSL [ 24 ]
Software
- Implementación de referencia de Khronos OpenVG
- Hanwha Systems AlexVG – Lanzado por primera vez en septiembre de 2005.
- Mazatech AmanithVG: biblioteca multiplataforma OpenVG con backends de renderizado basados en software puro y OpenGL (/ES 1.1).
- Vega – Rastreador de estado de Gallium3D
- GingkoVG
Véase también
- cairo – Kit de herramientas gráficas vectoriales 2D multiplataforma para dibujo y texto. OpenVG-1.x y la API de cairo difieren en su alcance, ya que cairo intenta unificar la salida de impresión en múltiples backends con soporte para texto. [ 25 ] Cairo puede usar OpenVG como backend.
- Direct2D
- Motor gráfico Skia
- Marco de trabajo Starling
Referencias
- ↑ "OpenVG: el estándar para la aceleración de gráficos vectoriales" . 19 de julio de 2011.
- ↑ "SH7268, SH7269 | Renesas Electronics" . Renesas.com. Archivado del original el 6 de julio de 2011. Consultado el 11 de marzo de 2012 .
- ↑ "AMD presenta productos multimedia para dispositivos móviles con gran cantidad de contenido multimedia" . Videsignline.com. Archivado del original el 9 de agosto de 2011. Consultado el 11 de marzo de 2012 .
- ↑ "Página de resumen del producto i.MX357" . Freescale.com . Consultado el 11 de marzo de 2012 .
- ↑ Procesador de aplicaciones Freescale con aceleración nativa OpenVG1.1
- ↑ Scott Ferguson (2009-01-20). "AMD vende su división de teléfonos móviles a Qualcomm por 65 millones de dólares" . Eweek.com . Consultado el 16 de junio de 2013 .
- ↑ "Mali-400 MP" . ARM . Consultado el 16 de junio de 2013 .
- ↑ "Broadcom Corporation; BRCM Mobile & Wireless :: El 'PND-on-a-Chip' de Broadcom integra capacidades GPS avanzadas de bajo consumo con un potente procesamiento de aplicaciones para una navegación gráfica impresionante" . Archivado del original el 27 de junio de 2009. Consultado el 3 de junio de 2009 .
- ↑ "Productos y servicios | Digital Media Professionals Inc" . Dmprof.com. Archivado del original el 10 de marzo de 2012. Consultado el 11 de marzo de 2012 .
- ↑ "Núcleo IP VGX150" . Archivado del original el 10 de junio de 2009.
- ↑ "Familia de núcleos IP de gráficos PowerVR SGX Series5" . Imgtec.com. Archivado del original el 20 de febrero de 2012. Consultado el 11 de marzo de 2012 .
- ↑ "Núcleos gráficos POWERVR SGX520, SGX530 y SGX535 con soporte para OpenVG 1.1" . Archivado del original el 27 de junio de 2009. Consultado el 6 de mayo de 2009 .
- ↑ "Información del producto | TAKUMI Corporation" (en japonés). Gshark.com . Consultado el 11 de marzo de 2012 .
- ↑ "ThinkVG Graphics Core OpenVG 1.1" . Archivado del original el 1 de agosto de 2012. Consultado el 13 de septiembre de 2012 .
- ↑ "Catálogo de IP de Vivante" . Consultado el 13 de diciembre de 2011 .
- ↑ "Procesador gráfico Vivante IP" . Archivado del original el 1 de diciembre de 2011. Recuperado el 13 de diciembre de 2011 .
- ↑ "Adreno SDK en QDevNet" . Consultado el 24 de julio de 2013 .
- ↑ " [ Phoronix ] Gallium3D incorpora soporte para redes" . Phoronix.com. 1 de junio de 2009. Consultado el 11 de marzo de 2012 .
- ↑ "Hooked OpenVG: Aceleración de gráficos vectoriales sin necesidad de hardware especial" . Archivado del original el 11 de abril de 2009.
- ↑ "HuOne AlexVG-forge" . Archivado del original el 22 de abril de 2016. Consultado el 27 de marzo de 2013 .
- ↑ Michele Fabbri. "Proyecto AmanithVG" . Amanith.org. Archivado del original el 2 de marzo de 2012. Consultado el 11 de marzo de 2012 .
- ↑ micahpearlman. "micahpearlman/MonkVG · GitHub" . Github.com . Consultado el 11 de marzo de 2012 .
- ↑ ShivaVG
- ↑ Takuma Hayashi. "tqm-dev/ShaderVG · GitHub" . Github.com . Consultado el 1 de marzo de 2023 .
- ↑ comparación entre OpenVG-1.0 y la API de Cairo
- General
- foros públicos
- Registro público
- Empresas que cumplen con OpenVG
- Especificación OpenVG 1.1
- Comunicado de prensa de Khronos: Khronos invita al público a revisar el borrador de la especificación OpenVG.
- Comunicado de prensa de Khronos: Khronos Group publica la especificación OpenVG 1.0
- Comunicado de prensa de BitBoys: Bitboys presenta un procesador de gráficos vectoriales para dispositivos móviles.
- Comunicado de prensa de OpenVG 1.1
- Especificación OpenVG 1.1
Enlaces externos
- Sitio web oficial
- Implementación ANSI C OpenVG de Ivan Leben
- Implementación de OpenVG de Zack Rusin sobre QtOpenGL (a partir de Qt 4.3)
- GingkoVG
- Software multiplataforma
- Bibliotecas gráficas
- Gráficos vectoriales