OpenGL ES: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Bot: correzione mesi e modifiche minori |
m Bot: rimuovo parametro ridondante (valore uguale alla proprietà P856 su Wikidata) |
||
(34 versioni intermedie di 20 utenti non mostrate) | |||
Riga 1:
{{Software
|Nome = OpenGL ES
|Screenshot =
|Didascalia =
|Sviluppatore = [[
|UltimaVersione = 3.
|DataUltimaVersione =
|UltimaVersioneBeta =
|DataUltimaVersioneBeta =
Line 16 ⟶ 15:
|SoftwareLibero = sì
|Lingua =
}}
'''OpenGL ES''' è un sottoinsieme delle librerie grafiche [[OpenGL]] pensato per dispositivi integrati (telefoni cellulari, [[Personal Digital Assistant|PDA]] ecc. ma anche strumentazione scientifica e industriale). Viene gestito dal consorzio no-profit [[
== Versioni ==
Line 25 ⟶ 23:
OpenGL ES prevede inoltre un altro profilo ''safety-critical'' pensato per sistemi critici e/o ad alta sicurezza come display avionici, strumentazione per aeromobili e applicazioni militari: caratteristiche principali di questo profilo sono la stabilità, la testabilità e l'intrinseca robustezza.
Contiene molte funzionalità delle OpenGL originali e ne aggiunge alcune. Le due differenze principali sono la rimozione della semantica di chiamata <code>glBegin</code> ... <code>glEnd</code> per il rendering delle primitive (in favore dei vertex arrays) e l'introduzione dei dati in virgola fissa per le coordinate dei vertici delle primitive e degli attributi, per sfruttare meglio le capacità di calcolo dei processori embedded che spesso non hanno una [[Unità di calcolo in virgola mobile|FPU]]. Le altre differenze sono numerose ma di portata minore, quasi tutte semplificazioni per produrre un'interfaccia più semplice ed essenziale. Sono state tolte le primitive di rendering di quadrati e poligoni, i texgen, la modalità poligonale, le linee e i poligoni punteggiati, il rendering di poligoni antialiased (con frammenti bordo alfa, non multisampled), le funzioni <code>ARB_Image</code> su classi di pixel, le bitmap, le texture 3D, il disegno sul frontbuffer, il buffer di accumulazione, la copia pixel, il push/pop degli attributi di stato, le display list, i valutatori, le selezioni, i feedback, l'illuminazione su due lati e i piani di clipping definiti dall'utente.
Aggiunge le funzionalità di supporto obbligatorio al multitexturing, normale e migliorato (con combinatori e operazioni di prodotto scalare fra texture), generazione automatica di [[mipmap]], oggetti vertex buffer, query sullo stato e in generale un maggior controllo sul rendering di punti. Vengono introdotti i piani di clipping utente.
Vengono rilasciate nel Marzo 2007<ref>[
Questa specifica è stato rilasciata pubblicamente nel mese di agosto 2012 ed è compatibile con OpenGL ES 2.0.
Line 43 ⟶ 41:
* Notevolmente migliorata la funzionalità texturing tra cui il supporto garantito per le texture in virgola mobile, texture 3D, texture, texture vertice profondità, texture NPOT, R / RG texture, texture, texture immutabile matrice 2D, swizzles, LOD e morsetti MIP, mappe cubo senza soluzione di continuità e oggetti campionatore
* Un vasto insieme di richieste, la struttura richiede in modo esplicito le dimensioni e render-buffer formati, riducendo la variabilità e rendendo molto più facile la scrittura di applicazioni portatili.
La specifica OpenGL ES 3.1 è stata rilasciata al pubblico in marzo 2014. Le nuove funzionalità in OpenGL ES 3.1 include:
*Shaders Compute
*Vertex e fragment shader indipendenti
*Comandi di disegno indiretti
OpenGL ES 3.1 è compatibile con OpenGL ES 2.0 e 3.0, consentendo alle applicazioni di integrare gradualmente con le nuove funzionalità.
=== OpenGL ES 3.2 ===
La specifica OpenGL ES 3.2<ref>{{Cita web|titolo=The OpenGL ES 3.2 specification|url=https://www.khronos.org/registry/gles/#specs32}}</ref> è stata rilasciata pubblicamente nell'agosto del 2015.
Le nuove caratteristiche di OpenGL ES 3.2 includono:
* Shaders di geometria tassellamento per elaborare efficientemente scene complesse sulla GPU.
* Target di rendering in virgola mobile per aumentare la flessibilità nelle operazioni di calcolo in alta precisione.
* [[Adaptive Scalable Texture Compression|Compressione ASTC]] per ridurre l'uso della memoria e la banda usata per elaborare le texture.
* Blending avanzato per una gestione sofisticata di composizione e gestione di allegati di colore multipli.
* Obiettivi di texture avanzati come i buffer di texture, array multicampionamento 2D e array di mappe cubiche.
* Funzioni di debug e controllo robustezza per facilitare lo sviluppo del codice e l'esecuzione sicura.
Lo stato attuale della specifica 3.2 è del novembre 2016<ref>https://www.khronos.org/registry/OpenGL/specs/es/3.2/es_spec_3.2.pdf</ref>.
== Uso delle OpenGL ES ==
* Sono le [[Application programming interface|API]] 3D ufficiali sia in [[Symbian OS]]<ref>[http://www.symbian.com/symbianos/releases/v95/productsheet.html ''Symbian OS v9.5 datasheet''] {{webarchive|url=https://web.archive.org/web/20080327234646/http://www.symbian.com/symbianos/releases/v95/productsheet.html |data=27 marzo 2008 }}, Symbian</ref> sia sulla [[Android|piattaforma Android]]<ref>[
* Supportate dalla [[PlayStation 3]] come una delle API 3D ufficiali<ref>[
* Supportate da Android 1.6
* Supportate da [[iPhone]], [[iPod
* Supportate dalla serie 5.0 del sistema operativo BlackBerry<ref>{{Cita web |url=http://docs.blackberry.com/en/developers/deliverables/11953/New_in_this_beta_release_895185_11.jsp |titolo=New in this beta release |opera=Release Notes - BlackBerry Java Application |editore=[[Research in Motion]] |accesso=8 dicembre 2009 |urlmorto=sì |urlarchivio=https://web.archive.org/web/20091202054102/http://docs.blackberry.com/en/developers/deliverables/11953/New_in_this_beta_release_895185_11.jsp |dataarchivio=2 dicembre 2009 }}</ref>. Tuttavia, solo i [[BlackBerry Storm 2]], [[BlackBerry Curve 8530]] e successivi modelli hanno l'hardware necessario<ref>{{Cita news |titolo=What to expect for BlackBerry smartphones |nome=Damian |cognome=Koh |
* Supportate da Palm [[webOS]], usando il Plug-in Development Kit<ref name="developer.palm.com">[http://developer.palm.com/index.php?option=com_content&view=article&id=1989&Itemid=370#CoreTechnologies Developing PDK Apps and Plug-ins - HP webOS Developer Center<!-- Titolo generato automaticamente -->] {{webarchive|url=https://web.archive.org/web/20110101222701/http://developer.palm.com/index.php?option=com_content&view=article&id=1989&Itemid=370 |data=1º gennaio 2011 }}</ref>
* Supportate da [[iPhone]] (3GS e successivi), [[iPod
* Supportate da Android dalla versione Android 2.2<ref>{{Cita news |titolo=Android 2.2 specifications |url=
* Supportate dall'[[
* Supportate dalla serie 7.0 del sistema operativo BlackBerry e [[BlackBerry PlayBook]]
* Libreria 3D della console [[Pandora (console)|Pandora]]
* Scelte per [[WebGL]] (OpenGL per browser)<ref>
* Supportate da alcuni nuovi cellulari [[Nokia]] come il [[Nokia N900]] basato su [[Maemo]]<ref name=n900specs>{{Cita web|titolo=Maemo software - Nokia > Nokia N900 mobile computer > Technical specifications|url=http://maemo.nokia.com/n900/specifications/|editore=Nokia Corporation|accesso=12 gennaio 2010|urlmorto=sì|urlarchivio=https://web.archive.org/web/20091029005250/http://maemo.nokia.com/n900/specifications/|dataarchivio=29 ottobre 2009}}</ref> e il [[Nokia N8]] basato su [[Symbian OS|Symbian^3]].
* Supportate da vari cellulari [[Samsung]], compreso il [[Samsung GT-i9000 Galaxy S|Galaxy S]] e il [[Samsung S8500|Wave]]
* Supportate da Palm [[webOS]], con il Plug-in Development Kit<ref name="developer.palm.com"/>
* Supportate da AmigaOS4 su piattaforme AmigaOne X1000/X5000/1222, Sam440 e Sam460 tramite Warp3D Nova e schede grafiche RadeonHD e RX compatibili
▲'''OpenGL ES 3.0'''
* Supportate da Android dalla versione 4.3<ref>[http://developer.android.com/about/versions/android-4.3.html Android 4.3 APIs], Google, 24 Luglio 2013.</ref>▼
== Note ==▼
{{references|2}}▼
===
▲* Supportate da Android dalla versione 4.3<ref>[
* Supportate da iPhone 5S
* {{en}} [http://www.khronos.org/bugzilla/ Bug tracking pubblico]▼
* {{en}} [http://www.khronos.org/members/conformant#opengles Costruttori conformi a OpenGL ES]▼
* {{en}} [http://www.glbenchmark.com/result.jsp Lista di dispositivi compatibili OpenGL ES]▼
* {{en}} [https://wiki.mozilla.org/Canvas:3D The Firefox effort to support 3D based on OpenGL ES with the <canvas> tag]▼
* {{en}} [http://www.gremedy.com/gDEBuggerES.php gDEBugger ES - OpenGL ES Debugger and Profiler] including an OpenGL ES implementation on a Windows PC operating system▼
===
Supportato da Windows, Linux, Android (da Lollipop) sui dispositivi con hardware adeguato e driver, tra cui:
* Kari Pulli, Tomi Aarnio, Ville Miettinen, Kimmo Roimela, and Jani Vaarala: [http://www.graphicsformasses.com ''Mobile 3D Graphics with OpenGL ES and M3G''], Morgan Kaufmann, 2007, ISBN 0-12-373727-3▼
*Adreno serie 400 [26] [27]
*Intel HD Graphics per la serie Intel Atom Z3700 (Android)
*Intel HD Graphics per Intel Celeron N e Serie J (Android)
*Intel HD Graphics per Intel Pentium N e Serie J (Android)
*Mali T6xx (Midgard) serie in poi [28] (Android, Linux)
*Nvidia GeForce serie 400 in poi (Windows)
*Nvidia Tegra K1 (Android)
*Nvidia Tegra X1 (Android)
*PowerVR Series 6, 6XE, 6XT, 7XE e 7XT (Linux, Android)
*Serie Vivante GC2000 in poi (optional con GC800 e GC1000)
=== OpenGL ES 3.2 ===
Supportate da Windows, Linux, Android (possibile dalla versione 6.0, dalla 7.0+ Vulkan 1.0 e OpenGL ES 3.2 sono necessari) su dispositivi con appropriato hardware e driver, inclusi:
* [[Adreno]] 420 e più recenti (Android, Linux)
* AMD GCN-architecture (Windows, Linux (Mesa 18.2))
* [[Intel]] HD Graphics Skylake e più recenti (Linux)<ref>https://people.freedesktop.org/~imirkin/glxinfo/#p=es&v=Mesa%2017.2.0</ref>
* Mali-T760 e più recenti (Android, Linux)
* Nvidia serie GeForce 400 (Fermi) e successive (Windows, Linux)<ref>{{Cita web|url=https://www.anandtech.com/show/9698/nvidia-releases-35850-game-ready-drivers-for-star-wars-battlefront |titolo=NVIDIA Releases 358.50 Game Ready Drivers For Star Wars Battlefront |editore=AnandTech |accesso=7 ottobre 2015}}</ref>
* VIRGL: driver virtuale per macchine virtuali nel 2018 con Mesa 18.1 (Vedere Mesamatrix.net)
▲== Note ==
== Bibliografia ==
▲* Kari Pulli, Tomi Aarnio, Ville Miettinen, Kimmo Roimela, and Jani Vaarala: [https://web.archive.org/web/20190923023228/http://www.graphicsformasses.com/ ''Mobile 3D Graphics with OpenGL ES and M3G''], Morgan Kaufmann, 2007, ISBN 0-12-373727-3
* Dave Astle and David Durnil: ''OpenGL ES Game Development'', Course Technology PTR, ISBN 1-59200-370-2
* Kari Pulli, Tomi Aarnio, Kimmo Roimela, and Jani Vaarala [http://ieeexplore.ieee.org/xpls/abs_all.jsp?isnumber=32639&arnumber=1528436&count=14&index=10 ''Designing graphics programming interfaces for mobile devices''], IEEE CG&A 2005
* [[Aaftab Munshi]], Dan Ginsburg, Dave Shreiner : OpenGL(R) ES 2.0 Programming Guide, Addison-Wesley Professional, ISBN 978-0-321-50279-7
== Collegamenti esterni ==
{{portale|informatica}}▼
* {{Collegamenti esterni}}
▲* {{
* {{cita web|url=https://www.khronos.org/message_boards/viewforum.php?f=19|titolo=Public forums|lingua=en|accesso=3 maggio 2019|urlarchivio=https://web.archive.org/web/20150323111145/https://www.khronos.org/message_boards/viewforum.php?f=19|dataarchivio=23 marzo 2015|urlmorto=sì}}
▲* {{
▲* {{
▲* {{en}} [https://web.archive.org/web/20100131041259/http://www.gremedy.com/gDEBuggerES.php gDEBugger ES - OpenGL ES Debugger and Profiler] including an OpenGL ES implementation on a Windows PC operating system
* {{cita web|1=http://www.malideveloper.com/|2=Free tools and resources for OpenGL ES development|lingua=en|accesso=5 novembre 2010|dataarchivio=9 agosto 2019|urlarchivio=https://web.archive.org/web/20190809004540/http://www.malideveloper.com/|urlmorto=sì}}
* {{cita web|1=http://www.malideveloper.com/tools/software-development/opengl-es-20-emulator.php|2=Free emulator for OpenGL ES 2.0 for Windows and Linux|lingua=en|accesso=5 novembre 2010|urlarchivio=https://web.archive.org/web/20100309001912/http://www.malideveloper.com/tools/software-development/opengl-es-20-emulator.php|dataarchivio=9 marzo 2010|urlmorto=sì}}
[[Categoria:Librerie grafiche]]
|