Подмножество API OpenGL для встраиваемых систем
OpenGL для встраиваемых систем ( OpenGL ES или GLES ) — это подмножество [2] интерфейса прикладного программирования (API) рендеринга компьютерной графики OpenGL для рендеринга 2D и 3D компьютерной графики , например, используемой в видеоиграх , обычно с аппаратным ускорением с использованием графического процессора . процессор (GPU). Он предназначен для встраиваемых систем, таких как смартфоны , планшетные компьютеры , игровые консоли и КПК . OpenGL ES — это «наиболее широко используемый API 3D-графики в истории». [3]
API является межъязыковым и мультиплатформенным . Библиотека GLU и исходный GLUT недоступны для OpenGL ES, однако freeglut поддерживает ее. OpenGL ES находится под управлением некоммерческого технологического консорциума Khronos Group . Vulkan , API нового поколения от Khronos, создан для более простых высокопроизводительных драйверов для мобильных и настольных устройств. [4]
Версии
Сейчас существует несколько версий спецификации 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 . [5]
Версия 1.0 и 1.1 имеют профили common (CM) и common lite (CL), разница в том, что common lite поддерживает только поддержку типов данных с фиксированной запятой , а не с плавающей запятой , тогда как common поддерживает оба типа.
OpenGL ES 1.0
OpenGL ES 1.0 был публично выпущен 28 июля 2003 г. OpenGL ES 1.0 основан на исходном API OpenGL 1.3, с удаленными и небольшими добавлениями многих функций. Одним из существенных различий между OpenGL и OpenGL ES является то, что OpenGL ES устранил необходимость заключать вызовы библиотеки OpenGL в скобки glBegin
и glEnd
. Другие существенные различия заключаются в том, что семантика вызова примитивных функций рендеринга была изменена в пользу массивов вершин, а для координат вершин были введены типы данных с фиксированной точкой . Атрибуты также были добавлены для лучшей поддержки вычислительных возможностей встроенных процессоров, в которых часто отсутствует модуль с плавающей запятой (FPU). Многие другие функции и примитивы рендеринга были удалены в версии 1.0 для создания упрощенного интерфейса, в том числе:
- примитивы рендеринга четырехугольников и полигонов;
- texgen, штриховка линий и многоугольников;
- режим многоугольника и рендеринг многоугольников со сглаживанием не поддерживаются, хотя рендеринг с использованием мультисэмпла все еще возможен (вместо фрагментов альфа-границы);
ARB_Image
операции с классами пикселей, растровые изображения и 3D-текстуры не поддерживаются;- исключено несколько более технических режимов рисования, включая передний буфер и буфер накопления;
- растровые операции по копированию пикселей по отдельности, операции оценки и пользовательского выбора не допускаются;
- списки отображения и обратная связь удалены, как и операции push и pop для атрибутов состояния;
- были удалены некоторые параметры материала, включая параметры задней поверхности и определяемые пользователем плоскости отсечения.
Актуальная версия — 1.0.0.2. [6]
OpenGL ES 1.1
В OpenGL ES 1.1 добавлены такие функции, как обязательная поддержка мультитекстуры, улучшенная поддержка мультитекстур (включая операции объединения и скалярного произведения текстур), автоматическое создание MIP-карт , объекты буфера вершин , запросы состояния, пользовательские плоскости отсечения и больший контроль над рендерингом точек. [7]
Актуальная версия — 1.1.12. [8]
OpenGL ES 2.0
OpenGL ES 2.0 был публично выпущен в марте 2007 года. [10] Он примерно основан на OpenGL 2.0, но в нем исключена большая часть конвейера рендеринга с фиксированными функциями в пользу программируемого, что аналогично переходу от OpenGL 3.0 к 3.1. . [11] Поток управления в шейдерах обычно ограничивается прямым ветвлением и циклами, где максимальное количество итераций можно легко определить во время компиляции. [12] Почти все функции рендеринга на этапе преобразования и освещения, такие как спецификация материалов и параметров освещения, ранее заданные API с фиксированными функциями, заменяются шейдерами, написанными графическим программистом. В результате OpenGL ES 2.0 не имеет обратной совместимости с OpenGL ES 1.1. Некоторые несовместимости между настольной версией OpenGL и OpenGL ES 2.0 сохранялись до версии OpenGL 4.1, в которой было добавлено расширение GL_ARB_ES2_compatibility
. [13]
Текущая версия — 2.0.25. [14]
Группа Khronos написала документ, описывающий различия между OpenGL ES 2.0 и обычным OpenGL 2.0. [15]
OpenGL ES 3.0
Спецификация OpenGL ES 3.0 [17] была публично выпущена в августе 2012 года. [18] Она обратно совместима с OpenGL ES 2.0 и частично совместима с WebGL 2.0, [19] поскольку WebGL 2.0 был разработан для обеспечения высокой степени совместимости с OpenGL ES 3.0. [20]
Текущая версия стандарта OpenGL ES 3.0 — 3.0.6, выпущенная в ноябре 2019 года. [21]
Новые функциональные возможности спецификации OpenGL ES 3.0 включают в себя:
- многочисленные улучшения конвейера рендеринга для ускорения расширенных визуальных эффектов, включая: запросы окклюзии , обратную связь по преобразованию , экземплярный рендеринг и поддержку четырех или более целей рендеринга ;
- высококачественное сжатие текстур ETC2/EAC в качестве стандартной функции, устраняющее необходимость в разном наборе текстур для каждой платформы;
- новая версия языка шейдеров GLSL ES [22] с полной поддержкой целочисленных и 32-битных операций с плавающей запятой ;
- значительно расширенные функции текстурирования , включая гарантированную поддержку текстур с плавающей запятой , 3D-текстур, текстур глубины, текстур вершин, текстур NPOT, текстур R/RG, неизменяемых текстур, текстур 2D-массивов, swizzles , зажимов уровня LOD и MIP , бесшовных кубических карт и объектов сэмплера. ;
- обширный набор необходимых форматов текстур и буферов рендеринга с явно заданным размером, что уменьшает вариативность реализации и значительно упрощает написание портативных приложений.
OpenGL ES 3.1
Спецификация OpenGL ES 3.1 [23] была публично выпущена в марте 2014 года. Новые функциональные возможности OpenGL ES 3.1 включают в себя: [24]
OpenGL ES 3.1 обратно совместим с OpenGL ES 2.0 и 3.0, что позволяет приложениям постепенно включать новые функции. Актуальная версия: 3.1-(ноябрь 2016 г.). [25]
OpenGL ES 3.2
Спецификация OpenGL ES 3.2 [26] была публично выпущена в августе 2015 года. Новые возможности OpenGL ES 3.2 включают в себя:
- Шейдеры геометрии и тесселяции для эффективной обработки сложных сцен на графическом процессоре.
- Цели рендеринга с плавающей запятой для повышения гибкости при выполнении высокоточных вычислительных операций.
- Сжатие ASTC для уменьшения объема памяти и пропускной способности, используемых для обработки текстур.
- Улучшенное смешивание для сложной композиции и обработки нескольких цветовых вложений.
- Расширенные целевые текстуры, такие как текстурные буферы, 2D-массив с несколькими выборками и массивы кубических карт.
- Функции отладки и обеспечения надежности для упрощения разработки кода и безопасного выполнения.
Фактическое состояние: 3.2.6 июля 2019 г. [27] [28]
Еще несколько расширений разрабатываются или находятся в стадии разработки в Mesa для следующей версии OpenGL ES (см. Mesamatrix).
API следующего поколения — Vulkan. [29]
Использование платформы
Полный список компаний и соответствующих им продуктов можно найти здесь.
OpenGL ES 1.0
OpenGL ES 1.0 добавил официальный API 3D-графики в операционные системы Android [30] и Symbian OS v8.0a [31] [32] , а также в QNX [33] . Он также поддерживается PlayStation 3 в качестве одного из своих официальные графические API [34] (второй — низкоуровневая библиотека libgcm ) с Cg от Nvidia вместо GLSL. [35] PlayStation 3 также включает в себя несколько функций версии 2.0 OpenGL ES.
OpenGL ES 1.1
Версия OpenGL ES 1.1 поддерживается:
OpenGL ES 2.0
Поддерживается:
- Платформа Android, начиная с Android 2.0 до NDK и Android 2.2 до Java [41]
- AmigaOS на AmigaOne с Warp3D Nova и совместимой видеокартой Radeon HD .
- Apple iOS 5 или новее в iPad , iPad Mini , iPhone 3GS или новее, а также iPod Touch 3-го поколения или новее
- Устройства BlackBerry с BlackBerry OS 7.0 и Blackberry 10 , а также BlackBerry PlayBook
- Собственный клиент Google
- Intel HD Graphics 965G/X3000 и выше (Linux) [42]
- Nvidia (Android), Curie NV40+: Linux, Windows [43]
- Различные телефоны Nokia (например, Nokia N8 на базе Symbian ^3 , Nokia N9 на базе MeeGo и Nokia N900 на базе Maemo [44] )
- Palm webOS с использованием комплекта разработки подключаемых модулей [39]
- консоль Пандора _
- Малиновый Пи
- Одроид _
- Различные мобильные телефоны Samsung (например, Wave )
- Веб-браузеры ( WebGL )
- Консоль GCW Zero
- Портативная консоль PlayStation Vita
- Консоль PlayStation 4
OpenGL ES 3.0
Поддерживается:
- Android начиная с версии 4.3 на устройствах с соответствующим оборудованием и драйверами, включая:
- iOS начиная с версии 7, на устройствах, в том числе:
- ОС BlackBerry 10, начиная с версии 10.2, на устройствах, в том числе:
Поддерживается некоторыми последними версиями этих графических процессоров: [46] [47]
- Серии Adreno 300 и 400 ( Android , BlackBerry 10 , Windows10, Windows RT )
- Серия Mali T600 и более поздние версии (Android, Linux , Windows 7)
- PowerVR Series6 ( iOS , Linux)
- Виванте (Android, OS X 10.8.3, Windows 7)
- Nvidia (Android), Tesla G80+: Linux, Windows 7+
- Intel HD Graphics Sandy Bridge и выше (Linux) [42]
- AMD Terascale и актуальная GCN-архитектура (Windows, Linux)
- LLVMpipe и Softpipe: программные драйверы в Mesa [43]
- VIRGL: виртуальный драйвер для виртуальных машин 2018 года с Mesa 18.1 (см. Mesamatrix.net)
OpenGL ES 3.1
Поддерживается Windows, Linux, Android (начиная с версии 5.0) на устройствах с соответствующим оборудованием и драйверами, [48] включая:
- Серия Adreno 400 [49] [50]
- Серия Adreno 500 (Mesa 18.1 для Linux и Android)
- AMD Terascale и актуальная GCN-архитектура (Windows, Linux (r600, radeonSI))
- Графика Intel HD для серии Intel Atom Z3700 (Android)
- Графика Intel HD для Intel Celeron серий N и J (Android)
- Графика Intel HD для процессоров Intel Pentium серий N и J (Android)
- Intel HD Graphics Haswell и выше (Linux Mesa: предыдущий Ivy Bridge почти без трафаретного текстурирования) [42]
- Серия Mali T6xx (мидгард) и более поздние версии [51] (Android, Linux)
- Nvidia GeForce серии 400 и более поздние версии (Windows, Linux)
- NVIDIA Tegra K1 (Android, Linux)
- Нвидиа Тегра Х1 (Андроид)
- PowerVR Series 6, 6XE, 6XT, 7XE и 7XT (Linux, Android)
- Vivante серии GC2000 и более поздние версии (дополнительно для GC800 и GC1000) [52]
- panfrost: поддержка panfrost ARM (Linux Mesa 22.0)
- v3d: Драйвер для Broadcom ARM raspberry в Mesa (Linux)
- VIRGL: виртуальный драйвер для виртуальных машин 2018 года с Mesa 18.1 (см. Mesamatrix.net)
- LLVMpipe: программный драйвер в Mesa 20.2 (Linux)
- softpipe: программный драйвер в Mesa 20.3 (Linux)
- Zink: драйвер эмуляции в Mesa 21.1 (Linux)
- d3d12: драйвер Linux WSL2 для Microsoft 10+ (Mesa 22.0)
- Графика Apple M1 и M2 в Fedora Asahi Remix (Linux)
Пакет расширений Android
Пакет расширений Android (AEP) — это набор расширений OpenGL ES 3.1, объединенных в одно расширение, представленное Google в 2014 году. Это позволяет приложениям использовать все функции набора расширений, проверяя при этом только наличие одинокий. AEP был официально добавлен в Android Lollipop для предоставления дополнительных функций, таких как тесселяция, по сравнению с тем, что официально было в версии GLES 3.1. Обновление OpenGL ES 3.2 в основном состоит из дополнений AEP, которые уже присутствуют в настольном OpenGL. [53]
OpenGL ES 3.2
OpenGL ES 3.2, включающий пакет расширений Android (AEP), «может похвастаться небольшим количеством улучшений по сравнению с прошлогодним OpenGL ES 3.1. Оба используют аналогичные функции AEP. Благодаря AEP оборудование, совместимое с OpenGL ES 3.2, будет поддерживать тесселяцию для дополнительная детализация геометрии, новые шейдеры геометрии, сжатие текстур ASTC для меньшего использования пропускной способности памяти, цели рендеринга с плавающей запятой для высокоточных вычислительных процессов и новые функции отладки для разработчиков.Эти высококлассные функции уже присутствуют в полной спецификации OpenGL 4 группы. ." [54] [3]
Поддерживается Windows, Linux, Android (возможно, начиная с версии 6.0, требуется Vulkan 7.0+ 1.0 и OpenGL ES 3.2) на устройствах с соответствующим оборудованием и драйверами, включая:
- Adreno 420 и новее (Android, Linux (freedreno))
- Архитектура AMD GCN (Windows, Linux (Mesa 18.2 с radeonSI))
- Intel HD Graphics Skylake и выше (Linux) [42]
- Mali-T760 и новее (Android, Linux)
- Серия Nvidia GeForce 400 (Fermi) и новее (Windows, Linux) [55]
- VIRGL: виртуальный драйвер для виртуальных машин 2018 года с Mesa 18.1 (см. Mesamatrix.net)
- LLVMpipe: программный драйвер в Mesa 20 (Linux)
- Zink: драйвер эмуляции Vulkan в Mesa 21.2 (Linux)
Устаревание устройств Apple
OpenGL ES (и OpenGL) устарел в операционных системах Apple, но все еще работает как минимум до iOS 12. [56]
Будущее
В настоящее время не планируется выпуск новой базовой версии OpenGL ES, поскольку считается, что внедрение Vulkan заменит его во встроенных и мобильных приложениях. Разработка расширений OpenGL ES продолжается с 2017 года. [57]
Совместимость с OpenGL
Было создано несколько библиотек для эмуляции вызовов OpenGL с использованием GL ES:
Смотрите также
- Direct3D — Windows API для высокопроизводительной 3D-графики с аппаратной поддержкой 3D-ускорения.
- DirectX — Windows API для решения задач, связанных с графикой и видео.
- Metal — низкоуровневая высокопроизводительная графическая библиотека с ускорением 3D для устройств Apple.
- OpenSL ES — API для аудио во встроенных системах, разработанный Khronos Group.
- ANGLE (программное обеспечение) — библиотека, разработанная Google для преобразования вызовов OpenGL ES в вызовы DirectX или Vulkan.
Рекомендации
- ^ «Хронос расширяет сферу применения 3D-экосистемы открытого стандарта» . 10 августа 2015 г.
- ^ «Обзор OpenGL ES» . Группа компаний «Хронос». 19 июля 2011 г.
- ^ ab «Состояние Союза API 3D-графики: SIGGRAPH 2015» (PDF) . Хронос .
В 2015 году промышленность поставит >1,7 миллиарда устройств
- ^ Грушка, Джоэл (4 марта 2015 г.). «Еще не умер: AMD Mantle поддерживает новый Vulkan API и усилия по виртуальной реальности». ЭкстримТех . Зифф Дэвис.
- ^ «Какие версии GLSL я могу использовать в OpenGL ES 2.0?». Переполнение стека.
- ^ https://www.khronos.org/registry/OpenGL/specs/es/1.0/opengles_spec_1_0.pdf [ пустой URL-адрес PDF ]
- ^ http://developer.amd.com/wordpress/media/2012/10/GDC06-GLES_Tutorial_Day-Munshi-OpenGLES_Overview.pdf [ пустой URL-адрес PDF ]
- ^ https://www.khronos.org/registry/OpenGL/specs/es/1.1/es_full_spec_1.1.pdf [ пустой URL-адрес PDF ]
- ^ "переполнение стека: glGenFramebuffersOES против glGenFramebuffers?" . Проверено 19 апреля 2022 г.
- ^ «Пресс-релизы Хроноса — OpenGL ES 2.0» . Хронос.орг. 05.03.2007. Архивировано из оригинала 28 декабря 2010 г. Проверено 23 декабря 2010 г.
- ^ Эдвард Энджел, Дэйв Шрейнер, Интерактивная компьютерная графика: нисходящий подход с OpenGL на основе шейдеров , 6-е издание, стр. XXI-XXII, ISBN 978-0-13-254523-5
- ^ «Язык шейдеров OpenGL® ES» (PDF) . Хронос.орг . Проверено 16 февраля 2013 г.
- ^ «Графическая система OpenGL(R): спецификация (версия 4.1 (основной профиль)» (PDF) , 25 июля 2010 г.
- ^ https://www.khronos.org/registry/OpenGL/specs/es/2.0/es_full_spec_2.0.pdf [ пустой URL-адрес PDF ]
- ^ «OpenGL© ES – Спецификация общего профиля 2.0.25 (Спецификация различий)» (PDF) . 2 ноября 2010 г.
- ^ ab «Руководство по программированию OpenGL ES 3.0» (PDF) . Пирсон Эдьюкейшн, Инк . Проверено 18 апреля 2022 г.
- ^ "Реестр Khronos OpenGL ES - The Khronos Group Inc" . Реестр.khronos.org .
- ^ «Хронос выпускает спецификацию OpenGL ES 3.0, чтобы вывести мобильную 3D-графику на новый уровень» . Хронос. 06 августа 2012 г. Проверено 6 августа 2012 г.
- ^ «WebGL: 2D и 3D-графика для Интернета» . Мозилла . Проверено 30 июня 2023 г.
- ^ «Спецификация WebGL 2.0» . Реестр.khronos.org .
- ^ https://www.khronos.org/registry/OpenGL/specs/es/3.0/es_spec_3.0.pdf [ пустой URL-адрес PDF ]
- ^ «Спецификация GLSL ES 3.0» (PDF) . Хронос . Проверено 30 июня 2023 г.
- ^ "Реестр Khronos OpenGL ES - The Khronos Group Inc" . Реестр.khronos.org .
- ^ «Хронос выпускает спецификацию OpenGL ES 3.1» . Хронос.орг. 17 марта 2014 г. Проверено 17 марта 2014 г.
- ^ https://www.khronos.org/registry/OpenGL/specs/es/3.1/es_spec_3.1.pdf [ пустой URL-адрес PDF ]
- ^ "Реестр Khronos OpenGL ES - The Khronos Group Inc" . Реестр.khronos.org .
- ^ https://www.khronos.org/registry/OpenGL/specs/es/3.2/es_spec_3.2.pdf [ пустой URL-адрес PDF ]
- ^ https://www.khronos.org/registry/OpenGL/specs/es/3.2/GLSL_ES_Specification_3.20.pdf [ пустой URL-адрес PDF ]
- ^ «OpenGL следующего поколения становится Vulkan: опубликованы дополнительные подробности» .
- ^ «Платформа Android». Android-разработчики .
- ^ «Информация о продукте Symbian OS версии 8.0» . 30 марта 2008 г. Архивировано из оригинала 30 марта 2008 г. Проверено 30 марта 2008 г.
- ^ Дудер, Джанель (9 декабря 2022 г.). «OpenGL ES — Разработка игр для Symbian». 25 лет программирования . Проверено 14 января 2023 г.
- ^ «Использование OpenGL ES». Платформа разработки программного обеспечения QNX (v6.5.0) . QNX . Проверено 8 января 2011 г.
- ^ «Демо OpenGL ES в формате PPT» . 21 ноября 2021 г.
- ^ «Презентация OpenGL ES/PSGL в формате PPT» . Сони . Хронос. 21 ноября 2021 г.
- ^ «OpenGL ES SDK доступен для Nokia 6630» . Форумы Хроноса . 22 сентября 2004 г. Проверено 14 января 2023 г.
- ^ «Новое в этой бета-версии» . Примечания к выпуску — Java-приложение BlackBerry . Исследования в движении . Архивировано из оригинала 2 декабря 2009 г. Проверено 8 декабря 2009 г.
- ^ Ко, Дамиан (29 ноября 2009 г.). «Чего ожидать от смартфонов BlackBerry». CNET Азия . Архивировано из оригинала 13 декабря 2009 г. Проверено 8 декабря 2009 г.
- ^ ab «ПДК — Обзор». Центр разработчиков HP Palm. Архивировано из оригинала 1 января 2011 г. Проверено 23 декабря 2010 г.
- ^ «DMP объявляет о выпуске PICA 200, совместимого с OpenGL ES 1.1, принятого Nintendo» . 21 июня 2010 г. Проверено 2 июня 2013 г.
- ^ «Характеристики Android 2.2» . 01 июля 2010 г. Архивировано из оригинала 11 октября 2010 г.
- ^ abcd «Расширения и возможности Mesa OpenGL». People.freedesktop.org .
- ^ ab «Расширения и возможности Mesa OpenGL». People.freedesktop.org .
- ^ «Программное обеспечение Maemo - Nokia > Мобильный компьютер Nokia N900 > Технические характеристики» . Корпорация Нокиа. Архивировано из оригинала 29 октября 2009 года . Проверено 12 января 2010 г.
- ^ «iOS 8 для разработчиков». Разработчик Apple.
- ^ "Продукты, соответствующие Khronos" . 21 ноября 2021 г.
- ^ Саг, Аншель (11 апреля 2013 г.). «Состояние OpenGL ES 3.0: у кого что есть». Светлая сторона новостей . Архивировано из оригинала 15 июня 2013 г. Проверено 22 декабря 2015 г.
- ^ «Продукты, соответствующие OpenGL ES3.1» . Проверено 11 августа 2014 г.
- ^ «Графические процессоры Adreno™» . Квалкомм . Проверено 11 августа 2014 г.
- ^ "GL ES 3.1 на Adreno 3xx?" . Проверено 11 августа 2014 г.
- ^ "Изучена архитектура Мали Мидгарда от ARM" . АнандТех . Проверено 11 августа 2014 г.
- ^ «Ядра Vivante Vega для 3D» . Виванте . Проверено 10 декабря 2014 г.
- ^ «Хронос дебютирует с OpenGL ES 3.2 и новыми расширениями GL, но на этой неделе не будет Vulkan» . 10 августа 2015 года . Проверено 11 августа 2015 г.
- ^ «OpenGL ES 3.2 и Vulkan – все, что вам нужно знать». Администрация Андроида . 15 августа 2015 г. Проверено 22 декабря 2015 г.
- ^ «NVIDIA выпускает 358.50 готовых к играм драйверов для Star Wars Battlefront» . АнандТех . Проверено 7 октября 2015 г.
- ^ Apple Inc. «Что нового в iOS — разработчик Apple». разработчик.apple.com . Проверено 7 августа 2018 г.
Приложения, созданные с использованием OpenGL ES, будут продолжать работать в iOS 12, но OpenGL ES устарел в iOS 13.
- ^ Хронос. «Вулкан, OpenGL и OpenGL ES» (PDF) . www.khronos.org . Проверено 24 апреля 2020 г.
- ^ «p3/regal: Regal для OpenGL» . Гитхаб. 18 октября 2021 г.
- ↑ Маккатчан, Джон (7 сентября 2012 г.). «Подробно: внедрение Regal OpenGL в собственный клиент». Гамасутра.
- ^ «GL4ES — драйвер OpenGL для оборудования GLES» . Гитхаб .
дальнейшее чтение
- Гинзбург, Дэн; Пурномо, Будириджанто; Шрейнер, Дэйв; Мунши, Аафтаб (2014). Руководство по программированию OpenGL ES 3.0 . Аддисон-Уэсли Профессионал. ISBN 978-0-321-93388-1.
- Пулли, Кари; Аарнио, Томи; Миеттинен, Вилле; Роймела, Киммо и Ваарала, Яни (2007). Мобильная 3D-графика с OpenGL ES и M3G . Морган Кауфманн. ISBN 978-0-12-373727-4.
- Астл, Дэйв и Дурнил, Дэвид (2004). Разработка игр OpenGL ES . Курс Технологии ПТР. ISBN 1-59200-370-2.
- Пулли, Кари; Аарнио, Томи; Роймела, Киммо и Ваарала, Яни (2005). «Проектирование графических интерфейсов программирования для мобильных устройств». IEEE Компьютерная графика и приложения . IEEE CG&A 2005. 25 (6): 66–75. дои : 10.1109/MCG.2005.129. PMID 16315479. S2CID 8177273.
Внешние ссылки
В Wikibooks есть книга на тему: Программирование OpenGL/Обзор OpenGL ES.
- Официальный веб-сайт
- Публичное отслеживание ошибок
- Компании, соответствующие OpenGL ES
- Публичные форумы
- Список устройств, совместимых с OpenGL ES
- Домашняя страница OpenGL
- Эмулятор OpenGL ES 1.1 и 2.0 от ARM Link непригоден для использования. Не нажимайте.
- Эмулятор OpenGL ES 3.0 от ARM Link непригоден для использования. Не нажимайте.