OpenGL ES

OpenGL ES

Informace
Vyvinul Skupina Khronos
První verze 28. července 2003
Poslední verze 3,2 (10. srpna 2015)
životní prostředí Multiplatformní
Typ Programovací rozhraní
webová stránka www.khronos.org/opengles

OpenGL ES ( Otevřít G raphics The ibrary pro E mBedded S YSTÉM, někdy zkráceně Ogles nebo GLES ) je specifikace z Khronos skupiny , která definuje API na platformě pro psaní aplikacím obrázků 3D odvozené specifikace OpenGL , ve formě vhodné pro mobilní nebo palubní platformy, jako jsou mobilní telefony , osobní asistenti (PDA), přenosné herní konzoly, přehrávače médií v kapse nebo v obývacím pokoji ... Videohra PlayStation 3 také používá derivát OpenGL ES s názvem PSGL .

Dopady

OpenGL ES je primárně zjednodušení OpenGL se dvěma cíli: štíhlejší API z hlediska nákladů na paměť a procesor a další zjednodušení.

Lehčí, protože tyto platformy obecně nejsou příliš výkonné a nejsou příliš poskytovány v paměti RAM. Mnoho funkcí bylo proto upuštěno. Některá rozšíření byla integrována nebo dokonce přidána do výchozího profilu, protože jsou v těchto prostředích zásadní, jiná byla zachována a většina z nich byla vyloučena. Výpočty se přednostně provádějí v pevném bodě , protože dotyčné procesory mají jen zřídka kapacitu výpočtu s plovoucí desetinnou čárkou .

Jedná se o znatelné zjednodušení, pokud jde o specifičnost platforem, což usnadňuje práci vývojářům. Klasický 3D vývojář musí skutečně spravovat jednu nebo dvě konzoly a / nebo sadu grafických karet od dvou nebo tří hlavních výrobců. Programátor vestavěných platforem musí oslovit stovky různých mobilních telefonů pro tucet značek, které běží pod třemi nebo čtyřmi operačními systémy ( Windows Mobile , Symbian , Android , Brew , Linux , WIPI ...), s grafickými kartami od tří hlavních dodavatelů ( ATI , NVidia , Imagination Technologies ) a obrazovky velmi různých rozlišení, na výšku nebo na šířku. Je proto nutné, aby bylo možné specifikovat jeho potřeby a poté nechat OpenGL ES provádět interní volby, stejně jako je důležité, aby software nebo zrychlené vykreslování byly ovládány stejným způsobem.

Některé nedávné prohlížeče umožňují díky WebGL a JavaScriptu nativně zobrazit 3D obsah v OpenGL ES. To otevírá vyhlídky na vývoj online 3D her.

Různé standardy

OpenGL ES prošel čtyřmi hlavními revizemi:

Standard 1,2 byl plánován, ale nikdy nebyl publikován.

K dispozici je také OpenGL ES-SC 1.0 ( OpenGL ES pro S afety C ritical aplikace), pro armádu, civilní letectví nebo jiné aplikace tolerantní non-poruch. Odstranění funkce je lehčí a bezpečnější.

Specifikace OpenGL ES v současné době těží z mechanismu certifikace hardwaru. Jakýkoli produkt proto může tvrdit, že je kompatibilní s OpenGL ES, aniž by ověřil svůj stupeň shody s normou. Implementace však musí projít řadou testů, aby byly prohlášeny za vyhovující; ve skutečnosti se ho málokdo snaží předat.

Vulkan

7. ledna 2014 skupina Khronos původně oznámila Vulkan jako OpenGL ES Next OpenGL ES Next je ekvivalentem OpenGL Next pro vloženou sérii. Zabírá pokroky Gallium3D ve volné implementaci Mesa 3D OpenGL, která prokázala u Gallium3D , a zejména LLVMpipe , že bylo možné mít relativně správný výkon s 3D vykreslením pouze pro software, za předpokladu, že `` chytřejší použití různé dostupné zdroje (jádra atd.), tato vylepšení také umožnila snížit využití CPU, když byla přítomna hardwarová akcelerace. Tyto pokroky nejprve inspirovaly vytvoření Mantle_ (API)  (en) na AMD , poté úpravy u Microsoftu s Direct3D 12 a znovu Khronos s OpenGL Next. Ve všech těchto případech je API přepracováno a chyby návrhu předchozích verzí, nevhodné pro technický a technologický pokrok v hardwaru, jsou ze specifikací vyloučeny.

Nakonec Vulkan sjednocuje jak vestavěnou verzi OpenGL ES, tak desktopovou verzi OpenGL.

Implementace softwaru

Materiální podpora

Existuje několik grafických procesorů, které mají ovladače OpenGL ES.

Problémy

Během vývoje je často pozorován neočekávaný problém. Jelikož mobilní platformy mají často velmi krátký životní cyklus, piloti jsou často psáni rychle a implementace jsou často špatné, takže většina rozšíření nechává stranou (například mesh ( skinování ) , mapování krychle prostředí nebo některá proprietární rozšíření, jako je komprese textury PVRTC MBX) ), ale někdy i některé příliš složité standardní funkce, například Vertex Buffer Objects.

Mnoho aplikací je vyvinuto pro OpenGL, který má větší sadu instrukcí. Existuje několik pokusů o spuštění aplikací OpenGL na OpenGL ES:

externí odkazy


Poznámky a odkazy

  1. „  https://www.khronos.org/news/press/khronos-expands-scope-of-3d-open-standard-ecosystem  “
  2. 2012 SIGGRAPH OpenGL ES BOF
  3. (in) OpenGL ES FRO Siggraph (PDF prezentace nového OpenGL ES 3.0)
  4. (in) „  Specifikace OpenGL ES 3.1  “ , khronos.org,4. června 2014(zpřístupněno 29. října 2014 )
  5. (in) „  OpenGL ES Další  “ ,7. ledna 2014(zpřístupněno 8. ledna 2014 )
  6. (en) Ryan Smith, „  Nová generace OpenGL se stává vulkánem: Vydány další podrobnosti  “ , Anandtech ,3. března 2015
  7. (en) https://developer.android.com/about/versions/android-2.2.html
  8. David Legrand, „  Během své konference, která měla představit nový Nexus 7, Google využil příležitosti začít mluvit o ...  “ , na pcinpact.com , Next INpact ,24. července 2013(zpřístupněno 23. srpna 2020 ) .
  9. „  Vivante Graphics Processor IP  “ (zpřístupněno 5. srpna 2012 )
  10. Emulátor OpenGL ES 3.0