OpenGL ES: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Xqbot (discussione | contributi)
m r2.7.2) (Bot: Aggiungo: bg:OpenGL ES; modifiche estetiche
Riga 15:
'''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 [[Gruppo Khronos]], che cura anche lo sviluppo della libreria madre OpenGL.
 
== Versioni ==
Attualmente esistono molte versioni diverse delle specifiche OpenGL ES. La versione 1.0 venne ricalcata sulla versione 1.3 di OpenGL, mentre la versione 1.1 si basa su OpenGL 1.5 e la 2.0 è definita in relazione a OpenGL 2.0. Sia la versione 1.0 che la 1.1 supportano due profili, ''common'' e ''common-lite''; il profilo ''lite'' supporta solo tipi di dato [[intero|interi]] invece dei normali dati in [[virgola mobile]], mentre il profilo common li supporta entrambi.
 
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 [[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/</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.
 
Riga 36:
-->
== 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''], 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 47:
* Supportate da Palm [[webOS]], usando il Plug-in Development Kit<ref>[http://developer.palm.com/index.php?option=com_content&view=article&id=1989&Itemid=370#CoreTechnologies]</ref>
 
==== OpenGL ES 2.0 ====
* Supportate da [[iPhone]] (3GS e successivi), [[iPod Touch]] (terza serie e successivi) e [[iPad]]
* Supportate dalla [[Android|piattaforma Android]] dalla versione Android 2.2<ref>{{cite news |title=Android 2.2 specifications |url=http://developer.android.com/sdk/android-2.2.html |date=2010-07-01 |publisher=Google }}</ref>
Riga 87:
[[Categoria:Librerie software]]
 
[[kobg:OpenGL ES]]
[[de:Open Graphics Library for Embedded Systems]]
[[en:OpenGL ES]]
[[es:OpenGL ES]]
[[fr:OpenGL ES]]
[[ko:OpenGL ES]]
[[ja:OpenGL ES]]
[[ko:OpenGL ES]]
[[pl:OpenGL ES]]
[[pt:OpenGL ES]]