OpenGLES

Подмножество API OpenGL для встраиваемых систем
Оригинальный автор(ы)АРБ
Разработчик(и)Группа компаний «Хронос»
Первоначальный выпуск28 июля 2003 г. ; 21 год назад ( 2003-07-28 )
Стабильный релиз
3.2 [1] / 10 августа 2015 г. ; 9 лет назад ( 2015-08-10 )
Операционная системаКроссплатформенный
ПлатформаКроссплатформенный
ПреемникВулкан
ТипAPI
ЛицензияБесплатно, без роялти или лицензирования
Веб-сайтwww.khronos.org/opengles

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 имеют общие профили (CM) и общие профили lite (CL), разница в том, что общие профили lite поддерживают только типы данных с фиксированной точкой вместо поддержки типов данных с плавающей точкой , тогда как общие профили поддерживают оба типа.

OpenGLES 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]

Имя расширенияСортировать #НомерПодробности
OES_байт_координатыРасширение OpenGL ES №4(ранее расширение OpenGL #291)
OES_compressed_paletted_textureРасширение OpenGL ES №6(ранее расширение OpenGL #294)
OES_фиксированная_точкаРасширение OpenGL ES №9(ранее расширение OpenGL #292)
OES_query_matrixРасширение OpenGL ES №16(ранее расширение OpenGL #296)
OES_read_formatРасширение OpenGL ES №17(ранее расширение OpenGL #295)
OES_одинарная_точностьРасширение OpenGL ES №18(ранее расширение OpenGL #293)
необязательныйМеса (большинство водителей)
OES_compressed_ETC1_RGB8_textureРасширение OpenGL ES №5

OpenGLES 1.1

OpenGL ES 1.1 добавил такие функции, как обязательная поддержка мультитекстурирования, улучшенная поддержка мультитекстурирования (включая комбинаторы и операции скалярного произведения текстур), автоматическая генерация MIP-карт , объекты буфера вершин , запросы состояний, пользовательские плоскости отсечения и улучшенный контроль над рендерингом точек. [7] Текущая версия — 1.1.12. [8]

Имя расширенияСортировать #Номер
OES_draw_textureРасширение OpenGL ES №7
OES_matrix_getРасширение OpenGL ES №11
OES_point_size_arrayРасширение OpenGL ES №14
OES_point_spriteРасширение OpenGL ES №15
необязательныйМеса (все водители)
OES_framebuffer_objectOpenGL ES Extension #10 (стал основным в ES 2.0) [9]
OES_EGL_imageРасширение OpenGL ES №23
OES_EGL_image_externalРасширение OpenGL ES №87
OES_required_internalformatРасширение OpenGL ES # будет определено

OpenGLES 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]

Имя расширенияСортировать #Номер
OES_текстура_куб_картаРасширение OpenGL ES №20
OES_texture_npotРасширение OpenGL ES №37
OES_глубина24Расширение OpenGL ES №24
OES_глубина_текстурыРасширение OpenGL ES №44
OES_element_index_uintРасширение OpenGL ES №26
OES_fbo_render_mipmapРасширение OpenGL ES №27
OES_get_program_binaryРасширение OpenGL ES №47
OES_mapbufferРасширение OpenGL ES №29
OES_packed_depth_трафаретРасширение OpenGL ES №43
OES_rgb8_rgba8Расширение OpenGL ES №30
OES_stencil8Расширение OpenGL ES №33
OES_vertex_half_floatРасширение OpenGL ES №38
дополнительныйв MESA (все водители)
OES_EGL_imageРасширение OpenGL ES №23 (отличается от версии 1.1)
OES_EGL_image_externalРасширение OpenGL ES #87 (отличается от 1.1)
OES_текстура_3DРасширение OpenGL ES #34 (стало основным в ES 3.0) [16]
OES_texture_float_linear OES_texture_half_float_linearРасширение OpenGL ES №35, расширено в ES 3.0 и 3.1
OES_texture_float OES_texture_half_floatРасширение OpenGL ES №36, расширено в ES 3.0 и 3.1
OES_стандартные_производныеРасширение OpenGL ES №45
OES_vertex_array_objectРасширение OpenGL ES #71 (стало основным в ES 3.0) [16]
OES_surfaceless_contextРасширение OpenGL ES №116
OES_глубина_текстуры_куба_картаРасширение OpenGL ES №136
EXT_texture_filter_anisotropicРасширение OpenGL ES №41
EXT_texture_type_2_10_10_10_REVРасширение OpenGL ES №42
EXT_texture_compression_dxt1Расширение OpenGL ES №49
EXT_texture_format_BGRA8888Расширение OpenGL ES №51
EXT_discard_framebufferРасширение OpenGL ES №64
EXT_blend_minmaxРасширение OpenGL ES №65
EXT_read_format_bgraРасширение OpenGL ES №66
EXT_multi_draw_arraysРасширение OpenGL ES №69
EXT_frag_depthРасширение OpenGL ES №86
EXT_unpack_subimageРасширение OpenGL ES №90
EXT_texture_rgРасширение OpenGL ES №103
EXT_draw_buffersРасширение OpenGL ES №151
EXT_compressed_ETC1_RGB8_sub_textureРасширение OpenGL ES №188
NV_draw_buffersРасширение OpenGL ES №91
NV_fbo_color_attachmentsРасширение OpenGL ES №92
NV_read_bufferРасширение OpenGL ES №93
NV_read_depth_трафаретРасширение OpenGL ES №94
УГОЛ_сжатия_текстуры_dxtРасширение OpenGL ES №111

OpenGLES 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 включают:

Имя расширенияСортировать #НомерПодробности
KHR_context_flush_controlРасширение OpenGL ES №191(только для GL_KHR_context_flush_control)
дополнительныйв MESA (все водители)
OES_texture_compression_astcРасширение OpenGL ES №162
EXT_текстура_граница_зажимРасширение OpenGL ES №182
EXT_draw_elements_base_vertexРасширение OpenGL ES №204
OES_EGL_image_external_essl3Расширение OpenGL ES №220
MESA_shader_integer_functionsРасширение OpenGL ES №495

OpenGLES 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]

Имя расширенияСортировать #Номер
ARB_массивы_массивовРасширение ARB № 120
ARB_compute_shaderРасширение ARB № 122
ARB_explicit_uniform_locationРасширение ARB № 128
ARB_framebuffer_no_attachmentsРасширение ARB № 130
ARB_program_interface_queryРасширение ARB № 134
ARB_shader_atomic_countersРасширение ARB № 114
ARB_shader_image_load_storeРасширение ARB № 115
ARB_shader_storage_buffer_objectРасширение ARB № 137
ARB_отдельные_шейдерные_объектыРасширение ARB № 97
ARB_трафарет_текстурированиеРасширение ARB № 138
ARB_vertex_attrib_bindingРасширение ARB № 125
ARB_draw_indirectРасширение ARB №87
Упаковка_языка_затенения_ARBРасширение ARB № 116
ARB_shader_image_sizeРасширение ARB № 136
ARB_texture_storage_multisampleРасширение ARB № 141
ARB_texture_multisampleРасширение ARB № 67
EXT_shader_integer_mixРасширение OpenGL ES №161
необязательныйMesa (все драйверы OpenGL ES 3.1+)
ARB_sample_locationsРасширение ARB №181
OES_текстура_видРасширение OpenGL ES №218
Форматы_изображений_NVРасширение OpenGL ES №200
EXT_render_snormРасширение OpenGL ES №206
EXT_texture_norm16Расширение OpenGL ES №207

OpenGLES 3.2

Спецификация OpenGL ES 3.2 [26] была публично выпущена в августе 2015 года. Новые возможности OpenGL ES 3.2 включают в себя:

  • Геометрические и тесселяционные шейдеры для эффективной обработки сложных сцен на графическом процессоре.
  • Цели рендеринга с плавающей точкой для повышения гибкости при высокоточных вычислительных операциях.
  • Сжатие ASTC для уменьшения объема памяти и полосы пропускания, используемых для обработки текстур.
  • Улучшенное смешивание для сложного композитинга и обработки нескольких цветовых присоединений.
  • Расширенные целевые объекты текстур, такие как буферы текстур, многовыборочные двумерные массивы и массивы кубических карт.
  • Функции отладки и обеспечения надежности для упрощения разработки кода и безопасного выполнения.

Фактическое состояние — 3.2.6 июля 2019 г. [27] [28]

Имя расширенияСортировать #Номер
KHR_blend_equation_advancedРасширение OpenGL ES №168
EXT_color_buffer_floatРасширение OpenGL ES №137
KHR_отладкаРасширение OpenGL ES №118
KHR_прочностьРасширение OpenGL ES №190
OES_копия_изображенияРасширение OpenGL ES №208
OES_draw_buffers_indexedРасширение OpenGL ES №209
OES_draw_elements_base_vertexРасширение OpenGL ES №219
OES_geometry_shaderРасширение OpenGL ES №210
OES_gpu_shader5Расширение OpenGL ES №211
OES_sample_shadingРасширение OpenGL ES №169
OES_sample_variablesРасширение OpenGL ES №170
OES_shader_image_atomicРасширение OpenGL ES №171
OES_shader_io_blocksРасширение OpenGL ES №213
OES_shader_multisample_interpolationРасширение OpenGL ES №172
OES_tessellation_shaderРасширение OpenGL ES №214
OES_текстура_граница_зажимРасширение OpenGL ES №215
OES_текстурный_буферРасширение OpenGL ES №216
OES_текстурный_куб_карта_массивРасширение OpenGL ES №217
OES_texture_stencil8Расширение OpenGL ES №173
OES_texture_storage_multisample_2d_arrayРасширение OpenGL ES №174
KHR_текстурное_сжатие_astc_ldrРасширение OpenGL ES №117 (только LDR)
OES_primitive_bounding_boxРасширение OpenGL ES №212
необязательныйMesa (все драйверы OpenGL ES 3.2+)
KHR_текстурное_сжатие_astc_hdrРасширение OpenGL ES № 117 (включая LDR), расширение ARB № 118
KHR_blend_equation_advanced_coherentРасширение OpenGL ES №168
KHR_текстурное_сжатие_astc_sliced_3dРасширение OpenGL ES №249 (Расширение ARB №189)

OES_viewport_array

Расширение OpenGL ES №267

Еще несколько расширений разрабатываются или находятся в разработке в Mesa для следующей версии OpenGL ES (см. Mesamatrix).

API следующего поколения — Vulkan. [29]

Использование платформы

Полный список компаний и их соответствующей продукции можно посмотреть здесь.

OpenGLES 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.

OpenGLES 1.1

Версию OpenGL ES 1.1 поддерживают:

OpenGLES 2.0

При поддержке:

OpenGLES 3.0

При поддержке:

Поддерживается некоторыми последними версиями этих графических процессоров: [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)

OpenGLES 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 Graphics для серии Intel Atom Z3700 (Android)
  • Intel HD Graphics для Intel Celeron серий N и J (Android)
  • Intel HD Graphics для Intel Pentium серий N и J (Android)
  • Intel HD Graphics Haswell и выше (Linux Mesa: предыдущий Ivy Bridge почти без трафаретного текстурирования) [42]
  • Mali T6xx (midgard) серии и далее [51] (Android, Linux)
  • Nvidia GeForce серии 400 и выше (Windows, Linux)
  • Nvidia Tegra K1 (Android, Linux)
  • Nvidia Tegra X1 (Android)
  • PowerVR серии 6, 6XE, 6XT, 7XE и 7XT (Linux, Android)
  • Vivante серии GC2000 и далее (опционально для GC800 и GC1000) [52]
  • panfrost: поддержка ARM panfrost (Linux Mesa 22.0)
  • v3d: Драйвер для Broadcom VideoCore в Mesa (Linux)
    • Raspberry Pi 4 и 5
  • VIRGL: виртуальный драйвер для виртуальных машин в 2018 году с Mesa 18.1 (см. Mesamatrix.net)
  • LLVMpipe: программный драйвер в Mesa 20.2 (Linux)
  • softpipe: программный драйвер в Mesa 20.3 (Linux)
  • Zink: драйвер эмуляции в Mesa 21.1 (Linux)
  • d3d12: драйвер WSL2 Linux для Microsoft 10+ (Mesa 22.0)
  • Графика Apple M1 и M2 в Fedora Asahi Remix (Linux)

Пакет расширений Android

Android Extension Pack (AEP) — ​​это набор расширений OpenGL ES 3.1, все из которых объединены в одно расширение, представленное Google в 2014 году. Это позволяет приложениям использовать все функции набора расширений, при этом проверяя наличие только одного из них. AEP был официально добавлен в Android Lollipop для предоставления дополнительных функций, таких как тесселяция, по сравнению с тем, что официально было в редакции GLES 3.1. Обновление OpenGL ES 3.2 в значительной степени состоит из дополнений AEP, которые уже присутствуют в настольном OpenGL. [53]

OpenGLES 3.2

OpenGL ES 3.2, включающий Android Extension Pack (AEP), «может похвастаться небольшим количеством улучшений по сравнению с прошлогодним OpenGL ES 3.1. Оба используют схожие функции из AEP. Из AEP, совместимое с OpenGL ES 3.2 оборудование будет поддерживать тесселяцию для дополнительной детализации геометрии, новые геометрические шейдеры, сжатие текстур ASTC для меньшего объема памяти, цели визуализации с плавающей точкой для высокоточных вычислительных процессов и новые функции отладки для разработчиков. Эти высококлассные функции уже присутствуют в полной спецификации OpenGL 4 группы». [54] [3]

Поддерживается Windows, Linux, Android (возможно, начиная с версии 6.0, требуются версии 7.0+ Vulkan 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 в пользу собственного графического API Metal , но всё ещё работал по крайней мере до iOS 12. [ 56]

Будущее

В настоящее время нет плана для новой базовой версии OpenGL ES, поскольку принятие Vulkan , как считается, заменит его во встроенных и мобильных приложениях. Разработка расширений OpenGL ES продолжается по состоянию на 2017 год. [57]

Совместимость с OpenGL

Для эмуляции вызовов OpenGL с использованием GL ES создано несколько библиотек:

Смотрите также

Ссылки

  1. ^ «Khronos расширяет сферу применения экосистемы 3D Open Standard». 10 августа 2015 г.
  2. ^ "Обзор OpenGL ES - The Khronos Group Inc". The Khronos Group . 2011-07-19. Архивировано из оригинала 2024-09-14.
  3. ^ ab "3D Graphics API State of the Union: SIGGRAPH 2015" (PDF) . Khronos . Промышленность поставит >1,7 млрд устройств в 2015 году
  4. ^ Hruska, Joel (4 марта 2015 г.). «Еще не умер: Mantle от AMD поддерживает новый API Vulkan и усилия в области виртуальной реальности». ExtremeTech . Ziff Davis.
  5. ^ «Какие версии GLSL можно использовать в OpenGL ES 2.0?». Stack Overflow.
  6. ^ https://www.khronos.org/registry/OpenGL/specs/es/1.0/opengles_spec_1_0.pdf [ пустой URL-адрес PDF ]
  7. ^ http://developer.amd.com/wordpress/media/2012/10/GDC06-GLES_Tutorial_Day-Munshi-OpenGLES_Overview.pdf [ пустой URL-адрес PDF ]
  8. ^ https://www.khronos.org/registry/OpenGL/specs/es/1.1/es_full_spec_1.1.pdf [ пустой URL-адрес PDF ]
  9. ^ "переполнение стека: glGenFramebuffersOES против glGenFramebuffers?" . Получено 2022-04-19 .
  10. ^ "Khronos Press Releases - OpenGL ES 2.0". Khronos.org. 2007-03-05. Архивировано из оригинала 2010-12-28 . Получено 2010-12-23 .
  11. ^ Эдвард Энджел, Дэйв Шрайнер, Интерактивная компьютерная графика: подход сверху вниз с использованием OpenGL на основе шейдеров , 6-е издание, стр. xxi-xxii, ISBN 978-0-13-254523-5 
  12. ^ "Язык шейдеров OpenGL® ES" (PDF) . Khronos.org . Получено 16.02.2013 .
  13. ^ «Графическая система OpenGL(R): спецификация (версия 4.1 (основной профиль)» (PDF) . 25 июля 2010 г.
  14. ^ https://www.khronos.org/registry/OpenGL/specs/es/2.0/es_full_spec_2.0.pdf [ пустой URL-адрес PDF ]
  15. ^ "OpenGL© ES – Common Profile Specification 2.0.25 (Difference Specification)" (PDF) . 2 ноября 2010 г.
  16. ^ ab "Руководство по программированию OpenGL ES 3.0" (PDF) . Pearson Education, Inc . Получено 2022-04-18 .
  17. ^ "Реестр Khronos OpenGL ES - The Khronos Group Inc" . Реестр.khronos.org .
  18. ^ "Khronos выпускает спецификацию OpenGL ES 3.0, чтобы вывести мобильную 3D-графику на новый уровень". Khronos. 2012-08-06 . Получено 2012-08-06 .
  19. ^ "WebGL: 2D и 3D графика для веба". Mozilla . Получено 2023-06-30 .
  20. ^ "Спецификация WebGL 2.0". registry.khronos.org .
  21. ^ https://www.khronos.org/registry/OpenGL/specs/es/3.0/es_spec_3.0.pdf [ пустой URL-адрес PDF ]
  22. ^ "GLSL ES 3.0 Specification" (PDF) . Khronos . Получено 2023-06-30 .
  23. ^ "Реестр Khronos OpenGL ES - The Khronos Group Inc" . Реестр.khronos.org .
  24. ^ "Khronos выпускает спецификацию OpenGL ES 3.1". Khronos.org. 2014-03-17 . Получено 2014-03-17 .
  25. ^ https://www.khronos.org/registry/OpenGL/specs/es/3.1/es_spec_3.1.pdf [ пустой URL-адрес PDF ]
  26. ^ "Реестр Khronos OpenGL ES - The Khronos Group Inc" . Реестр.khronos.org .
  27. ^ https://www.khronos.org/registry/OpenGL/specs/es/3.2/es_spec_3.2.pdf [ пустой URL-адрес PDF ]
  28. ^ https://www.khronos.org/registry/OpenGL/specs/es/3.2/GLSL_ES_Specification_3.20.pdf [ пустой URL-адрес PDF ]
  29. ^ «Следующее поколение OpenGL становится Vulkan: опубликованы дополнительные подробности».
  30. ^ "Платформа Android". Разработчики Android .
  31. ^ "Symbian OS Version 8.0 Product sheet". 2008-03-30. Архивировано из оригинала 2008-03-30 . Получено 2008-03-30 .
  32. ^ Дьюдер, Джанель (2022-12-09). "OpenGL ES - Разработка игр для Symbian". 25 лет программирования . Получено 2023-01-14 .
  33. ^ "Использование OpenGL ES". Платформа разработки программного обеспечения QNX (v6.5.0) . QNX . Получено 2011-01-08 .
  34. ^ "Демонстрация OpenGL ES в формате PPT". 21 ноября 2021 г.
  35. ^ "Презентация OpenGL ES/PSGL в формате PPT". Sony . Khronos. 21 ноября 2021 г.
  36. ^ "OpenGL ES SDK доступен для Nokia 6630". Форумы Khronos . 2004-09-22 . Получено 2023-01-14 .
  37. ^ "Новое в этой бета-версии". Заметки о выпуске - Приложение BlackBerry Java . Research in Motion . Архивировано из оригинала 2009-12-02 . Получено 2009-12-08 .
  38. ^ Кох, Дамиан (29.11.2009). «Чего ожидать от смартфонов BlackBerry». CNET Asia . Архивировано из оригинала 13.12.2009 . Получено 08.12.2009 .
  39. ^ ab "PDK - Обзор". HP Palm Developer Center. Архивировано из оригинала 2011-01-01 . Получено 2010-12-23 .
  40. ^ "DMP объявляет о принятии Nintendo стандарта PICA 200, соответствующего OpenGL ES 1.1". 2010-06-21 . Получено 2013-06-02 .
  41. ^ "Спецификации Android 2.2". 2010-07-01. Архивировано из оригинала 2010-10-11.
  42. ^ abcd "Расширения и возможности Mesa OpenGL". people.freedesktop.org .
  43. ^ ab "Расширения и возможности Mesa OpenGL". people.freedesktop.org .
  44. ^ "Программное обеспечение Maemo - Nokia > Мобильный компьютер Nokia N900 > Технические характеристики". Nokia Corporation. Архивировано из оригинала 29 октября 2009 года . Получено 12 января 2010 года .
  45. ^ "iOS 8 для разработчиков". Разработчик Apple.
  46. ^ "Продукты, соответствующие Khronos" . 21 ноября 2021 г.
  47. ^ Саг, Аншель (2013-04-11). "Состояние OpenGL ES 3.0: кто что получил". Bright Side of News . Архивировано из оригинала 2013-06-15 . Получено 2015-12-22 .
  48. ^ "Продукты, совместимые с OpenGL ES3.1" . Получено 2014-08-11 .
  49. ^ "Графические процессоры Adreno™". Qualcomm . Получено 2014-08-11 .
  50. ^ "GL ES 3.1 на Adreno 3xx?" . Получено 2014-08-11 .
  51. ^ "Исследована архитектура Mali Midgard от ARM". AnandTech . Получено 11 августа 2014 г.
  52. ^ «Ядра Vivante Vega для 3D» . Виванте . Проверено 10 декабря 2014 г.
  53. ^ "Khronos представляет OpenGL ES 3.2 и новые расширения GL, но на этой неделе нет Vulkan". 10 августа 2015 г. Получено 11 августа 2015 г.
  54. ^ "OpenGL ES 3.2 и Vulkan – все, что вам нужно знать". Android Authority . 2015-08-15 . Получено 2015-12-22 .
  55. ^ "NVIDIA выпускает драйверы Game Ready 358.50 для Star Wars Battlefront". AnandTech . Получено 2015-10-07 .
  56. ^ Apple Inc. "Что нового в iOS - Apple Developer". developer.apple.com . Получено 2018-08-07 . Приложения, созданные с использованием OpenGL ES, продолжат работать в iOS 12, но OpenGL ES устарел в iOS 13.
  57. ^ Khronos. "Vulkan, OpenGL и OpenGL ES" (PDF) . www.khronos.org . Получено 24.04.2020 .
  58. ^ "p3/regal: Regal для OpenGL". GitHub. 18 октября 2021 г.
  59. ^ Маккатчан, Джон (7 сентября 2012 г.). «Подробнее: внедрение Regal OpenGL в собственный клиент». Gamasutra.
  60. ^ "GL4ES - Драйвер OpenGL для оборудования GLES". GitHub .

Дальнейшее чтение

  • Гинзбург, Дэн; Пурномо, Будириджанто; Шрейнер, Дэйв; Мунши, Аафтаб (2014). Руководство по программированию OpenGL ES 3.0 . Аддисон-Уэсли Профессионал. ISBN 978-0-321-93388-1.
  • Пулли, Кари; Аарнио, Томи; Миеттинен, Вилле; Роймела, Киммо и Ваарала, Яни (2007). Мобильная 3D-графика с OpenGL ES и M3G . Морган Кауфманн. ISBN 978-0-12-373727-4.
  • Astle, Dave & Durnil, David (2004). Разработка игр OpenGL ES . Технология курса PTR. ISBN 1-59200-370-2.
  • Пулли, Кари; Аарнио, Томи; Роймела, Киммо и Ваарала, Яни (2005). «Проектирование интерфейсов графического программирования для мобильных устройств». IEEE Computer Graphics and Applications . 25 (6). IEEE CG&A 2005: 66–75. doi :10.1109/MCG.2005.129. PMID  16315479. S2CID  8177273.
  • Официальный сайт
  • Публичное отслеживание ошибок
  • Компании, соответствующие OpenGL ES
  • Публичные форумы
  • Список устройств, совместимых с OpenGL ES
  • Домашняя страница OpenGL
  • Эмулятор OpenGL ES 1.1 и 2.0 от ARM Ссылка непригодна для использования. Не нажимайте.
  • Эмулятор OpenGL ES 3.0 от ARM Ссылка непригодна для использования. Не нажимайте.
Взято с "https://en.wikipedia.org/w/index.php?title=OpenGL_ES&oldid=1245614926#3.1"