Dezvoltat de | Grupul Khronos |
---|---|
Prima versiune | 28 iulie 2003 |
Ultima versiune | 3.2 (10 august 2015) |
Mediu inconjurator | Multiplatform |
Tip | Interfață de programare |
Site-ul web | www.khronos.org/opengles |
OpenGL ES ( Open G raphics The ibrary for E mBedded S ystem , uneori prescurtat ca Ogles sau GLES ) este o specificație a grupului Khronos care definește o API multiplataforma pentru scrierea aplicațiilor specificații derivate 3D OpenGL , într-o formă potrivită pentru mobil sau platforme de la bord, cum ar fi telefoane mobile , asistenți personali (PDA), console portabile de jocuri video, playere media de buzunar sau cameră de zi ... Consola de jocuri video PlayStation 3 folosește și un derivat al OpenGL ES numit PSGL .
OpenGL ES este în primul rând o simplificare a OpenGL, cu două obiective: un API mai slab în ceea ce privește memoria și costul procesorului și o simplificare suplimentară.
Mai ușoare, deoarece aceste platforme nu sunt în general foarte puternice și nu sunt prea mult furnizate în RAM. Prin urmare, multe caracteristici au fost abandonate. Unele extensii au fost integrate sau chiar adăugate la profilul implicit, deoarece sunt esențiale în aceste medii, altele au fost păstrate, majoritatea fiind eliminate. Calculele sunt efectuate, de preferință, într-un punct fix , deoarece procesoarele în cauză au rareori o capacitate de calcul în virgulă mobilă .
Aceasta este o simplificare semnificativă în ceea ce privește specificitățile platformelor, care facilitează munca dezvoltatorilor. Într-adevăr, un dezvoltator 3D clasic trebuie să gestioneze una sau două console și / sau un set de plăci grafice de la doi sau trei producători principali. Un programator de platforme încorporate trebuie să se adreseze sutelor de telefoane mobile diferite, pentru o duzină de mărci, care rulează sub trei sau patru sisteme de operare ( Windows Mobile , Symbian , Android , Brew , Linux , WIPI ...), cu plăci grafice de la cei trei furnizori principali ( ATI , NVidia , Imagination Technologies ) și ecrane cu rezoluții foarte diferite, în orientare portret sau peisaj. Prin urmare, este necesar ca acesta să își poată specifica nevoile și apoi să permită OpenGL ES să facă alegeri interne, la fel cum este important ca software-ul sau redarea accelerată să fie controlate în același mod.
Unele browsere recente permit, datorită WebGL și JavaScript , să afișeze conținut 3D în mod nativ în OpenGL ES. Acest lucru deschide perspective pentru dezvoltarea de jocuri online 3D.
OpenGL ES a trecut prin patru revizuiri principale:
A fost planificat un standard 1.2, dar nu a fost niciodată publicat.
Există , de asemenea , OpenGL ES-SC 1.0 ( OpenGL ES pentru S Instru C aplicație ritical), pentru alte aplicații tolerante non-defecte militare, aviația civilă sau. Eliminarea caracteristicilor îl face mai ușor și mai sigur.
Specificația OpenGL ES nu beneficiază în prezent de un mecanism de certificare hardware. Prin urmare, orice produs poate pretinde că este compatibil OpenGL ES fără a fi verificat gradul său de conformitate cu standardul. Cu toate acestea, implementările trebuie să fie supuse unei serii de teste pentru a fi declarate conforme; de fapt, puțini încearcă să o treacă.
Pe 7 ianuarie 2014, Khronos Group a anunțat inițial Vulkan drept OpenGL ES Next OpenGL ES Next este echivalentul OpenGL Next pentru seria încorporată. Reia progresele Gallium3D în implementarea gratuită Mesa 3D a OpenGL, care a demonstrat cu Gallium3D , și în special LLVMpipe , că a fost posibil să existe performanțe relativ corecte cu o redare 3D numai software, cu condiția ca „utilizarea mai inteligentă a diferite resurse disponibile (nuclee etc.), aceste progrese au făcut posibilă și reducerea utilizării procesorului atunci când accelerarea hardware a fost prezentă. Aceste progrese au inspirat mai întâi crearea Mantle_ (API) (en) la AMD , apoi modificări la Microsoft cu Direct3D 12 și din nou Khronos cu OpenGL Next. În toate aceste cazuri, API-ul este revizuit și erorile de proiectare ale versiunilor anterioare, inadecvate pentru progresele tehnice și tehnologice ale hardware-ului, sunt eliminate din specificații.
În cele din urmă, Vulkan unifică atât versiunea OpenGL ES încorporată, cât și versiunea OpenGL pentru desktop.
Există mai multe procesoare grafice care au drivere OpenGL ES.
O problemă neașteptată este adesea observată în timpul dezvoltării. Deoarece platformele mobile au adesea un ciclu de viață foarte scurt, piloții sunt deseori redactați rapid și implementările sunt adesea slabe, lăsând lateral majoritatea extensiilor (cum ar fi mesh ( skinning ) , cartografierea cubului de mediu sau unele extensii proprietare, cum ar fi compresia texturii PVRTC a MBX ), dar și uneori unele funcții standard prea complexe, cum ar fi Vertex Buffer Objects.
Multe aplicații sunt dezvoltate pentru OpenGL, care are un set de instrucțiuni mai mare. Există câteva încercări de a rula aplicații OpenGL pe OpenGL ES: