OpenGL ES

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
OpenGL ES
software
Siglă
Tip Bibliotecă software (nu este listată )
Grafică pe computer
Dezvoltator Grupul Khronos
Data primei versiuni 28 iulie 2003
Ultima versiune 3.2 (17 martie 2014 )
Sistem de operare Multiplatform
Licență Variat
( licență gratuită )
Site-ul web www.khronos.org/opengles/

OpenGL ES este un subset de biblioteci grafice OpenGL concepute pentru dispozitive integrate (telefoane mobile, PDA-uri etc. , dar și instrumente științifice și industriale). Este administrat de consorțiul non-profit Khronos Group , care se ocupă și de dezvoltarea bibliotecii părinte OpenGL.

Versiuni

În prezent, există multe versiuni diferite ale specificației OpenGL ES. Versiunea 1.0 se bazează pe OpenGL versiunea 1.3, în timp ce versiunea 1.1 se bazează pe OpenGL 1.5 și 2.0 este definită în raport cu OpenGL 2.0. Ambele versiuni 1.0 și 1.1 acceptă două profiluri, common și common-lite ; profilul lite acceptă doar tipuri de date întregi în loc de date normale în virgulă mobilă , în timp ce profilul comun acceptă ambele.

OpenGL ES oferă, de asemenea, un alt profil critic de siguranță conceput pentru sisteme critice și / sau de înaltă securitate, cum ar fi afișajele avionice, instrumentarea aeronavei și aplicațiile militare: principalele caracteristici ale acestui profil sunt stabilitatea, testabilitatea și robustețea intrinsecă.

OpenGL ES 1.0

Conține multe caracteristici ale OpenGL original și adaugă unele dintre ele. Cele două diferențe principale sunt eliminarea semanticului glBegin ... glEnd pentru redarea primitivelor (în favoarea matricelor de vârfuri) și introducerea datelor punctului fix pentru coordonatele vârfurilor primitivelor și atributelor, pentru a exploata mai bine capacitățile de calcul de procesoare încorporate care adesea nu au FPU . Celelalte diferențe sunt numeroase, dar minore, aproape toate simplificările pentru a produce o interfață mai simplă și mai esențială. Primitivele de redare a pătratelor și poligoanelor, textilelor, modul poligonal, liniilor punctate și poligoanelor, redarea poligoanelor antialiasate (cu fragmente de margine alfa, nu multisamplate), funcțiile ARB_Image pe clase de pixeli, bitmap-urile au fost eliminate, texturi 3D , desen frontbuffer, tampon de acumulare, copiere pixel, push / pop a atributelor de stare, liste de afișare, evaluatori, selecții, feedback-uri, iluminare față-verso și decupare definită de utilizator.

OpenGL ES 1.1

Acesta adaugă caracteristicile de asistență obligatorii multitexturării, normale și îmbunătățite (cu combinații și operații scalare ale produsului între texturi), generarea automată de mipmaps , obiecte tampon vertex, interogări de stare și, în general, un control mai mare asupra redării punctelor. Sunt introduse planurile de tăiere a utilizatorilor.

OpenGL ES 2.0

Au fost lansate în martie 2007 [1] și elimină cea mai mare parte a conductei de redare a funcțiilor fixe în favoarea uneia programabile: aproape toate funcțiile de redare ale conductei de transformare și iluminare, cum ar fi setarea parametrilor luminilor și materialelor, ele sunt înlocuite de umbrere de vârf și umbrere de pixeli programate separat. Ca atare, OpenGL ES 2.0 nu este compatibil cu versiunile 1.0 și 1.1.

OpenGL ES 3.0

Această specificație a fost publicată public în august 2012 și este compatibilă cu OpenGL ES 2.0.

Funcții noi în ES OpenGL 3.0:

  • Mai multe îmbunătățiri ale conductei de redare pentru a permite accelerarea efectelor vizuale avansate, inclusiv: interogări de ocluzie, feedback de transformare, instanțe de redare și suport pentru patru sau mai multe ținte de redare
  • Compresie textură ETC2 / EAC de înaltă calitate ca o caracteristică standard, eliminând necesitatea unui set diferit de texturi pentru fiecare platformă
  • Noua versiune a limbajului de umbrire GLSL ES cu suport complet pentru operații în virgulă interioară și pe 32 de biți;
  • Funcționalitate de texturare foarte îmbunătățită, inclusiv suport garantat pentru texturi în virgulă mobilă, texturi 3D, texturi, texturi cu adâncime de vârf, texturi NPOT, texturi R / RG, texturi, texturi imutabile cu matrice 2D, swizzles, LOD-uri și cleme MIP, hărți cubice fără sudură și obiecte sampler
  • Un set vast de solicitări, structura solicită în mod explicit dimensiunile și formatele bufferului de redare, reducând variabilitatea și facilitând scrierea aplicațiilor portabile.

OpenGL ES 3.1

Specificația OpenGL ES 3.1 a fost lansată publicului în martie 2014. Noile caracteristici din OpenGL ES 3.1 includ:

  • Calculează Shaders
  • Vertice și umbrere de fragmente independente
  • Comenzi de desen indirect

OpenGL ES 3.1 este compatibil cu OpenGL ES 2.0 și 3.0, permițând aplicațiilor să se integreze treptat cu noi caracteristici.

OpenGL ES 3.2

