Кіріспе

Кіріктірілген жүйелерге арналған OpenGL API (OpenGL ES немесе GLES) – бейне ойындарда қолданылатын 2D және 3D компьютерлік графиканы көрсетуге арналған OpenGL компьютерлік графиканы көрсету бағдарламалық интерфейсінің (API) ішінара бөлігі, әдетте графикалық процессорды (GPU) пайдалана отырып, аппараттық түрде жеделдетіледі. Ол смартфондар, планшеттік компьютерлер, ойын консольдары және жеке цифрлық көмекшілер (PDA) сияқты кіріктірілген жүйелер үшін жасалған. OpenGL ES – "тарихтағы ең көп тараған 3D графикалық API".

Нұсқалар

OpenGL ES спецификациясының бірнеше нұсқасы қазірде бар. OpenGL ES 1.0, OpenGL 1.3 спецификациясына негізделген, OpenGL ES 1.1, OpenGL 1.5 спецификациясына сәйкес анықталған, ал OpenGL ES 2.0, OpenGL 2.0 спецификациясына сәйкес анықталған. Яғни, мысалы, OpenGL ES 1.0 үшін жазылған бағдарламаны десктоптық OpenGL 1.3-қа оңай көшіруге болады; себебі OpenGL ES API-нің қысқартылған нұсқасы болып табылады, ал керісінше, қолданылған нақты мүмкіндіктерге байланысты, көшіру мүмкін де, мүмкін де емес. OpenGL ES өзінің көлденең тілінің (OpenGL ES SL) нұсқасымен бірге келеді, ол OpenGL SL-ден өзгеше. 1.0 және 1.1 нұсқаларында ортақ (CM) және ортақ жеңіл (CL) профильдері бар, олардың арасындағы айырмашылық – ортақ жеңіл профилі тек қана тұрақты нүктелі деректерді қолдайды, ал ортақ профилі қамбалдаушы және тұрақты нүктелі деректерді қолдайды.

OpenGL ES 1.1 -ге қосылған

OpenGL ES 1.1 көп текстураны міндетті түрде қолдау, жақсырақ көп текстура қолдауы (комбинаторлар мен нүктелік көбейтудің текстуралық операцияларын қоса), автоматты түрде mipmap жасау, vertex буфер объектілері, күй сұраулары, пайдаланушының қиылыс жазықтықтары және нүктелерді көрсетуге жақсырақ бақылау сияқты мүмкіндіктерді қосты. Нақты нұсқасы 1.1.12. Кеңейту атауы Сорт #СанOES текстураны салу OpenGL ES кеңейтуі #7 OES матрицаны алу OpenGL ES кеңейтуі #11OES нүкте мөлшері массиві OpenGL ES кеңейтуі #14OES нүктелік сприт OpenGL ES кеңейтуі #15 Опциялық Mesa (барлық драйверлер) OES фреймбуфер объектісі OpenGL ES кеңейтуі #10 (ES 2.0-де негізгіге айналды) OES EGL суреті OpenGL ES кеңейтуі #23 OES EGL суреті сыртқы OpenGL ES кеңейтуі #87 OES қажетті ішкі формат OpenGL ES кеңейтуі # TBD

OpenGL ES 3.2 -ге қосылған

