OpenGL ES: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
FrescoBot (discussione | contributi)
m Bot: spazio dopo segni di punteggiatura e modifiche minori
LauBot (discussione | contributi)
m Bot: correzione delle sezioni con gerarchia errata
Riga 25:
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.
 
==== OpenGL ES 1.0 ====
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.
 
==== OpenGL ES 1.1 ====
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.
 
==== OpenGL ES 2.0 ====
Vengono rilasciate nel Marzo 2007<ref>[http://www.khronos.org/news/press/releases/finalized_opengl_es_20_specification/ Khronos Group Prioritizes China's Participation in Creation of Key International Technology Standard - Khronos Group Press Release<!-- Titolo generato automaticamente -->] {{webarchive|url=https://web.archive.org/web/20101228111715/http://www.khronos.org/news/press/releases/finalized_opengl_es_20_specification/ |data=28 dicembre 2010 }}</ref>, ed eliminano la maggior parte della pipeline di rendering a funzioni fisse in favore di una programmabile: quasi tutte le funzioni di rendering della pipeline di transform & lighting, come il settaggio dei parametri di luci e materiali, vengono sostituite da [[vertex shaders]] e [[pixel shaders]] programmati separatamente. Per questo, OpenGL ES 2.0 non è [[retrocompatibilità|retrocompatibile]] con le versioni 1.0 e 1.1.
 
==== OpenGL ES 3.0 ====
Questa specifica è stato rilasciata pubblicamente nel mese di agosto 2012 ed è compatibile con OpenGL ES 2.0.
 
Riga 44:
* 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.
 
====OpenGL ES 3.1====
La specifica OpenGL ES 3.1 è stata rilasciata al pubblico in marzo 2014. Le nuove funzionalità in OpenGL ES 3.1 include:
*Shaders Compute
Riga 65:
 
== Uso delle OpenGL ES ==
==== OpenGL ES 1.0 ====
 
* 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>[http://developer.android.com/guide/basics/what-is-android.html ''Cos'è Android?''], Google</ref>
* Supportate dalla [[PlayStation 3]] come una delle API 3D ufficiali<ref>[http://www.khronos.org/developers/library/siggraph2006/OpenGL_ES_BOF/OpenGL-ES-Demos.ppt Demo di OpenGL ES in formato PPT]</ref> (l'altra è la libreria a basso livello ''libgcm''). La PlayStation 3 include anche molte caratteristiche delle OpenGL ES 2.0.
 
==== OpenGL ES 1.1 ====
* Supportate da Android 1.6
* Supportate da [[iPhone]], [[iPod touch]] e [[iPad]]
Riga 76:
* 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>
 
==== OpenGL ES 2.0 ====
* Supportate da [[iPhone]] (3GS e successivi), [[iPod touch]] (terza serie e successivi) e [[iPad]]
* Supportate da Android dalla versione Android 2.2<ref>{{Cita news |titolo=Android 2.2 specifications |url=http://developer.android.com/sdk/android-2.2.html |data=1º luglio 2010 |editore=Google |urlmorto=sì |urlarchivio=https://web.archive.org/web/20101011134355/http://developer.android.com/sdk/android-2.2.html |dataarchivio=11 ottobre 2010 }}</ref>
Riga 87:
* Supportate da Palm [[webOS]], con il Plug-in Development Kit<ref name="developer.palm.com"/>
 
==== 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>
* Supportate da iPhone 5S
 
==== OpenGL ES 3.1 ====
Supportato da Windows, Linux, Android (da Lollipop) sui dispositivi con hardware adeguato e driver, tra cui:
*Adreno serie 400 [26] [27]