OpenVG
OpenVG (Open Vector Graphics) è una specifica che definisce una API studiata per velocizzare la grafica vettoriale 2D di sistemi portatili.
È stato progettata da un gruppo di lavoro composto da diverse aziende del settore per grafica vettoriale 2D con hardware accelerato. Il suo scopo principale sono i telefoni cellulari, i palmari, console come la PlayStation 3, ed altri prodotti dell'elettronica di consumo, per permettere di creare interfacce utente responsive, ottimizzando l'utilizzo di risorse. In particolare permette di accelerare sequenze Flash o SVG.
Il gruppo OpenVG fu creato il 6 luglio 2004 da una selezione tra le maggiori aziende del campo. La prima bozza delle specifiche fu rilasciata alla fine del 2004, mentre la versione 1.0 fu pubblicata il 1º agosto 2005.
Finora non vi è alcuna implementazione open source, ma il 16 gennaio 2007, Zack Rusin ha annunciato dal suo blog l'inizio di una implementazione open source di OpenVG poggiata su QtOpenGL. Il motivo maggiore per questa scelta è da cercarsi nelle presunte qualità e prestazioni di QtOpenGL.
Storia
[modifica | modifica wikitesto]Il gruppo OpenVG è stato formato il 6 luglio 2004 da una selezione di importanti aziende tra cui 3Dlabs, Bitboys, Ericsson, Hybrid Graphics, Imagination Technologies, Motorola, Nokia, PalmSource, Symbian e Sun Microsystems. Altre aziende tra cui produttori di chip ATI, LG Electronics, Mitsubishi Electric, NVIDIA e Texas Instruments e fornitori di software e / o IP DMP, Esmertec, ETRI, Falanx Microsystems, Futuremark, HI Corporation, Ikivo , HUONE (ex MTIS), Superscape e Wow4M hanno partecipato al gruppo di lavoro. La prima bozza delle specifiche del gruppo è stata resa disponibile alla fine del 2004 e la versione 1.0 delle specifiche è stata rilasciata il 1º agosto 2005.
Il 16 gennaio 2007, Zack Rusin di Tungsten Graphics ha annunciato l'inizio di un'implementazione open source indipendente di OpenVG basata su QtOpenGL.
Poco dopo, Ivan Leben ha avviato un altro progetto open source per implementare un'implementazione ANSI C della specifica su OpenGL.
Dal 27 febbraio 2007 l'implementazione di riferimento di esempio OpenVG è disponibile sul sito Web Khronos con licenza open source MIT.
Il 9 dicembre 2008, il gruppo Khronos ha rilasciato pubblicamente la specifica OpenVG 1.1. Questa ultima revisione include il rendering dei glifi per il testo accelerato, l'anti-aliasing migliorato e il supporto Flash. Viene inoltre fornita un'implementazione di riferimento aggiornata, nonché una suite di test di conformità.
Il 1º maggio 2009 Rusin ha aggiunto il tracker di stato OpenVG a Mesa, che consente alla grafica vettoriale SVG di essere accelerata hardware da qualsiasi driver basato su Gallium3D. È stato rimosso di nuovo in Mesa 10.6 il 15 giugno 2015.
Nel settembre 2011 il gruppo di lavoro OpenVG ha deciso di non organizzare riunioni regolari per un'ulteriore standardizzazione. Tuttavia, il gruppo di lavoro ha deciso di continuare la manutenzione e la promozione della specifica OpenVG 1.1.
Implementazioni
[modifica | modifica wikitesto]Nell'hardware
[modifica | modifica wikitesto]- Soluzione SH7269 basata su Renesas SuperH SH2A. Sviluppato per GUI incorporate a basso costo di sistema, con un massimo di 2,5 MB di SRAM incorporata per il buffer delle immagini[1].
- Core grafico AMD / ATI Z160 e Z180 OpenVG 1.x[2]. Implementato in Freescale i.MX35, i.MX51 e i.MX53[3][4]. IP venduto a Qualcomm e rinominato "Adreno" per i core Snapdragon[5].
- Unità di elaborazione grafica ARM Mali[6]
- SoC Broadcom BCM4760 - Annunciato il 1º giugno 2009. BCM4760 Contiene "un processore grafico compatibile con OpenGL (R) ES 1.1 / OpenVG (TM) 1.0"[7]
- Digital Media Professionals Inc. (DMP Inc.) SMAPH-F (dandelion VG)[8]
- Imagination PowerVR VGX150 OpenVG 1.1[9]
- Imagination PowerVR SGX Series5 - Il supporto API include OpenGL ES 1.1 / 2.0, OpenVG 1.1, OpenGL 2.0 / 3.0 e DirectX9 / 10.1[10][11]
- Takumi GV500 - GV300, acceleratore grafico GV500 IP-Core[12]
- Think Silicon ThinkVG Graphics Core OpenVG 1.1[13]
- Vivante GC350 (core grafico 2D) OpenVG 1.1
- Vivante GC400 e versioni successive sono core grafici 3D che supportano OpenGL ES 2.0 e OpenVG 1.1[14][15]
- Le GPU Adreno supportano OpenVG 1.1. Qualcomm fornisce un SDK per Android.[16]
Per GPU
[modifica | modifica wikitesto]- Mesa Gallium3D - VMware / Tungsten Graphics fornisce implementazioni OpenVG per schede con driver Gallium (sono disponibili driver Gallio per nVidia, AMD / ATI e VMware). OpenVG è stato rimosso da Mesa nella versione 10.6.
Per gli acceleratori multimediali
[modifica | modifica wikitesto]- HuOne AlexVG-forma: accelerazione dell'API di grafica vettoriale su hardware di accelerazione multimediale[17]. Utilizzo della potenza di hardware multimediale o grafica bitmap 2D.
Su OpenGL, OpenGL ES
[modifica | modifica wikitesto]- Hooked Wireless OpenVG: implementazione completa di OpenVG 1.01 e OpenVG 1.1, implementata su OpenGL ES ed è completamente conforme. Lo slogan è "Sfrutta la tecnologia proprietaria di Hooked nelle aree di tassellatura e triangolazione per forme e curve". Rilasciato per la prima volta nel febbraio 2008[18].
- HuOne AlexVG-forge - Un motore OpenVG che è uno standard grafico vettoriale 2D utilizzando il chip grafico che supporta OpenGL / OpenGL ES[19].
- Mazatech AmanithVG GLE - commerciale. Basato su OpenGL 1.1+ e OpenGL ES 1.x. Lo slogan è "Ottieni prestazioni migliori rispetto ai rasterizzatori software in termini di animazioni ad alta risoluzione ed effetti speciali complessi (trasparenze, dissolvenza, rotoscaling in tempo reale e molti altri)[20]".
- MonkVG - open source (BSD), solo "OpenVG like"[21]
- ShivaVG - open source (LGPL)[22]
Nel software
[modifica | modifica wikitesto]- Implementazione di riferimento di Khronos OpenVG
- HuOne AlexVG - Rilasciato per la prima volta nel settembre 2005
- Mazatech AmanithVG - Libreria multipiattaforma OpenVG con software puro e backend di rendering OpenGL (/ ES 1.1)
- Vega - Gallium3D state tracker
- GingkoVG
Note
[modifica | modifica wikitesto]- ^ SH7268, SH7269 | Renesas Electronics, su renesas.com. URL consultato l'11 marzo 2012 (archiviato dall'url originale il 6 luglio 2011).
- ^ AMD unveils multimedia products for media-rich mobile devices, su videsignline.com. URL consultato l'11 marzo 2012 (archiviato dall'url originale il 20 aprile 2008).
- ^ i.MX357 Product Summary Page, su freescale.com. URL consultato l'11 marzo 2012.
- ^ Freescale applications processor with native OpenVG1.1 acceleration.
- ^ Scott Ferguson, AMD Sells Handset Division to Qualcomm for $65 Million, su eweek.com, 20 gennaio 2009. URL consultato il 16 giugno 2013.
- ^ Mali-400 MP, su arm.com, ARM. URL consultato il 16 giugno 2013.
- ^ Archived copy, su sev.prnewswire.com. URL consultato il 3 giugno 2009 (archiviato dall'url originale il 27 giugno 2009).
- ^ Products & Services | Digital Media Professionals Inc, su dmprof.com. URL consultato l'11 marzo 2012 (archiviato dall'url originale il 10 marzo 2012).
- ^ VGX150 IP Core, su imgtec.com (archiviato dall'url originale il 10 giugno 2009).
- ^ PowerVR SGX Series5 Graphics IP Core Family, su imgtec.com. URL consultato l'11 marzo 2012 (archiviato dall'url originale il 20 febbraio 2012).
- ^ POWERVR SGX520, SGX530 and SGX535 graphics cores with OpenVG 1.1 support. URL consultato il 4 marzo 2021 (archiviato dall'url originale il 27 giugno 2009).
- ^ (JA) Product Information|TAKUMI Corporation, su gshark.com. URL consultato l'11 marzo 2012.
- ^ ThinkVG Graphics Core OpenVG 1.1, su think-silicon.com. URL consultato il 13 settembre 2012 (archiviato dall'url originale il 1º agosto 2012).
- ^ Vivante Graphics Processor IP, su vivantecorp.com. URL consultato il 13 dicembre 2011 (archiviato dall'url originale il 1º dicembre 2011).
- ^ Vivante IP Catalog, su chipestimate.com. URL consultato il 13 dicembre 2011.
- ^ Adreno SDK on QDevNet, su developer.qualcomm.com. URL consultato il 24 luglio 2013.
- ^ [Phoronix] Gallium3D Picks Up Networking Support, su phoronix.com, 1º giugno 2009. URL consultato l'11 marzo 2012.
- ^ Vector Graphics Acceleration Without the Need for Special Hardware, su hookedwireless.com (archiviato dall'url originale l'11 aprile 2009).
- ^ HuOne AlexVG-forge, su hu1.com. URL consultato il 27 marzo 2013 (archiviato dall'url originale il 22 aprile 2016).
- ^ Michele Fabbri, AmanithVG project, su amanith.org. URL consultato l'11 marzo 2012 (archiviato dall'url originale il 2 marzo 2012).
- ^ micahpearlman, micahpearlman/MonkVG · GitHub, su github.com. URL consultato l'11 marzo 2012.
- ^ ShivaVG.
Voci correlate
[modifica | modifica wikitesto]Collegamenti esterni
[modifica | modifica wikitesto]- (EN) Notizia della formazione del gruppo di lavoro di OpenVG, su khronos.org. URL consultato il 3 maggio 2019 (archiviato dall'url originale il 23 aprile 2005).
- (EN) Invito alla revisione pubblica della bozza delle specifiche OpenVG, su khronos.org. URL consultato il 16 marzo 2007 (archiviato dall'url originale il 6 maggio 2005).
- (EN) Rilascio delle specifiche OpenVG 1.0, su khronos.org. URL consultato il 16 marzo 2007 (archiviato dall'url originale il 17 maggio 2011).
- (EN) Implementazioni OpenVG 1.1 e 1.0.1 di Mazatech: AmanithVG SRE (Software Rasterization Engine), AmanithVG GLE (OpenGL / OpenGL ES Engine), su amanithvg.com.
- (EN) Implementazione OpenVG basata su QtOpenGL di Zack Rusin (a partire da Qt 4.3), su zrusin.blogspot.com.
- (EN) Introduzione a OpenVG e specifiche, su khronos.org.