Specificația OpenGL ES 3.2 [2] a fost lansată public în august 2015. Noile funcții din OpenGL ES 3.2 includ:

  • Umbrele geometriei de teselare pentru a procesa eficient scene complexe pe GPU.
  • Țintă de redare în virgulă mobilă pentru a crește flexibilitatea în operațiile de calcul de înaltă precizie.
  • Compresie ASTC pentru a reduce utilizarea memoriei și lățimea de bandă utilizată pentru procesarea texturilor.
  • Amestec avansat pentru gestionarea sofisticată a compoziției și gestionarea atașamentelor multiple de culoare.
  • Ținte de text avansate, cum ar fi tampoane de textură, matrice 2D multisamplate și matrice de hărți cub.
  • Funcții de verificare și depanare a robusteții pentru a facilita dezvoltarea codului și executarea sigură.

Starea actuală a specificației 3.2 este din noiembrie 2016 [3] .

Utilizarea OpenGL ES

OpenGL ES 1.0

OpenGL ES 1.1

OpenGL ES 2.0

OpenGL ES 3.0

  • Suportat de Android de la versiunea 4.3 [14]
  • Suportat de iPhone 5S

OpenGL ES 3.1

Suportat de Windows, Linux, Android (de Lollipop) pe dispozitive cu hardware și drivere adecvate, inclusiv:

  • Seria Adreno 400 [26] [27]
  • Grafică Intel HD pentru seria Intel Atom Z3700 (Android)
  • Grafică Intel HD pentru Seriile Intel Celeron N și J (Android)
  • Grafică Intel HD pentru Seriile Intel Pentium N și J (Android)
  • Seria Mali T6xx (Midgard) în continuare [28] (Android, Linux)
  • Seria Nvidia GeForce 400 în continuare (Windows)
  • Nvidia Tegra K1 (Android)
  • Nvidia Tegra X1 (Android)
  • PowerVR Seria 6, 6XE, 6XT, 7XE și 7XT (Linux, Android)
  • Seria Vivante GC2000 în continuare (opțional cu GC800 și GC1000)

OpenGL ES 3.2

Suportat de Windows, Linux, Android (posibil de la versiunea 6.0, 7.0+ Vulkan 1.0 și OpenGL ES 3.2 sunt necesare) pe dispozitive cu hardware și drivere adecvate, inclusiv:

  • Adreno 420 și mai nou (Android, Linux)
  • Arhitectură AMD GCN (Windows, Linux (Mesa 18.2))
  • Intel HD Graphics Skylake și mai nou (Linux) [15]
  • Mali-T760 și mai nou (Android, Linux)
  • Seria Nvidia GeForce 400 (Fermi) și mai târziu (Windows, Linux) [16]
  • VIRGL: driver virtual pentru mașini virtuale în 2018 cu Mesa 18.1 (Vezi Mesamatrix.net)

Notă

  1. ^ Khronos Group acordă prioritate participării Chinei la crearea standardului tehnologic internațional cheie - Comunicat de presă Khronos Group Arhivat 28 decembrie 2010 la Internet Archive .
  2. ^ Specificația OpenGL ES 3.2 , la khronos.org .
  3. ^ https://www.khronos.org/registry/OpenGL/specs/es/3.2/es_spec_3.2.pdf
  4. ^ Foaie de date Symbian OS v9.5 Arhivat 27 martie 2008 la Internet Archive ., Symbian
  5. ^ Ce este Android? , Google
  6. ^ Demo OpenGL ES în format PPT
  7. ^ Nou în această versiune beta , în Note de lansare - BlackBerry Java Application , Research in Motion . Adus la 8 decembrie 2009 (arhivat din original la 2 decembrie 2009) .
  8. ^ Damian Koh, Ce să ne așteptăm pentru smartphone-urile BlackBerry , CNET Asia , 29 noiembrie 2009. Accesat la 8 decembrie 2009 (arhivat din original la 13 decembrie 2009) .
  9. ^ a b Dezvoltarea aplicațiilor și pluginurilor PDK - HP webOS Developer Center Arhivat 1 ianuarie 2011 la Internet Archive .
  10. ^ Specificații Android 2.2 , Google, 1 iulie 2010 (arhivat din original la 11 octombrie 2010) .
  11. ^ Android NDK a lansat versiunea 3, aduce acces OpenGL ES 2.0 la dev , Engadget, 8 martie 2010.
  12. ^ Khronos Detalii Inițiativa WebGL pentru a aduce grafică 3D accelerată hardware pe internet Arhivat 12 aprilie 2012 în WebCite .
  13. ^ Software Maemo - Nokia> Computer mobil Nokia N900> Specificații tehnice , la maemo.nokia.com , Nokia Corporation. Adus la 12 ianuarie 2010 (arhivat din original la 29 octombrie 2009) .
  14. ^ API-uri Android 4.3 , Google, 24 iulie 2013.
  15. ^ https://people.freedesktop.org/~imirkin/glxinfo/#p=es&v=Mesa%2017.2.0
  16. ^ NVIDIA lansează 358.50 Drivere gata de joc pentru Star Wars Battlefront , la anandtech.com , AnandTech. Adus pe 7 octombrie 2015 .

linkuri externe

Alte lecturi

Software gratuit Free Software Portal : accesați intrările Wikipedia care se ocupă de software gratuit