==Versioni==
Attualmente esistono molte versioni diverse delle specifiche OpenGL ES. La versione 1.0 venne ricalcata sulla versione 1.3 di OpenGL, mentre laversione 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.
Several versions of the OpenGL ES specification now exist. OpenGL ES 1.0 is drawn up against the OpenGL 1.3 specification, OpenGL ES 1.1 is defined relative to the OpenGL 1.5 specification and OpenGL ES 2.0 is defined relative to the OpenGL 2.0 specification. Version 1.0 and 1.1 both have ''common'' and ''common lite'' profiles, the difference being that the common lite profile only supports [[fixed-point arithmetic|fixed-point]] instead of [[floating point]] data type support, whereas common supports both.
OpenGL ES also defines an additional ''safety-critical'' profile that is intended to be a testable and demonstrably robust subset for safety-critical embedded applications such as [[glass cockpit]] [[avionics]] displays.
====OpenGL ES 1.0====
ContainedContiene muchmolte functionalityfunzionalità stripped from the originaldelle OpenGL APIoriginali ande ane littleaggiunge bit addedalcune. TwoLe ofdue thedifferenze moreprincipali significantsono differencesla betweenrimozione OpenGL ES and OpenGLdella aresemantica thedi removal of thechiamata <code>glBegin</code> ... <code>glEnd</code> callingper semanticsil rendering fordelle primitive rendering (in favorfavore ofdei vertex arrays) ande thel'introduzione introductiondei ofdati [[fixed-pointin arithmetic|fixed-point]]virgola datafissa typesper forle vertexcoordinate coordinatesdei andvertici attributesdelle toprimitive bettere supportdegli theattributi, computationalper abilitiessfruttare ofmeglio le capacità di calcolo dei processori embedded processors,che whichspesso oftennon lackhanno anuna [[Floating point unit|FPU]]. ManyLe otheraltre areasdifferenze ofsono functionalitynumerose havema beendi removedportata inminore, versionquasi 1.0tutte tosemplificazioni produceper aprodurre lightweightun'interfaccia interface:più forsemplice example,ed quadessenziale. andSono polygonstate tolte le primitive di rendering di quadrati e poligoni, i texgen, linela andmodalità polygon stipplepoligonale, polygonle mode,linee antialiasede polygoni poligoni punteggiati, il rendering di poligoni antialiased (withcon alphaframmenti borderbordo fragmentsalfa, notnon multisamplemultisampled), le funzioni <code>ARB_Image</code> classsu pixelclassi operationdi functionalitypixel, bitmapsle bitmap, 3Dle texture 3D, drawingil todisegno thesul frontbuffer, accumulationil buffer, copydi pixelsaccumulazione, evaluators,la selectioncopia pixel, feedbackil push/pop degli attributi di stato, le display listslist, pushi andvalutatori, pople state attributesselezioni, two-sidedi lightingfeedback, andl'illuminazione su due lati e i piani userdi definedclipping clipdefiniti planesdall'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.
Adds to the OpenGL ES 1.0 functionality by introducing additional features such as mandatory support for multitexture, better multitexture support (with combiners and dot product texture operations), automatic [[mipmap]] generation, vertex buffer objects, state queries, user clip planes, and greater control over point rendering.
====OpenGL ES 2.0====
OpenGLVengono ESrilasciate 2.0 was publicly released innel MarchMarzo 2007<ref>http://www.khronos.org/news/press/releases/finalized_opengl_es_20_specification/</ref>, eliminatesed mosteliminano ofla themaggior fixed-functionparte renderingdella pipeline indi favor ofrendering a programmablefunzioni one.fisse Almostin allfavore renderingdi featuresuna ofprogrammabile: thequasi transformtutte andle lightingfunzioni pipelines,di suchrendering asdella thepipeline specificationdi oftransform materials& lighting, andcome lightil parameterssettaggio formerlydei specifiedparametri bydi theluci fixed-functione APImateriali, arevengono replacedsostituite byda [[Vertexvertex andshaders]] e [[pixel shaders|shaders]] writtenprogrammati by the graphics programmerseparatamente. As aPer resultquesto, OpenGL ES 2.0 isnon notè [[backwards compatibleretrocompatibilità|retrocompatibile]] withcon OpenGLle ESversioni 1.0 e 1.1.
Questa parte non la traduco apposta, perché non mi piace parlare di cose che NON sono ancora accadute... wikipedia non è un oracolo!!!!
====OpenGL ES 2.1====
OpenGL ES 2.1, while not yet publicly released, will add royalty-free texture compression scheme with 4 bits per pixel to offer enhanced quality compared to [[S3TC]]. This is an optional extension in 2.0 and will be made part of the core for OpenGL ES 2.1<ref>http://www.khronos.org/opengles/2_X/</ref>.
-->
== Usage ==
== Uso delle OpenGL ES ==
====OpenGL ES 1.0====
* OfficialSono 3D Graphicsle [[Application programming interface|API]] in3D ufficiali bothsia in [[Symbian OS]]<ref>[http://www.symbian.com/symbianos/releases/v95/productsheet.html ''Symbian OS v9.5 product sheetdatasheet''], Symbian</ref> andsia thesulla [[Android|piattaforma (mobile device platform)|Android platform]]<ref>[http://developer.android.com/guide/basics/what-is-android.html ''What isCos'è Android?''], Google</ref>
* SupportedSupportate by thedalla [[PlayStation 3]] ascome oneuna ofdelle officialAPI graphics3D APIsufficiali <ref>[http://www.khronos.org/developers/library/siggraph2006/OpenGL_ES_BOF/OpenGL-ES-Demos.ppt Demo di OpenGL ES demo in formato PPT format]</ref> (thel'altra è otherla onelibreria beinga lowbasso levellivello ''libgcm'' library). TheLa PlayStation 3 alsoinclude includesanche severalmolte featurescaratteristiche ofdelle OpenGL ES 2.0.
====OpenGL ES 1.1====
* SupportedSupportate byda Android 1.6
* SupportedSupportate by theda [[iPhone]], [[iPod Touch]] ande [[iPad]]
* SupportedSupportate bydalla the BlackBerryserie 5.0 operatingdel systemsistema seriesoperativo BlackBerry<ref>{{cite web |url=http://docs.blackberry.com/en/developers/deliverables/11953/New_in_this_beta_release_895185_11.jsp |title=New in this beta release |work=Release Notes - BlackBerry Java Application |publisher=[[Research in Motion]] |accessdate=2009-12-08}}</ref>. HoweverTuttavia, onlysolo thei [[BlackBerry Storm 2]], [[BlackBerry Curve 8530]] ande latersuccessivi modelsmodelli havehanno thel'hardware necessary hardwarenecessario<ref>{{cite news |title=What to expect for BlackBerry smartphones |first=Damian |last=Koh |newspaper=[[CNET Networks|CNET Asia]] |date=2009-11-29 |url=http://asia.cnet.com/reviews/mobilephones/0,39050603,62059292,00.htm |accessdate=2009-12-08 }}</ref>
* SupportedSupportate forda Palm [[webOS]], usingusando theil 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====
* SupportedSupportate by theda [[iPhone]] (3GS ore latersuccessivi), [[iPod Touch]] (3rdterza generationserie ande latersuccessivi) ande [[iPad]]
* SupportedSupportate by thedalla [[Android|piattaforma (mobile device platform)|Android platform]] sincedalla 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>
* SupportedSupportate by thedalla [[Android|piattaforma (mobile device platform)|Android platform]] NDK sincedalla Androidversione 2.0 <ref>{{cite news |title=Android NDK hits Release 3, brings OpenGL ES 2.0 access to devs |url=http://www.engadget.com/2010/03/08/android-ndk-hits-release-3-brings-opengl-es-2-0-access-to-devs/ |date=2010-03-08 |publisher=Engadget }}</ref>
* Libreria 3D Librarydella of theconsole [[pandora (console)|Pandora console]]
* ChosenScelte forper [[WebGL]] (OpenGL forper browsers)<ref>[http://www.khronos.org/news/press/releases/khronos-webgl-initiative-hardware-accelerated-3d-graphics-internet Khronos Details WebGL Initiative to Bring Hardware-Accelerated 3D Graphics to the Internet]</ref>
* SupportedSupportate byda somealcuni newnuovi cellulari [[Nokia]] mobilecome phones, such as theil [[MaemoNokia N900]] basedbasato su [[Nokia N900Maemo]]<ref name=n900specs>{{cite web|title=Maemo software - Nokia > Nokia N900 mobile computer > Technical specifications|url=http://maemo.nokia.com/n900/specifications/|publisher=Nokia Corporation|accessdate=12 January 2010}}</ref> and the [[Symbian platform|Symbian^3]] based [[Nokia N8]].
* SupportedSupportate byda variousvari cellulari [[Samsung]] mobile phones, includingcompreso theil [[Samsung_Galaxy S|Galaxy S]] ande il [[Samsung_Wave|Wave]]
* SupportedSupportate forda Palm [[webOS]], usingcon theil Plug-in Development Kit <ref>[http://developer.palm.com/index.php?option=com_content&view=article&id=1989&Itemid=370#CoreTechnologies]</ref>
== Further readingRiferimenti ==
* 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 ▼
* 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 ▼
== References ==
{{Reflist|2}}
== ExternalLink linksesterni ==
* [http://www.khronos.org/opengles/ OfficialSito websiteweb di Khronos]
* [http://www.khronos.org/bugzilla/ Public bugBug tracking pubblico]
* [http://www.khronos.org/members/conformant#opengles OpenGLCostruttori ESconformi Conformanta companiesOpenGL ES]
* [http://www.khronos.org/message_boards/viewforum.php?f=19 Public forums]
* [http://www.glbenchmark.com/result.jsp ListLista ofdi OpenGLdispositivi EScompatibili compatibleOpenGL devicesES]
* [https://wiki.mozilla.org/Canvas:3D The Firefox effort to support 3D based on OpenGL ES with the <canvas> tag]
* [http://www.gremedy.com/gDEBuggerES.php gDEBugger ES - OpenGL ES Debugger and Profiler] including an OpenGL ES implementation on a Windows PC operating system
* [http://www.malideveloper.com/ Free tools and resources for OpenGL ES development]
* [http://www.malideveloper.com/tools/software-development/opengl-es-20-emulator.php Free emulator for OpenGL ES 2.0 for Windows and Linux]
<!--
== Further reading ==
▲* 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
▲* 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
-->
|