OpenGL ES - OpenGL ES
![]() Logo OpenGL ES | |
Původní autoři | ARB |
---|---|
Vývojáři | Skupina Khronos |
První vydání | 28. července 2003 |
Stabilní uvolnění | 3.2[1] / 10. srpna 2015 |
Operační systém | Cross-platform |
Plošina | Cross-platform |
Typ | API |
Licence | Zdarma, bez licenčních poplatků nebo licencí |
webová stránka | www |
้OpenGL pro vestavěné systémy (OpenGL ES nebo GLES) je podmnožina[2] z OpenGL počítačové grafické vykreslování aplikační programovací rozhraní (API) pro vykreslování 2D a 3D počítačová grafika například ty, které používá videohry, typicky hardwarově akcelerováno používat grafická jednotka (GPU). Je určen pro vestavěné systémy jako chytré telefony, tabletové počítače, herní konzole a PDA. OpenGL ES je „nejrozšířenější API pro 3D grafiku v historii“.[3]
API je křížový jazyk a multiplatformní. Knihovny NADBYTEK a GLU nejsou k dispozici pro OpenGL ES. OpenGL ES spravuje nezisková technologie konsorcium Skupina Khronos. Vulkan, API nové generace od společnosti Khronos, je vytvořeno pro jednodušší vysoce výkonné ovladače pro mobilní a stolní zařízení.[4]
Verze
Nyní existuje několik verzí specifikace OpenGL ES. OpenGL ES 1.0 je vypracován podle specifikace OpenGL 1.3, OpenGL ES 1.1 je definován ve vztahu ke specifikaci OpenGL 1.5 a OpenGL ES 2.0 je definován ve vztahu ke specifikaci OpenGL 2.0. To znamená, že například aplikace napsaná pro OpenGL ES 1.0 by měla být snadno přenositelná na desktop OpenGL 1.3; protože OpenGL ES je odizolovaná verze API, zadní strana může, ale nemusí být pravdivá, v závislosti na konkrétních použitých funkcích.
OpenGL ES přichází s vlastní verzí stínovací jazyk (OpenGL ES SL), který se liší od OpenGL SL.[5]
Verze 1.0 i 1.1 mají běžný (CM) a obyčejný lite (CL) profily, s tím rozdílem, že obyčejný lite profil podporuje pouze pevný bod namísto plovoucí bod podpora datových typů, zatímco běžný podporuje obojí.
OpenGL ES 1.0
OpenGL ES 1.0 byl veřejně vydán 28. července 2003. OpenGL ES 1.0 je založen na původním API OpenGL 1.3, s mnoha funkcemi odstraněnými a trochu přidanými. Jeden významný rozdíl mezi OpenGL a OpenGL ES spočívá v tom, že OpenGL ES odstranil potřebu držet volání knihovny OpenGL pomocí glBegin
a glEnd
. Další významné rozdíly spočívají v tom, že volací sémantika pro primitivní vykreslovací funkce byla změněna ve prospěch vertexových polí a pevný bod byly zavedeny datové typy pro souřadnice vrcholů. Byly také přidány atributy pro lepší podporu výpočetních schopností vestavěných procesorů, kterým často chybí a jednotka s plovoucí desetinnou čárkou (FPU). Mnoho dalších funkcí a vykreslovacích primitiv bylo ve verzi 1.0 odstraněno, aby vytvořilo odlehčené rozhraní, včetně:
- čtvercová a polygonová vykreslovací primitiva,
- texgen, line a polygon stipple,
- polygonový režim a vykreslování vyhlazeného polygonu nejsou podporovány, i když je stále možné vykreslování pomocí více vzorků (spíše než fragmenty alfa hranic),
ARB_Image
operace třídy pixelů nejsou podporovány, ani bitmapy nebo 3D textury,- několik technicky náročnějších režimů kreslení je vyloučeno, včetně frontbufferu a akumulační vyrovnávací paměti. Bitmapové operace, konkrétně kopírování pixelů (jednotlivě) není povoleno, ani hodnotitelé, ani (uživatelské) operace výběru,
- seznamy zobrazení a zpětná vazba jsou odstraněny, stejně jako operace push a pop pro atributy stavu,
- některé parametry materiálu byly odstraněny, včetně zadní strana parametry a uživatelem definované roviny klipu.
Aktuální verze je 1.0.0.2.[6]
Název přípony | Třídit # číslo | Detaily |
---|---|---|
OES_byte_coordinates | OpenGL ES Extension # 4 | (dříve OpenGL Extension # 291) |
OES_compressed_paletted_texture | OpenGL ES Extension # 6 | (dříve OpenGL Extension # 294) |
OES_fixed_point | OpenGL ES Extension # 9 | (dříve OpenGL Extension # 292) |
OES_query_matrix | OpenGL ES Extension # 16 | (dříve OpenGL Extension # 296) |
OES_read_format | OpenGL ES Extension # 17 | (dříve OpenGL Extension # 295) |
OES_single_precision | OpenGL ES Extension # 18 | (dříve OpenGL Extension # 293) |
volitelný | Mesa (všichni řidiči) | |
OES_compressed_ETC1_RGB8_texture | OpenGL ES Extension # 5 |
OpenGL ES 1.1
OpenGL ES 1.1 přidané funkce, jako je povinná podpora pro více textur, lepší podpora pro více textur (včetně kombinátorů a operací textury produktu s tečkami), automatická mipmapa generace, objekty vyrovnávací paměti vrcholů, stavové dotazy, roviny uživatelských klipů a větší kontrola nad vykreslováním bodů.[7]Aktuální verze je 1.1.12.[8]
Název přípony | Třídit # číslo |
---|---|
OES_draw_texture | OpenGL ES Extension # 7 |
OES_matrix_get | OpenGL ES Extension # 11 |
OES_point_size_array | OpenGL ES Extension # 14 |
OES_point_sprite | OpenGL ES Extension # 15 |
volitelný | Mesa (všichni řidiči) |
OES_EGL_image | OpenGL ES Extension # 23 |
OES_EGL_image_external | OpenGL ES Extension # 87 |
OES_required_internalformat | OpenGL ES Extension # TBD |
OpenGL ES 2.0
OpenGL ES 2.0 byl veřejně vydán v březnu 2007.[9] Je zhruba založen na OpenGL 2.0, ale vylučuje většinu pevná funkce vykreslovací kanál ve prospěch programovatelného v pohybu podobném přechodu z OpenGL 3.0 na 3.1.[10] Tok řízení ve shaderech je obecně omezen na dopředné větvení a na smyčky, kde lze snadno určit maximální počet iterací v době kompilace.[11] Téměř všechny vykreslovací funkce fáze transformace a osvětlení, jako je specifikace materiálů a světelných parametrů dříve specifikovaných API s pevnou funkcí, jsou nahrazeny shadery napsaný grafickým programátorem. Ve výsledku OpenGL ES 2.0 není zpětně kompatibilní s OpenGL ES 1.1. Některé nekompatibility mezi desktopovou verzí OpenGL a OpenGL ES 2.0 přetrvávaly až do OpenGL 4.1, který přidal GL_ARB_ES2_compatibility
rozšíření.[12]Aktuální verze je 2.0.25.[13]
Skupina Khronos vytvořila dokument popisující rozdíly mezi OpenGL ES 2.0 a běžným OpenGL 2.0.[14]
Název přípony | Třídit # číslo |
---|---|
OES_texture_cube_map | OpenGL ES Extension # 20 |
OES_texture_npot | OpenGL ES Extension # 37 |
OES_depth24 | OpenGL ES Extension # 24 |
OES_depth_texture | OpenGL ES Extension # 44 |
OES_element_index_uint | OpenGL ES Extension # 26 |
OES_fbo_render_mipmap | OpenGL ES Extension # 27 |
OES_get_program_binary | OpenGL ES Extension # 47 |
OES_mapbuffer | OpenGL ES Extension # 29 |
OES_packed_depth_stencil | OpenGL ES Extension # 43 |
OES_rgb8_rgba8 | OpenGL ES Extension # 30 |
OES_stencil8 | OpenGL ES Extension # 33 |
OES_vertex_half_float | OpenGL ES Extension # 38 |
další | v MESA (všichni řidiči) |
OES_EGL_image | OpenGL ES Extension # 23 (jiné pro 1.1) |
OES_EGL_image_external | OpenGL ES Extension # 87 (jiné pro 1.1) |
OES_texture_float_lineární OES_texture_half_float_lineární | OpenGL ES Extension # 35, rozšířeno v ES 3.0 a 3.1 |
OES_texture_float OES_texture_half_float | OpenGL ES Extension # 36, rozšířeno v ES 3.0 a 3.1 |
OES_standard_derivatives | OpenGL ES Extension # 45 |
OES_surfaceless_context | OpenGL ES Extension # 116 |
OES_depth_texture_cube_map | OpenGL ES Extension # 136 |
EXT_texture_filter_anisotropic | OpenGL ES Extension # 41 |
EXT_texture_type_2_10_10_10_REV | OpenGL ES Extension # 42 |
EXT_texture_compression_dxt1 | OpenGL ES Extension # 49 |
EXT_texture_format_BGRA8888 | OpenGL ES Extension # 51 |
EXT_discard_framebuffer | OpenGL ES Extension # 64 |
EXT_blend_minmax | OpenGL ES Extension # 65 |
EXT_read_format_bgra | OpenGL ES Extension # 66 |
EXT_multi_draw_arrays | OpenGL ES Extension # 69 |
EXT_frag_depth | OpenGL ES Extension # 86 |
EXT_unpack_subimage | OpenGL ES Extension # 90 |
EXT_texture_rg | OpenGL ES Extension # 103 |
EXT_draw_buffers | OpenGL ES Extension # 151 |
EXT_compressed_ETC1_RGB8_sub_texture | OpenGL ES Extension # 188 |
NV_draw_buffers | OpenGL ES Extension # 91 |
NV_fbo_color_attachments | OpenGL ES Extension # 92 |
NV_read_buffer | OpenGL ES Extension # 93 |
NV_read_depth_stencil | OpenGL ES Extension # 94 |
ANGLE_texture_compression_dxt | OpenGL ES Extension # 111 |
OpenGL ES 3.0
Specifikace OpenGL ES 3.0[15] byl veřejně vydán v srpnu 2012.[16] OpenGL ES 3.0 je zpětně kompatibilní s OpenGL ES 2.0, což umožňuje aplikacím postupně přidávat do aplikací nové vizuální funkce. OpenGL 4.3 poskytuje plnou kompatibilitu s OpenGL ES 3.0. Verze 3.0 je také základem pro WebGL 2.0.[17]Aktuální je verze 3.0.6.[18]
Nové funkce ve specifikaci OpenGL ES 3.0 zahrnují:
- několik vylepšení vykreslovací potrubí umožnit zrychlení pokročilých vizuálních efektů včetně: okluzní dotazy, transformovat zpětnou vazbu, instanční vykreslování a podpora pro čtyři a více vykreslovací cíle,
- vysoká kvalita ETC2 / EAC komprese textury jako standardní funkce, což eliminuje potřebu jiné sady textury pro každou platformu,
- nová verze GLSL ES stínovací jazyk[19] s plnou podporou pro celé číslo a 32-bit plovoucí bod operace;
- výrazně vylepšeno texturování funkčnost včetně zaručené podpory pro plovoucí bod textury, 3D textury, hloubkové textury, vrcholové textury, NPOT textury, R / RG textury, neměnné textury, textury 2D pole, swizzles, LOD a úroveň MIP svorky, bezešvé krychlové mapy a objekty vzorníku,
- rozsáhlá sada požadovaných, výslovně dimenzovaných textura a formáty vykreslovací vyrovnávací paměti, což snižuje variabilitu implementace a usnadňuje psaní přenosných aplikací.
Název přípony | Třídit # číslo | Detaily |
---|---|---|
OES_vertex_array_object | OpenGL ES Extension # 71 | |
KHR_context_flush_control | OpenGL ES Extension # 191 | (pouze pro GL_KHR_context_flush_control) |
další | v MESA (všichni řidiči) | |
OES_texture_compression_astc | OpenGL ES Extension # 162 | |
EXT_texture_border_clamp | OpenGL ES Extension # 182 | |
EXT_draw_elements_base_vertex | OpenGL ES Extension # 204 | |
OES_EGL_image_external_essl3 | OpenGL ES Extension # 220 | |
MESA_shader_integer_functions | OpenGL ES Extension # 495 |
OpenGL ES 3.1
Specifikace OpenGL ES 3.1[20] byla veřejně vydána v březnu 2014. Nová funkcionalita v OpenGL ES 3.1 zahrnuje:[21]
- Vypočítat shadery
- Nezávislé shadery vrcholů a fragmentů
- Příkazy nepřímého kreslení
OpenGL ES 3.1 je zpětně kompatibilní s OpenGL ES 2.0 a 3.0, což umožňuje aplikacím postupně přidávat nové funkce. Aktuální verze je 3.1- (listopad 2016).[22]
Název přípony | Třídit # číslo |
---|---|
ARB_arrays_of_arrays | ARB Extension # 120 |
ARB_compute_shader | ARB Extension # 122 |
ARB_explicit_uniform_location | ARB Extension # 128 |
ARB_framebuffer_no_attachments | ARB Extension # 130 |
ARB_program_interface_query | ARB Extension # 134 |
ARB_shader_atomic_counters | ARB Extension # 114 |
ARB_shader_image_load_store | ARB Extension # 115 |
ARB_shader_storage_buffer_object | ARB Extension # 137 |
ARB_separate_shader_objects | ARB Extension # 97 |
ARB_stencil_texturování | ARB Extension # 138 |
ARB_vertex_attrib_binding | ARB Extension # 125 |
ARB_draw_indirect | ARB Extension # 87 |
ARB_shading_language_packing | ARB Extension # 116 |
ARB_shader_image_size | Rozšíření ARB # 136 |
ARB_texture_storage_multisample | ARB Extension # 141 |
ARB_texture_multisample | ARB Extension # 67 |
EXT_shader_integer_mix | OpenGL ES Extension # 161 |
volitelný | Mesa (všechny ovladače OpenGL ES 3.1+) |
ARB_sample_locations | ARB Extension # 181 |
OES_texture_view | OpenGL ES Extension # 218 |
NV_image_formats | OpenGL ES Extension # 200 |
EXT_render_snorm | OpenGL ES Extension # 206 |
EXT_texture_norm 16 | OpenGL ES Extension # 207 |
OpenGL ES 3.2
Specifikace OpenGL ES 3.2[23] byl veřejně vydán v srpnu 2015. Mezi nové funkce OpenGL ES 3.2 patří:
- Geometrie a mozaikování shadery pro efektivní zpracování složitých scén na GPU.
- Cílové cíle vykreslení s plovoucí desetinnou čárkou pro větší flexibilitu při výpočtových operacích s vyšší přesností.
- ASTC komprese ke snížení paměťové stopy a šířky pásma použité ke zpracování textur.
- Vylepšené míchání pro sofistikované skládání a manipulaci s více barevnými přílohami.
- Pokročilé cíle textur, jako jsou vyrovnávací paměti textur, vícevzorové 2D pole a pole krychlových map.
- Funkce ladění a robustnosti pro snazší vývoj kódu a bezpečné provádění.
Aktuální stav je 3.2.6 července 2019.[24][25]
Název přípony | Třídit # číslo |
---|---|
KHR_blend_equation_advanced | OpenGL ES Extension # 168 |
EXT_color_buffer_float | OpenGL ES Extension # 137 |
KHR_debug | OpenGL ES Extension # 118 |
KHR_robustnost | OpenGL ES Extension # 190 |
OES_copy_image | OpenGL ES Extension # 208 |
OES_draw_buffers_indexed | OpenGL ES Extension # 209 |
OES_draw_elements_base_vertex | OpenGL ES Extension # 219 |
OES_geometry_shader | OpenGL ES Extension # 210 |
OES_gpu_shader5 | OpenGL ES Extension # 211 |
OES_sample_shading | OpenGL ES Extension # 169 |
OES_sample_variables | OpenGL ES Extension # 170 |
OES_shader_image_atomic | OpenGL ES Extension # 171 |
OES_shader_io_blocks | OpenGL ES Extension # 213 |
OES_shader_multisample_interpolace | OpenGL ES Extension # 172 |
OES_tessellation_shader | OpenGL ES Extension # 214 |
OES_texture_border_clamp | OpenGL ES Extension # 215 |
OES_texture_buffer | OpenGL ES Extension # 216 |
OES_texture_cube_map_array | OpenGL ES Extension # 217 |
OES_texture_stencil8 | OpenGL ES Extension # 173 |
OES_texture_storage_multisample_2d_array | OpenGL ES Extension # 174 |
KHR_texture_compression_astc_ldr | OpenGL ES Extension # 117 (pouze LDR) |
OES_primitive_bounding_box | OpenGL ES Extension # 212 |
volitelný | Mesa (všechny ovladače OpenGL ES 3.2+) |
KHR_texture_compression_astc_hdr | OpenGL ES Extension # 117 (LDR included), ARB Extension # 118 |
KHR_blend_equation_advanced_coherent | OpenGL ES Extension # 168 |
KHR_texture_compression_astc_sliced_3d | OpenGL ES Extension # 249 (ARB Extension # 189) |
OpenGL ES Extension # 267 |
Některé další rozšíření jsou vyvíjeny nebo v Development in Mesa pro další verzi OpenGL ES (viz Mesamatrix).
API příští generace je Vulkan.[26]
Využití platformy
Úplný seznam společností a jejich shodných produktů najdete na tady
OpenGL ES 1.0
OpenGL ES 1.0 přidal oficiální 3D grafiku API do Android[27] a Symbian[28] operační systémy i QNX[29] Podporuje ji také PlayStation 3 jako jedno ze svých oficiálních grafických API[30] (druhý je nízký libgcm knihovna) s Nvidia's Cg místo GLSL.[31] PlayStation 3 také obsahuje několik funkcí verze 2.0 OpenGL ES.
OpenGL ES 1.1
Verze OpenGL ES verze 1.1 je podporována:
- Android 1.6
- Jablko iOS pro iPad, iPhone, a ipod touch
- OKRAJ Řada operačních systémů BlackBerry 5.0[32] (pouze BlackBerry Storm 2, BlackBerry Curve 8530 a novější modely mají potřebný hardware[33])
- BlackBerry PlayBook
- BlackBerry BB10
- Rozličný Nokia telefony jako Nokia N95, N93, N93i a N82.
- Dlaň webOS pomocí vývojové sady plug-in[34]
- Nintendo 3DS[35]
OpenGL ES 2.0
Podporováno:
- Platforma Android od Androidu 2.0 přes NDK a Androidu 2.2 přes Javu[36]
- AmigaOS na AmigaOne s Warp3D Nova a kompatibilní RadeonHD grafická karta.
- Jablko iOS 5 nebo novější v iPad, IPAD mini, iPhone 3GS nebo novější a ipod touch 3. generace nebo novější
- Ostružina zařízení s BlackBerry OS 7,0 a Blackberry 10, stejně jako BlackBerry PlayBook
- Nativní klient Google
- Intel Grafika HD 965G / X3000 a vyšší (Linux)[37]
- Nvidia (Android), Curie NV40 +: Linux, Windows[38]
- Rozličný Nokia telefony (např Symbian ^ 3 založeno Nokia N8, MeeGo na základě Nokia N9, a Maemo na základě Nokia N900[39])
- Dlaň webOS pomocí vývojové sady plug-in[34]
- The Pandora řídicí panel
- The Raspberry Pi
- The Odroid
- Rozličný Samsung mobilní telefony (např Mávat )
- Internetové prohlížeče (WebGL )
- The GCW nula řídicí panel
- The PlayStation Vita přenosná konzole
- The PlayStation 4 řídicí panel
OpenGL ES 3.0
Podporováno:
- Android od verze 4.3, na zařízeních s příslušným hardwarem a ovladači, včetně:
- Nexus 7 (2013)
- Nexus 4
- Nexus 5
- Nexus 10
- HTC Butterfly S
- HTC One /Jeden Max
- LG G2
- LG G Pad 8.3
- The Raspberry Pi 4
- Samsung Galaxy J5
- Samsung Galaxy J5 (2016)
- Samsung Galaxy S4 (Verze Snapdragon)
- Samsung Galaxy S5
- Samsung Galaxy Note 3
- Samsung Galaxy Note 10.1 (vydání 2014)
- Sony Xperia M
- Sony Xperia Z / ZL
- Sony Xperia Z1
- Sony Xperia Z Ultra
- Sony Xperia Tablet Z
- iOS od verze 7, na zařízeních včetně:
- BlackBerry 10 OS od verze 10.2, na zařízeních včetně:
Podporováno některými nedávnými verzemi těchto GPU:[41][42]
- Adreno Řady 300 a 400 (Android, BlackBerry 10, Windows10 Windows RT )
- Mali Řada T600 a novější (Android, Linux, Okna 7)
- PowerVR Series6 (iOS, Linux)
- Vivante (Android, OS X 10.8.3, Windows 7)
- Nvidia (Android), Tesla G80 +: Linux, Windows 7+
- Intel HD Graphics Sandy Bridge a vyšší (Linux)[43]
- AMD Terascale a skutečná architektura GCN (Windows, Linux)
- LLVMpipe a Softpipe: měkké ovladače v Mesa[44]
- VIRGL: virtuální ovladač pro virtuální stroje v roce 2018 s Mesa 18.1 (viz Mesamatrix.net)
OpenGL ES 3.1
Podporováno systémy Windows, Linux, Android (od verze 5.0) na zařízeních s příslušným hardwarem a ovladači,[45] počítaje v to:
- Adreno Řada 400[46][47]
- Adreno Řada 500 (Mesa 18.1 pro Linux a Android)
- AMD Terascale a skutečná architektura GCN (Windows, Linux)
- Grafika Intel HD pro Řada Intel Atom Z3700 (Android)
- Grafika Intel HD pro Intel Celeron řady N a J (Android)
- Grafika Intel HD pro Intel Pentium řady N a J (Android)
- Intel HD Graphics Haswell a vyšší (Linux Mesa: předchozí Ivy Bridge téměř bez textur šablony)[48]
- Mali T6xx (midgard) dále[49] (Android, Linux)
- Nvidia Řada GeForce 400 dále (Windows, Linux)
- Nvidia Tegra K1 (Android, Linux)
- Nvidia Tegra X1 (Android)
- PowerVR Series 6, 6XE, 6XT, 7XE a 7XT (Linux, Android)
- Vivante Řada GC2000 a dále (volitelně u GC800 a GC1000)[50]
- v3d: Ovladač pro Broadcom ARM raspberry v Mesa (Linux)
- VIRGL: virtuální ovladač pro virtuální stroje v roce 2018 s Mesa 18.1 (viz Mesamatrix.net)
- LLVMpipe: softwarový ovladač v Mesa 20.2 (Linux)
- softpipe: softwarový ovladač v Mesa 20.3 (Linux)
Android Extension Pack
Android Extension Pack (AEP) je sada rozšíření OpenGL ES 3.1, která jsou součástí jediného rozšíření zavedeného společností Google v roce 2014. To umožňuje aplikacím využívat všechny funkce sady rozšíření, přičemž se testuje pouze přítomnost svobodný. AEP byl oficiálně přidán do Android Lollipop, aby poskytoval další funkce, jako je mozaikování, oproti tomu, co bylo oficiálně v revizi GLES 3.1. Aktualizace OpenGL ES 3.2 je z velké části tvořena doplňky AEP, které jsou již obsaženy v OpenGL pro stolní počítače.[51]
OpenGL ES 3.2
OpenGL ES 3.2, zahrnující Android Extension Pack (AEP), "se může pochlubit malým počtem vylepšení oproti loňskému OpenGL ES 3.1. Oba využívají podobné funkce od AEP. Od AEP bude hardware kompatibilní s OpenGL ES 3.2 podporovat Tessellation pro další geometrické detaily, nové shadery geometrie, ASTC komprese textury pro menší stopu šířky pásma paměti, cíle vykreslování s plovoucí desetinnou čárkou pro vysoce přesné výpočetní procesy a nové funkce ladění pro vývojáře. Tyto špičkové funkce jsou již obsaženy v úplné specifikaci skupiny OpenGL 4. “[52][3]
Podporováno systémy Windows, Linux, Android (od verze 6.0 možné, nutné verze 7.0+ Vulkan 1.0 a OpenGL ES 3.2) na zařízeních s příslušným hardwarem a ovladači, včetně:
- Adreno 420 a novější (Android, Linux)
- AMD GCN-architektura (Windows, Linux (Mesa 18.2))
- Intel HD grafika Skylake a vyšší (Linux)[53]
- Mali-T760 a novější (Android, Linux)
- Řada Nvidia GeForce 400 (Fermi) a novější (Windows, Linux)[54]
- VIRGL: virtuální ovladač pro virtuální stroje v roce 2018 s Mesa 18.1 (viz Mesamatrix.net)
- LLVMpipe: softwarový ovladač v Mesa 20 (Linux)
Ukončení podpory v zařízeních Apple
OpenGL ES (a OpenGL) je zastaralé v operačních systémech Apple, ale stále funguje alespoň v iOS 12.[55]
Budoucnost
Žádný plán pro novou základní verzi, protože Vulkan hybnost to přemisťuje[56]
Kompatibilita s OpenGL
![]() | Tato sekce potřebuje expanzi. Můžete pomoci přidávat k tomu. (Září 2014) |
Bylo vytvořeno několik knihoven pro emulaci volání OpenGL pomocí GL ES:
- Nvidia nabízí 2-klauzuli Licence BSD knihovna s názvem Regal, kterou původně založila Cass Everitt. Poslední aktualizace proběhla v roce 2016.[57] Regal používá například Google NaCl.[58]
- The Licence MIT GL4ES emuluje OpenGL 2.1 / 1.5 pomocí GL ES 2.0 / 1.1. Je založen na glshimu.[59]
Viz také
- Direct3D - Windows API pro vysoce výkonnou 3D grafiku s hardwarovou podporou 3D akcelerace
- DirectX - Windows API pro zpracování úkolů souvisejících s grafikou a videem
- Kov - nízkoúrovňová, vysoce výkonná 3D akcelerovaná grafická knihovna pro zařízení Apple
- OpenSL ES - API pro audio na vestavěných systémech, vyvinuté skupinou Khronos
- ANGLE (software) - Knihovna vyvinutá společností Google, která promění volání OpenGL ES na volání DirectX nebo Vulkan
Reference
- ^ „Khronos rozšiřuje rozsah 3D otevřeného standardního ekosystému“.
- ^ "Přehled OpenGL ES". Skupina Khronos.
- ^ A b „3D Graphics API State of the Union: SIGGRAPH 2015“ (PDF). Khronos.
Průmysl dodá v roce 2015 více než 1,7 miliardy zařízení
- ^ Hruska, Joel (4. března 2015). „Ještě není mrtvý: Mantle společnosti AMD podporuje nové rozhraní Vulkan API, úsilí VR“. ExtremeTech. Ziff Davis.
- ^ "Jaké verze GLSL mohu použít v OpenGL ES 2.0?". Přetečení zásobníku.
- ^ https://www.khronos.org/registry/OpenGL/specs/es/1.0/opengles_spec_1_0.pdf
- ^ http://developer.amd.com/wordpress/media/2012/10/GDC06-GLES_Tutorial_Day-Munshi-OpenGLES_Overview.pdf
- ^ https://www.khronos.org/registry/OpenGL/specs/es/1.1/es_full_spec_1.1.pdf
- ^ „Tiskové zprávy společnosti Khronos - OpenGL ES 2.0“. Khronos.org. 2007-03-05. Archivovány od originál dne 28. 12. 2010. Citováno 2010-12-23.
- ^ Edward Angel, Dave Shreiner, Interaktivní počítačová grafika: přístup shora dolů s OpenGL založeným na shaderu, 6. vydání, s. xxi-xxii, ISBN 978-0-13-254523-5
- ^ „Jazyk stínování OpenGL® ES“ (PDF). Khronos.org. Citováno 2013-02-16.
- ^ „Grafický systém OpenGL (R): Specifikace (verze 4.1 (základní profil)“ (PDF). 25. července 2010.
- ^ https://www.khronos.org/registry/OpenGL/specs/es/2.0/es_full_spec_2.0.pdf
- ^ „OpenGL © ES - Specifikace společného profilu 2.0.25 (Specifikace rozdílu)“ (PDF). 2. listopadu 2010.
- ^ „Specifikace OpenGL ES 3.0“.
- ^ „Khronos uvádí specifikaci OpenGL ES 3.0, která posouvá mobilní 3D grafiku na další úroveň“. Khronos.org. 06.08.2012. Citováno 2012-08-06.
- ^ "Specifikace WebGL 2.0".
- ^ https://www.khronos.org/registry/OpenGL/specs/es/3.0/es_spec_3.0.pdf
- ^ „Online referenční stránky pro stínovací jazyk OpenGL ES 3.0“.
- ^ „Specifikace OpenGL ES 3.1“.
- ^ „Khronos uvádí specifikaci OpenGL ES 3.1“. Khronos.org. 2014-03-17. Citováno 2014-03-17.
- ^ https://www.khronos.org/registry/OpenGL/specs/es/3.1/es_spec_3.1.pdf
- ^ „Specifikace OpenGL ES 3.2“.
- ^ https://www.khronos.org/registry/OpenGL/specs/es/3.2/es_spec_3.2.pdf
- ^ https://www.khronos.org/registry/OpenGL/specs/es/3.2/GLSL_ES_Specification_3.20.pdf
- ^ http://www.anandtech.com/show/9038/next-generation-opengl-becomes-vulkan-additional-details-released
- ^ „Co je to Android?“.
- ^ „Produktový list Symbian OS v9.5“. Symbian. Archivovány od originál dne 2008-03-27.
- ^ „Používání OpenGL ES“. Platforma pro vývoj softwaru QNX (v6.5.0). QNX. Citováno 2011-01-08.
- ^ „OpenGL ES demo ve formátu PPT“.
- ^ „Prezentace OpenGL ES / PSGL ve formátu PPT“. Sony. Khronos.
- ^ „Novinka v této beta verzi“. Poznámky k verzi - BlackBerry Java Application. Výzkum v pohybu. Archivovány od originál dne 02.12.2009. Citováno 2009-12-08.
- ^ Koh, Damian (2009-11-29). „Co očekávat od smartphonů BlackBerry“. CNET Asia. Archivovány od originál dne 13.12.2009. Citováno 2009-12-08.
- ^ A b "PDK - přehled". HP Palm Developer Center. Archivovány od originál dne 01.01.2011. Citováno 2010-12-23.
- ^ „DMP oznamuje OpenGL ES 1.1 vyhovující PICA 200 přijatý společností Nintendo“. 2010-06-21. Citováno 2013-06-02.
- ^ „Specifikace Android 2.2“. 2010-07-01. Archivovány od originál dne 10. 10. 2010.
- ^ https://people.freedesktop.org/~imirkin/glxinfo/#p=es&v=Mesa%2017.2.0
- ^ https://people.freedesktop.org/~imirkin/glxinfo/#p=es&v=Mesa%2017.1.0
- ^ „Software Maemo - Nokia> Mobilní počítač Nokia N900> Technické specifikace“. Nokia Corporation. Archivovány od originál dne 29. října 2009. Citováno 12. ledna 2010.
- ^ „iOS 8 pro vývojáře“. Vývojář Apple.
- ^ „Shodné výrobky Khronos“.
- ^ Sag, Anshel (11.04.2013). „Stav OpenGL ES 3.0: Kdo má co“. Světlá stránka zpráv. Archivováno od originálu dne 2013-06-15. Citováno 2015-12-22.
- ^ https://people.freedesktop.org/~imirkin/glxinfo/#p=es&v=Mesa%2017.2.0
- ^ https://people.freedesktop.org/~imirkin/glxinfo/#p=es&v=Mesa%2017.1.0
- ^ „Shodné produkty OpenGL ES3.1“. Citováno 2014-08-11.
- ^ „Jednotky grafického zpracování Adreno ™“. Qualcomm. Citováno 2014-08-11.
- ^ „GL ES 3.1 na Adreno 3xx?“. Citováno 2014-08-11.
- ^ https://people.freedesktop.org/~imirkin/glxinfo/#p=es&v=Mesa%2017.2.0
- ^ „Architektura Mali Midgard společnosti ARM prozkoumána“. AnandTech. Citováno 2014-08-11.
- ^ „Vivante Vega Cores for 3D“. Vivante. Citováno 2014-12-10.
- ^ „Khronos debutuje s OpenGL ES 3.2 a novými rozšířeními GL, ale tento týden žádný vulkán“. 10. srpna 2015. Citováno 11. srpna 2015.
- ^ „OpenGL ES 3.2 a Vulkan - vše, co potřebujete vědět“. Autorita Androidu. 2015-08-15. Citováno 2015-12-22.
- ^ https://people.freedesktop.org/~imirkin/glxinfo/#p=es&v=Mesa%2017.2.0
- ^ „NVIDIA vydává 358,50 herních ovladačů pro Star Wars Battlefront“. AnandTech. Citováno 2015-10-07.
- ^ Apple Inc. „Co je nového v iOS - Apple Developer“. developer.apple.com. Citováno 2018-08-07.
Aplikace vytvořené pomocí OpenGL ES budou i nadále fungovat v iOS 12, ale OpenGL ES je v iOS 13 zastaralý.
- ^ Khronos. „Vulkan, OpenGL a OpenGL ES“ (PDF). www.khronos.org. Citováno 2020-04-24.
- ^ „p3 / regal: Regal for OpenGL“. GitHub.
- ^ McCutchan, John (7. září 2012). „In-depth: Bringing Regal OpenGL to Native Client“. Gamasutra.
- ^ „GL4ES - ovladač OpenGL pro hardware GLES“. GitHub.
Další čtení
- Ginsburg, Dan; Purnomo, Budirijanto; Shreiner, Dave; Munshi, Aaftab (2014). Průvodce programováním OpenGL ES 3.0. Addison-Wesley Professional. ISBN 978-0-321-93388-1.
- Pulli, Kari; Aarnio, Tomi; Miettinen, Ville; Roimela, Kimmo & Vaarala, Jani (2007). Mobilní 3D grafika s OpenGL ES a M3G. Morgan Kaufmann. ISBN 978-0-12-373727-4.
- Astle, Dave & Durnil, David (2004). Vývoj her OpenGL ES. Technologie kurzu PTR. ISBN 1-59200-370-2.
- Pulli, Kari; Aarnio, Tomi; Roimela, Kimmo & Vaarala, Jani. Navrhování grafických programovacích rozhraní pro mobilní zařízení. IEEE CG&A 2005. doi:10.1109 / MCG.2005.129.