Новости Software

GDC 2014: Khronos представила мобильный стандарт OpenGL ES 3.1

Игровая индустрия всё сильнее клонится к миру мобильных сенсорных устройств. Неудивительно, что к открытию конференции разработчиков игр GDC 2014 компания Khronos официально анонсировала новую версию 3.1 графического стандарта OpenGL ES. Если сравнивать его с OpenGL ES 3.0, который был представлен в 2012 году, то анонс OpenGL ES 3.1 — не столь значим. Стандарт является логическим развитием ES 2.0 и 3.0, а его ключевой задачей является перенос наиболее важных и популярных функций с полноценного OpenGL 4 на OpenGL ES в том порядке и с теми темпами, которые наиболее разумны для разработчиков аппаратуры и программного обеспечения в мобильных устройствах.

Если забыть о версиях, то в OpenGL ES 3.1 компания Khronos, наконец, достигла той точки, на которой стандарт может рассматриваться подмножеством OpenGL 4. В то время как OpenGL ES 3.0 почти целиком включал в себя функции OpenGL 3, в версии OpenGL ES 3.1 появилось немало ключевых функций, которые изначально были в OpenGL 4.

Среди главных новшеств OpenGL ES 3.1 можно назвать вычислительные шейдеры. Эта функциональность впервые появилась в OpenGL 4.3: речь идёт о гораздо более гибких шейдерах, которые ещё сильнее отошли от графического конвейера и могут быть использованы разработчиками для ускорения высокопараллельных задач, где невозможно или неэффективно применять пиксельные шейдеры.

Вычислительные шейдеры, таким образом, могут использоваться для ускорения задач общего назначения (неграфических), однако чаще они всё же применяются для более эффективного исполнения определённых алгоритмов в рамках графических задач. В играх, например, они могут применяться для ускорения расчётов модели затенения Ambient Occlusion. Также обработка видео и фотографий может стать одной из задач, которые выиграют от использования вычислительных шейдеров. Это новшество OpenGL ES 3.1 может оказать наибольшее влияние на улучшение качества мобильных игр. Стоит также отметить, что вычислительные шейдеры основаны на GLSL ES, так что разработчики могут без лишних сложностей их освоить.

Были реализованы и более мелкие улучшения, касающиеся шейдеров в OpenGL ES 3.1. Разработчики могут теперь более свободно смешивать и комбинировать вершинные и пиксельные шейдеры благодаря раздельной функциональности шейдерных объектов: в 3.1 были сняты некоторые требования к конвейеризации. Кроме того, в OpenGL ES 3.1 также появилась поддержка новых арифметических операций и операций с битовым полем, благодаря чему разработчики игр для ПК получат в свои руки более привычные инструменты.

Даже несмотря на тесную интеграцию на одном кристалле графики и процессора, мобильные GPU ненамного лучше настольных в плане зависимости от скорости процессора. Следовательно, важно сделать GPU более самодостаточным вычислительным блоком с целью увеличения производительности и, вполне возможно, времени автономной работы. С этой целью в OpenGL ES 3.1 была внедрена поддержка непрямых команд отрисовки (Indirect Draw Commands), которые позволяют GPU самостоятельно задавать свою работу, а не в обязательном порядке ждать получения команд от CPU. В результате нагрузка на процессор может быть существенно снижена в ряде задач (например, в случае симуляции физики).

Наконец, в OpenGL ES 3.1 появилась и новая функциональность по работе с текстурами. Поддерживается Texture Multisampling — технология, полезная при использовании полноэкранного сглаживания вместе с методами закадровой визуализации. Появились и новые методы улучшенной фильтрации текстур.

Хотя спецификации стандарта уже окончены, Khronos заявила о планах продолжения тестов на совместимость OpenGL ES 3.1 в ближайшие три месяца. Это в большей степени проблема OEM-производителей, но с точки зрения пользователей это означает, что некоторые компании не смогут назвать свою графику совместимой с OpenGL ES 3.1 до успешного прохождения всех предусмотренных тестов.

OpenGL ES 3.1 во многом создан для работы на существующем оборудовании: ряд особенностей стандарта просто обеспечивает поддержку функций, которые мобильные GPU уже могут исполнять. Khronos обещает, что многие современные SoC будут поддерживать OpenGL ES 3.1. К сожалению, пока не сообщается список графических ускорителей, совместимых с новым стандартом — он будет составлен после прохождения необходимых тестов совместимости. Но в пресс-релизе Khronos выразила ожидание, что NVIDIA и Imagination Technologies в полной мере будут поддерживать OpenGL ES 3.1 в ускорителях на базе архитектуры Kepler и Rogue соответственно.

Источник:

Если вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.
Материалы по теме
window-new
Soft
Hard
Тренды 🔥