OpenGL ES 3.2 спецификациясы 2015 жылдың тамызында жарияланды. OpenGL ES 3.2-нің жаңа мүмкіндіктері:
GPU-да күрделі көріністерді тиімді өңдеуге арналған геометрия және тесселяция шейдерлері. Жоғары дәлдіктегі есептеу операцияларында икемділікті арттыру үшін қозғалмалы нүктелі рендер мақсаттары. Текстураларды өңдеуге жұмсалатын жад көлемін және өткізу қабілетін азайту үшін ASTC қысылуы. Құрама композициялау және бірнеше түсті қосымшаларды өңдеу үшін күшейтілген араластыру. Текстуралық буферлер, көп үлгілі 2D массивтер және куб карта массивтері сияқты кеңейтілген текстуралық мақсаттар. Кодты оңай әзірлеу және қауіпсіз орындау үшін түзету және сенімділік мүмкіндіктері. Ағымдағы нұсқасы 2019 жылдың 3.2.6 шілдесі. Келесі буын API – Vulkan.
Келесі кеңейтімдер Mesa-да (барлық драйверлер OpenGL ES 3.2+) әзірленуде немесе әзірлену сатысында (Mesamatrix-ті қараңыз).
Кеңейтім атауының реті #NumberKHR араластыру теңдеуі advancedOpenGL ES кеңейтімі #168EXT түс буфері floatOpenGL ES кеңейтімі #137KHR debugOpenGL ES кеңейтімі #118KHR сенімділік OpenGL ES кеңейтімі #190OES көшіру суреті OpenGL ES кеңейтімі #208OES буферлерді индекстеу OpenGL ES кеңейтімі #209OES элементтердің негізгі нүктесі OpenGL ES кеңейтімі #219OES геометрия шейдері OpenGL ES кеңейтімі #210 OES gpu shader5OpenGL ES кеңейтімі #211 OES үлгілік көлеңкелеу OpenGL ES кеңейтімі #169OES үлгілік айнымалылар OpenGL ES кеңейтімі #170OES шейдер суреті атомдық OpenGL ES кеңейтімі #171OES шейдер кіріс блогы OpenGL ES кеңейтімі #213OES шейдер көп үлгілік интерполяциясы OpenGL ES кеңейтімі #172OES тесселяция шейдері OpenGL ES кеңейтімі #214OES текстура шекарасы қысқышы OpenGL ES кеңейтімі #215OES текстура буфері OpenGL ES кеңейтімі #216OES текстура куб карта массиві OpenGL ES кеңейтімі #217OES текстура үлгісі 8OpenGL ES кеңейтімі #173OES текстура сақтағышы көп үлгілік 2d массиві OpenGL ES кеңейтімі #174KHR текстура қысылуы astc ldrOpenGL ES кеңейтімі #117 (тек LDR)OES примитив шекарасы қорабы OpenGL ES кеңейтімі #212optional Mesa (барлық драйверлер OpenGL ES 3.2+)KHR текстура қысылуы astc hdrOpenGL ES кеңейтімі #117 (LDR қоса алғанда), ARB кеңейтімі #118KHR араластыру теңдеуі advanced coherentOpenGL ES кеңейтімі #168KHR текстура қысылуы astc тілімделген 3dOpenGL ES кеңейтімі #249 (ARB кеңейтімі #189)OES көріс порты массиві OpenGL ES кеңейтімі #267.

Android кеңейтуі

Android Extension Pack (AEP) — Google компаниясы 2014 жылы ұсынған, бір кеңейтуге біріктірілген OpenGL ES 3.1 кеңейтулерінің жиынтығы. Бұл қолданбаларға кеңейтулер жиынтығының барлық мүмкіндіктерін пайдалануға мүмкіндік береді, бірақ тек біреуінің қолдауын тексеру жеткілікті. AEP ресми түрде Android Lollipop-қа GLES 3.1 нұсқасында болмаған қосымша мүмкіндіктерді ұсыну үшін қосылды. OpenGL ES 3.2 жаңартуының көп бөлігі AEP-ге енгізілген өзгерістерден тұрады, олар бұрыннан-ақ десктоптық OpenGL-де бар.

Apple құрылғыларындағы депрессия

OpenGL ES (және OpenGL) Apple операциялық жүйелерінде қолданыстан шығарылған, бірақ кем дегенде iOS 12 нұсқасына дейін жұмыс істей береді.

Болашақ

Қазіргі уақытта OpenGL ES-тің жаңа негізгі нұсқасын жасау жоспары жоқ, себебі Vulkan қабылдануы кіріктірілген және мобильдік қолданбаларда оны ығыстырады деп саналады. OpenGL ES-ке қосымшаларды әзірлеу 2017 жылдан бері жалғасуда.