Логотип OpenGL ES | |
Автор (ы) оригинала | ARB |
---|---|
Разработчики) | Группа Хронос |
изначальный выпуск | 28 июля 2003 г . |
Стабильный выпуск | 3.2 [1] / 10 августа 2015 г . |
Операционная система | Кроссплатформенность |
Платформа | Кроссплатформенность |
Тип | API |
Лицензия | Бесплатно, роялти или лицензирование |
Интернет сайт | www |
OpenGL для встраиваемых систем ( OpenGL ES или GLES ) является подмножеством [2] из OpenGL компьютерной графики визуализации интерфейса прикладного программирования (API) для рендеринга 2D и 3D компьютерной графики , таких как те , которые используются видеоиграми , как правило , аппаратное ускорение использования графики процессор (GPU). Он разработан для встраиваемых систем, таких как смартфоны , планшетные компьютеры , игровые приставки и КПК.. OpenGL ES - это «самый широко применяемый API трехмерной графики в истории». [3]
API является кросс-языковым и многоплатформенным . Библиотеки GLUT и GLU недоступны для OpenGL ES. 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) и общий облегченный (CL) профили, разница в том, что общий облегченный профиль поддерживает только фиксированную точку вместо поддержки типа данных с плавающей запятой , тогда как 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 для создания облегченного интерфейса, в том числе:
- примитивы четырех- и полигонального рендеринга,
- тексген, пунктирная линия и многоугольник,
- режим многоугольника и рендеринг полигонов со сглаживанием не поддерживаются, хотя рендеринг с использованием мультисэмпла по-прежнему возможен (вместо фрагментов альфа-границы),
ARB_Image
не поддерживаются операции класса пикселей, а также растровые изображения или 3D-текстуры,- Некоторые из наиболее технических режимов рисования исключены, в том числе передний буфер и буфер накопления. Операции с растровыми изображениями, в частности копирование пикселей (по отдельности), не разрешены, равно как и оценщики, или (пользовательские) операции выбора
- списки отображения и отзывы удаляются, как и операции push и pop для атрибутов состояния,
- некоторые параметры материала были удалены, в том числе параметры задней поверхности и определяемые пользователем плоскости отсечения.
Актуальная версия 1.0.0.2. [6]
Имя расширения | Сортировать # Число | Подробности |
---|---|---|
OES_byte_coordinates | Расширение OpenGL ES №4 | (ранее OpenGL Extension # 291) |
OES_compressed_paletted_texture | Расширение OpenGL ES №6 | (ранее OpenGL Extension # 294) |
OES_fixed_point | Расширение OpenGL ES №9 | (ранее OpenGL Extension # 292) |
OES_query_matrix | Расширение OpenGL ES №16 | (ранее OpenGL Extension # 296) |
OES_read_format | Расширение OpenGL ES № 17 | (ранее OpenGL Extension # 295) |
OES_single_precision | Расширение OpenGL ES № 18 | (ранее OpenGL Extension # 293) |
необязательный | Mesa (все драйверы) | |
OES_compressed_ETC1_RGB8_texture | Расширение OpenGL ES №5 |
OpenGL ES 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 |
необязательный | Mesa (все драйверы) |
OES_EGL_image | Расширение OpenGL ES №23 |
OES_EGL_image_external | Расширение OpenGL ES № 87 |
OES_required_internalformat | Расширение OpenGL ES № TBD |
OpenGL ES 2.0 [ править ]
OpenGL ES 2.0 был публично выпущен в марте 2007 года. [9] Он примерно основан на OpenGL 2.0, но устраняет большую часть конвейера рендеринга с фиксированными функциями в пользу программируемого, аналогично переходу с OpenGL 3.0 на 3.1. . [10] Поток управления в шейдерах обычно ограничивается прямым ветвлением и циклами, где максимальное количество итераций может быть легко определено во время компиляции. [11] Практически все функции рендеринга на этапе преобразования и освещения, такие как спецификация материалов и параметров освещения, ранее заданных API фиксированных функций, заменены шейдерами, написанными графическим программистом. В результате OpenGL ES 2.0 не имеет обратной совместимости.с OpenGL ES 1.1. Некоторые несовместимости между настольной версией OpenGL и OpenGL ES 2.0 сохранялись до OpenGL 4.1, в котором было добавлено GL_ARB_ES2_compatibility
расширение. [12]
Актуальная версия - 2.0.25. [13]
Группа Khronos написала документ, описывающий различия между OpenGL ES 2.0 и обычным OpenGL 2.0. [14]
Имя расширения | Сортировать # Число |
---|---|
OES_texture_cube_map | Расширение OpenGL ES №20 |
OES_texture_npot | Расширение OpenGL ES №37 |
OES_depth24 | Расширение OpenGL ES № 24 |
OES_depth_texture | Расширение 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_stencil | Расширение OpenGL ES №43 |
OES_rgb8_rgba8 | Расширение OpenGL ES №30 |
OES_stencil8 | Расширение OpenGL ES №33 |
OES_vertex_array_object | Расширение OpenGL ES №71 |
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_texture_float_linear OES_texture_half_float_linear | OpenGL ES Extension # 35, расширенный в ES 3.0 и 3.1 |
OES_texture_float OES_texture_half_float | OpenGL ES Extension # 36, расширенный в ES 3.0 и 3.1 |
OES_standard_derivatives | Расширение OpenGL ES №45 |
OES_surfaceless_context | Расширение OpenGL ES № 116 |
OES_depth_texture_cube_map | Расширение 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_stencil | Расширение OpenGL ES №94 |
ANGLE_texture_compression_dxt | Расширение OpenGL ES № 111 |
OpenGL ES 3.0 [ править ]
Спецификация OpenGL ES 3.0 [15] была публично выпущена в августе 2012 года. [16] OpenGL ES 3.0 обратно совместим с OpenGL ES 2.0, что позволяет приложениям постепенно добавлять новые визуальные функции в приложения. OpenGL 4.3 обеспечивает полную совместимость с OpenGL ES 3.0. Версия 3.0 также является основой для WebGL 2.0. [17] Актуальна версия 3.0.6. [18]
Новые функции в спецификации OpenGL ES 3.0 включают:
- несколько усовершенствований в конвейер рендеринга , чтобы включить ускорение передовых визуальных эффектов , в то числе: прикус запросов , преобразование обратной связи , инстанс оказания и поддержки в течение четырех или более визуализации целей ,
- высококачественное сжатие текстур ETC2 / EAC в качестве стандартной функции, устраняющее необходимость в другом наборе текстур для каждой платформы,
- новая версия языка шейдинга GLSL ES [19] с полной поддержкой целочисленных и 32-битных операций с плавающей запятой ;
- значительно улучшенная функциональность текстурирования, включая гарантированную поддержку текстур с плавающей запятой , 3D-текстур, текстур глубины, текстур вершин, текстур NPOT, текстур R / RG, неизменяемых текстур, текстур 2D-массивов, swizzles , зажимов уровня LOD и MIP , бесшовных кубических карт и объектов сэмплера ,
- обширный набор требуемых форматов текстур и буферов рендеринга с явно заданным размером , что снижает вариативность реализации и значительно упрощает написание переносимых приложений.
Имя расширения | Сортировать # Число | Подробности |
---|---|---|
KHR_context_flush_control | Расширение OpenGL ES №191 | (только для GL_KHR_context_flush_control) |
дополнительный | в MESA (все драйверы) | |
OES_texture_compression_astc | Расширение OpenGL ES №162 | |
EXT_texture_border_clamp | Расширение 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 |
OpenGL ES 3.1 [ править ]
Спецификация OpenGL ES 3.1 [20] была публично выпущена в марте 2014 года. Новые функции в OpenGL ES 3.1 включают: [21]
- Вычислить шейдеры
- Независимые вершинные и фрагментные шейдеры
- Косвенные команды рисования
OpenGL ES 3.1 обратно совместим с OpenGL ES 2.0 и 3.0, что позволяет приложениям постепенно включать новые функции. Актуальная версия - 3.1- (ноябрь 2016 г.). [22]
Имя расширения | Сортировать # Число |
---|---|
ARB_arrays_of_arrays | 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_separate_shader_objects | ARB добавочный номер 97 |
ARB_stencil_texturing | ARB добавочный номер 138 |
ARB_vertex_attrib_binding | ARB добавочный номер 125 |
ARB_draw_indirect | ARB добавочный номер 87 |
ARB_shading_language_packing | 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_texture_view | Расширение OpenGL ES № 218 |
NV_image_formats | Расширение OpenGL ES №200 |
EXT_render_snorm | Расширение OpenGL ES №206 |
EXT_texture_norm16 | Расширение OpenGL ES №207 |
OpenGL ES 3.2 [ править ]
Спецификация OpenGL ES 3.2 [23] была публично выпущена в августе 2015 года. Новые возможности OpenGL ES 3.2 включают:
- Шейдеры геометрии и тесселяции для эффективной обработки сложных сцен на графическом процессоре.
- Цели рендеринга с плавающей запятой для повышения гибкости в высокоточных вычислительных операциях.
- Сжатие ASTC для уменьшения объема памяти и полосы пропускания, используемой для обработки текстур.
- Улучшенное смешивание для сложной композиции и обработки нескольких цветов.
- Расширенные целевые объекты текстуры, такие как буферы текстуры, мультидискретный 2D-массив и массивы кубических карт.
- Функции отладки и надежности для упрощения разработки кода и безопасного выполнения.
Фактическое состояние: 3.2.6 июля 2019 года. [24] [25]
Имя расширения | Сортировать # Число |
---|---|
KHR_blend_equation_advanced | Расширение OpenGL ES # 168 |
EXT_color_buffer_float | Расширение OpenGL ES №137 |
KHR_debug | Расширение OpenGL ES №118 |
KHR_robustness | Расширение OpenGL ES №190 |
OES_copy_image | Расширение 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_texture_border_clamp | Расширение OpenGL ES № 215 |
OES_texture_buffer | Расширение OpenGL ES № 216 |
OES_texture_cube_map_array | Расширение OpenGL ES № 217 |
OES_texture_stencil8 | Расширение OpenGL ES № 173 |
OES_texture_storage_multisample_2d_array | Расширение OpenGL ES № 174 |
KHR_texture_compression_astc_ldr | Расширение OpenGL ES # 117 (только LDR) |
OES_primitive_bounding_box | Расширение OpenGL ES № 212 |
необязательный | Mesa (все драйверы OpenGL ES 3.2+) |
KHR_texture_compression_astc_hdr | OpenGL ES Extension # 117 (LDR включен), ARB Extension # 118 |
KHR_blend_equation_advanced_coherent | Расширение OpenGL ES # 168 |
KHR_texture_compression_astc_sliced_3d | Расширение OpenGL ES № 249 (Расширение ARB № 189) |
OES_viewport_array | Расширение OpenGL ES № 267 |
Еще несколько расширений разрабатываются или находятся в разработке в Mesa для следующей версии OpenGL ES (см. Mesamatrix).
API следующего поколения - Vulkan. [26]
Использование платформы [ править ]
Полный список компаний и соответствующих им продуктов можно найти здесь.
OpenGL ES 1.0 [ править ]
OpenGL ES 1.0 добавил официальный API трехмерной графики в операционные системы Android [27] и Symbian [28] , а также в QNX [29]. Он также поддерживается PlayStation 3 в качестве одного из официальных графических API [30] ( другая - библиотека libgcm низкого уровня ) с Nvidia Cg вместо GLSL. [31] PlayStation 3 также включает несколько функций версии 2.0 OpenGL ES.
OpenGL ES 1.1 [ править ]
Версия 1.1 OpenGL ES поддерживается:
- Android 1.6
- Apple iOS для iPad , iPhone и iPod Touch
- Операционная система RIM серии BlackBerry 5.0 [32] (только BlackBerry Storm 2 , BlackBerry Curve 8530 и более поздние модели имеют необходимое оборудование [33] )
- BlackBerry PlayBook
- BlackBerry BB10
- Различные телефоны Nokia, такие как Nokia N95, N93, N93i и N82.
- Palm webOS с использованием комплекта разработчика плагинов [34]
- Nintendo 3DS [35]
OpenGL ES 2.0 [ править ]
При поддержке:
- Платформа Android с Android 2.0 до NDK и от Android 2.2 до Java [36]
- 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) [37]
- Nvidia (Android), Curie NV40 +: Linux, Windows [38]
- Различные Nokia телефоны (например, Symbian ^ 3 на основе Nokia N8 , MeeGo на базе Nokia N9 , и Maemo на базе Nokia N900 [39] )
- Palm webOS с использованием комплекта разработчика плагинов [34]
- Pandora консоли
- Raspberry Pi
- ODROID
- Различные мобильные телефоны Samsung (например, Wave )
- Веб-браузеры ( WebGL )
- ГСК Нулевой консоли
- PlayStation Vita портативной консоли
- PlayStation 4 Консоль
OpenGL ES 3.0 [ править ]
При поддержке:
- Android начиная с версии 4.3, на устройствах с соответствующим оборудованием и драйверами, в том числе:
- Nexus 7 (2013 г.)
- Nexus 4
- Нексус 5
- Nexus 10
- HTC Бабочка S
- HTC One / One Max
- LG G2
- LG G Pad 8.3
- Малина Pi 4
- Samsung Галактика J5
- Samsung Galaxy J5 (2016)
- Samsung Galaxy S4 (версия для Snapdragon)
- Samsung Галактика S5
- Samsung Galaxy Note 3
- Samsung Galaxy Note 10.1 (версия 2014 г.)
- Sony Xperia M
- Sony Xperia Z / ZL
- Sony Xperia Z1
- Sony Xperia Z Ultra
- Sony Xperia Tablet Z
- iOS, начиная с версии 7, на устройствах, в том числе:
- iPhone 5S [40]
- iPad Air
- iPad mini с дисплеем Retina
- ОС BlackBerry 10, начиная с версии 10.2, на устройствах, в том числе:
- BlackBerry Z3
- BlackBerry Z30
- BlackBerry Passport
Поддерживается некоторыми последними версиями этих графических процессоров: [41] [42]
- Adreno 300 и 400 серий ( Android , BlackBerry 10 , Windows10 Windows RT )
- Серия Mali T600 и новее (Android, Linux , Windows 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 и выше (Linux) [43]
- AMD Terascale и актуальная GCN-архитектура (Windows, Linux)
- LLVMpipe и Softpipe: программные драйверы в Mesa [44]
- VIRGL: виртуальный драйвер для виртуальных машин в 2018 году с Mesa 18.1 (см. Mesamatrix.net)
OpenGL ES 3.1 [ править ]
Поддерживается Windows, Linux, Android (начиная с версии 5.0) на устройствах с соответствующим оборудованием и драйверами [45], включая:
- Серия Adreno 400 [46] [47]
- Серия Adreno 500 (Mesa 18.1 для Linux и Android)
- AMD Terascale и актуальная GCN-архитектура (Windows, Linux)
- 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 почти без текстурирования трафарета) [48]
- Серия Mali T6xx (midgard) и далее [49] (Android, Linux)
- Nvidia GeForce серии 400 и новее (Windows, Linux)
- Nvidia Tegra K1 (Android, Linux)
- Nvidia Tegra X1 (Android)
- PowerVR Series 6, 6XE, 6XT, 7XE и 7XT (Linux, Android)
- Vivante серии GC2000 и далее (опционально с GC800 и GC1000) [50]
- v3d: Драйвер для малины Broadcom ARM в Mesa (Linux)
- VIRGL: виртуальный драйвер для виртуальных машин в 2018 году с Mesa 18.1 (см. Mesamatrix.net)
- LLVMpipe: программный драйвер в Mesa 20.2 (Linux)
- softpipe: программный драйвер в Mesa 20.3 (Linux)
Пакет расширений Android [ править ]
Android Extension Pack (AEP) - это набор расширений OpenGL ES 3.1, объединенных в одно расширение, представленное Google в 2014 году. Это позволяет приложениям использовать все функции набора расширений, при этом проверяя только наличие одинокий. AEP был официально добавлен в Android Lollipop для предоставления дополнительных функций, таких как тесселяция, по сравнению с тем, что было официально в версии GLES 3.1. Обновление OpenGL ES 3.2 в значительной степени состоит из дополнений AEP, которые уже присутствуют в настольном OpenGL. [51]
OpenGL ES 3.2 [ править ]
OpenGL ES 3.2, включающий Android Extension Pack (AEP), "может похвастаться небольшим количеством улучшений по сравнению с прошлогодним OpenGL ES 3.1. Оба используют аналогичные функции из AEP. Из AEP совместимое с OpenGL ES 3.2 оборудование будет поддерживать тесселяцию для дополнительная детализация геометрии, новые геометрические шейдеры, сжатие текстур ASTC для меньшего использования полосы пропускания памяти, целевые объекты рендеринга с плавающей запятой для высокоточных вычислительных процессов и новые функции отладки для разработчиков. Эти высокопроизводительные функции уже присутствуют в полной спецификации OpenGL 4 группы . " [52] [3]
Поддерживается Windows, Linux, Android (начиная с версии 6.0 возможна версия 7.0+, требуется Vulkan 1.0 и OpenGL ES 3.2) на устройствах с соответствующим оборудованием и драйверами, включая:
- Adreno 420 и новее (Android, Linux)
- AMD GCN-архитектура (Windows, Linux (Mesa 18.2))
- Intel HD Graphics Skylake и выше (Linux) [53]
- Mali-T760 и новее (Android, Linux)
- Nvidia GeForce серии 400 (Fermi) и новее (Windows, Linux) [54]
- VIRGL: виртуальный драйвер для виртуальных машин в 2018 году с Mesa 18.1 (см. Mesamatrix.net)
- LLVMpipe: программный драйвер в Mesa 20 (Linux)
Прекращение поддержки устройств Apple [ править ]
OpenGL ES (и OpenGL) не рекомендуется в операционных системах Apple, но все еще работает, по крайней мере, до iOS 12. [55]
Будущее [ править ]
В настоящее время нет планов по выпуску новой базовой версии OpenGL ES, поскольку считается , что принятие Vulkan вытеснит его во встроенных и мобильных приложениях. Разработка расширений OpenGL ES продолжается по состоянию на 2017 год. [56]
Совместимость с OpenGL [ править ]
Этот раздел нуждается в расширении . Вы можете помочь, добавив к нему . ( Сентябрь 2014 г. ) |
Было создано несколько библиотек для имитации вызовов OpenGL с использованием GL ES:
- Nvidia предлагает лицензионную библиотеку BSD с двумя пунктами под названием Regal, первоначально созданную Кассом Эвериттом. Последний раз он обновлялся в 2016 году. [57] Regal используется, например, в Google NaCl . [58]
- MIT лицензию GL4ES эмулирует OpenGL 2.1 / 1.5 с помощью GL ES 2.0 / 1.1. Он основан на glshim. [59]
См. Также [ править ]
- Direct3D - Windows API для высокопроизводительной 3D-графики с аппаратной поддержкой 3D-ускорения
- DirectX - Windows API для обработки задач, связанных с графикой и видео
- Metal - низкоуровневая высокопроизводительная графическая библиотека с 3D-ускорением для устройств Apple.
- OpenSL ES - API для звука во встроенных системах, разработанный Khronos Group
- ANGLE (программное обеспечение) - разработанная Google библиотека для преобразования вызовов OpenGL ES в вызовы DirectX или Vulkan.
Ссылки [ править ]
- ^ «Хронос расширяет сферу применения трехмерной открытой стандартной экосистемы» .
- ^ "Обзор OpenGL ES" . Хронос Групп.
- ^ a b «Состояние Союза 3D-графики API: SIGGRAPH 2015» (PDF) . Хронос .
В 2015 году промышленность поставит> 1,7 миллиарда устройств
- ^ Хруска, Joel (4 марта 2015). «Еще не умер: AMD Mantle поддерживает новый Vulkan API, усилия VR» . ExtremeTech . Зифф Дэвис.
- ^ "Какие версии GLSL я могу использовать в OpenGL ES 2.0?" . Переполнение стека.
- ^ 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
- ^ "Пресс-релизы Khronos - OpenGL ES 2.0" . Khronos.org. 2007-03-05. Архивировано из оригинала на 2010-12-28 . Проверено 23 декабря 2010 .
- ^ Эдвард Ангел, Дэйв Шрейнер, Интерактивная компьютерная графика: подход сверху вниз с OpenGL на основе шейдеров , 6-е издание, стр. xxi-xxii, ISBN 978-0-13-254523-5
- ^ "Язык затенения OpenGL® ES" (PDF) . Khronos.org . Проверено 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
- ^ "OpenGL © ES - Спецификация общего профиля 2.0.25 (Спецификация различий)" (PDF) . 2 ноября 2010 г.
- ^ «Спецификация OpenGL ES 3.0» .
- ^ «Khronos выпускает спецификацию OpenGL ES 3.0, чтобы вывести мобильную 3D-графику на новый уровень» . Khronos.org. 2012-08-06 . Проверено 6 августа 2012 .
- ^ «Спецификация WebGL 2.0» .
- ^ https://www.khronos.org/registry/OpenGL/specs/es/3.0/es_spec_3.0.pdf
- ^ "Справочные страницы OpenGL ES 3.0 Shading Language Online" .
- ^ «Спецификация OpenGL ES 3.1» .
- ^ "Khronos выпускает спецификацию OpenGL ES 3.1" . Khronos.org. 2014-03-17 . Проверено 17 марта 2014 .
- ^ https://www.khronos.org/registry/OpenGL/specs/es/3.1/es_spec_3.1.pdf
- ^ «Спецификация 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
- ^ "Что такое Android?" .
- ^ "Описание продукта Symbian OS v9.5" . Symbian. Архивировано из оригинала на 2008-03-27.
- ^ "Использование OpenGL ES" . Платформа разработки программного обеспечения QNX (v6.5.0) . QNX . Проверено 8 января 2011 .
- ^ "Демонстрация OpenGL ES в формате PPT" .
- ^ «Презентация OpenGL ES / PSGL в формате PPT» . Sony . Хронос.
- ^ «Новое в этой бета-версии» . Примечания к выпуску - Java-приложение BlackBerry . Исследования в движении . Архивировано из оригинала на 2009-12-02 . Проверено 8 декабря 2009 .
- Перейти ↑ Koh, Damian (2009-11-29). «Чего ожидать от смартфонов BlackBerry» . CNET Asia . Архивировано из оригинала на 2009-12-13 . Проверено 8 декабря 2009 .
- ^ a b «PDK - Обзор» . Центр разработчиков HP Palm. Архивировано из оригинала на 2011-01-01 . Проверено 23 декабря 2010 .
- ^ «DMP объявляет о принятии Nintendo совместимой с OpenGL ES 1.1 PICA 200» . 2010-06-21 . Проверено 2 июня 2013 .
- ^ "Спецификации Android 2.2" . 2010-07-01. Архивировано из оригинала на 2010-10-11.
- ^ 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
- ^ «Программное обеспечение Maemo - Nokia> Мобильный компьютер Nokia N900> Технические характеристики» . Корпорация Nokia. Архивировано из оригинального 29 октября 2009 года . Проверено 12 января 2010 года .
- ^ «iOS 8 для разработчиков» . Разработчик Apple.
- ^ "Продукты, соответствующие Khronos" .
- ^ Саг, Аншель (2013-04-11). «Состояние OpenGL ES 3.0: у кого есть что?» . Яркая сторона новостей . Архивировано 15 июня 2013 года . Проверено 22 декабря 2015 .
- ^ 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
- ^ «Продукты, соответствующие OpenGL ES3.1» . Проверено 11 августа 2014 .
- ^ «Блоки обработки графики Adreno ™» . Qualcomm . Проверено 11 августа 2014 .
- ^ "GL ES 3.1 на Adreno 3xx?" . Проверено 11 августа 2014 .
- ^ https://people.freedesktop.org/~imirkin/glxinfo/#p=es&v=Mesa%2017.2.0
- ^ "Архитектура Мали Мидгард ARM исследована" . AnandTech . Проверено 11 августа 2014 .
- ^ "Ядра Vivante Vega для 3D" . Виванте . Проверено 10 декабря 2014 .
- ^ «Khronos дебютирует с OpenGL ES 3.2 и новыми расширениями GL, но без Vulkan на этой неделе» . 10 августа 2015 года . Проверено 11 августа 2015 года .
- ^ «OpenGL ES 3.2 и Vulkan - все, что вам нужно знать» . Android Authority . 2015-08-15 . Проверено 22 декабря 2015 .
- ^ https://people.freedesktop.org/~imirkin/glxinfo/#p=es&v=Mesa%2017.2.0
- ^ «NVIDIA выпускает драйверы для игр 358.50 для Star Wars Battlefront» . AnandTech . Проверено 7 октября 2015 .
- ^ Apple Inc. «Что нового в iOS - разработчик Apple» . developer.apple.com . Проверено 7 августа 2018 .
Приложения, созданные с использованием OpenGL ES, будут продолжать работать в iOS 12, но OpenGL ES устарел в iOS 13.
- ^ Хронос. «Vulkan, OpenGL и OpenGL ES» (PDF) . www.khronos.org . Проверено 24 апреля 2020 .
- ^ "p3 / regal: Regal для OpenGL" . GitHub.
- ^ McCutchan, Джон (7 сентября 2012). «Подробно: внедрение Regal OpenGL в собственный клиент» . Гамасутра.
- ^ «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.
- Астл, Дэйв и Дурнил, Дэвид (2004). OpenGL ES Разработка игр . Курс Технологии PTR. ISBN 1-59200-370-2.
- Пулли, Кари; Аарнио, Томи; Роймела, Киммо и Ваарала, Яни. Разработка графических программных интерфейсов для мобильных устройств . IEEE CG&A 2005 . DOI : 10,1109 / MCG.2005.129 .
Внешние ссылки [ править ]
В Викиучебнике есть книга на тему: Программирование OpenGL / Обзор OpenGL ES. |
- Официальный веб-сайт
- Общедоступное отслеживание ошибок
- Компании, соответствующие OpenGL ES
- Общественные форумы
- Список устройств, совместимых с OpenGL ES
- Домашняя страница OpenGL
- Эмулятор OpenGL ES 1.1 и 2.0 от ARM
- Эмулятор OpenGL ES 3.0 от ARM