На конференции SIGGRAPH 2014 некоммерческий фонд Khronos Group, занимающийся стандартизацией аудио, графических и вычислительных API, сегодня анонсировал новое поколение спецификаций OpenGL 4.5, предназначенных для создания графически насыщенных 3D-приложений. Khronos также заявил о создании OpenGL Next, который станет ответом на Direct3D 12, AMD Mantle и Apple Metal.
Khronos уже сделала ежегодной традицией анонс на SIGGRAPH новых возможностей своего текущего OpenGL API, который получил обозначение 4.5. К устоявшемуся индустриальному стандарту рабочая группа добавила несколько новых возможностей, расширяющих доступные инструменты для разработчиков. Главным направлением работы в новой версии API стало взаимодействие с другими спецификациями — OpenGL ES, WebGL и Direct3D. OpenGL 4.5 теперь полностью обратно совместим с OpenGL ES 3.1, используемом в Android, Blackberry и iOS, позволяя разработчикам тестировать код для мобильных устройств прямо на ПК. Кроме того, в новой версии API появилась эмуляция некоторых функций Direct3D, которые упрощают портирование кода с DirectX на API от Khronos. Для взаимодействия cо стандартом WebGL, применяемом в веб-браузерах, реализована своеобразная «песочница», изолирующая браузерные приложения от обычных OpenGL-приложений, поэтому если вредоносный код приведёт к отказу в обслуживании WebGL-приложения, другие OpenGL-программы продолжат свою работу. Кроме действий по обеспечению совместимости, рабочая группа OpenGL перенесла реализацию Direct State Access (DSA) из расширений в основную часть стандарта (Core). Эта функция позволяет разработчикам (в первую очередь движков и прочего middleware) напрямую устанавливать и изменять параметры объектов (текстур, шейдеров, кадровых буферов и прочего) без необходимости помечать их активными. Поддержка DSA была одним из главных преимуществ Direct3D перед OpenGL, и теперь наконец это различие окончательно ликвидировано. Кроме того, OpenGL 4.5 даёт больший контроль над тем, каким образом команды будут отсылаться к GPU, что открывает дополнительные возможности для разработчиков многопоточных и требовательных к ресурсам приложений. OpenGL 4.5 является законченной спецификацией, которую производители видеоускорителей могут реализовывать в своих драйверах. О поддержке OpenGL 4.5 в них пока заявила только NVIDIA в версии 340.xx для Windows и GNU/Linux для видеокарт на микроархитектурах Fermi, Kepler и Maxwell. AMD и Intel заявили, что свои обновления они предложат несколько позднее.
Если OpenGL 4.5 является небольшим улучшением уже устоявшегося стандарта OpenGL 4, то объявленный Khronos проект OpenGL Next Initiative должен полностью изменить облик популярного кроссплатформенного API. За последний год разные производители анонсировали целый ряд новых интерфейсов, которые отказываются от сложных уровней абстракции в пользу прямого доступа к GPU. Первой оказалась AMD с её Project Mantle, затем последовали Microsoft с Direct3D 12 и Apple с Metal API. А вот OpenGL, будучи старейшим графическим API, которому уже «стукнуло» 22 года, решал совершенно противоположную задачу — абстрагирование от прямой работы с GPU. Но растущая унификация графических процессоров и необходимость в создании насыщенной графики заставляют и Khronos соответствовать требованиям времени. Именно поэтому следующая версия OpenGL, обозначенная под кодовым названием Next, будет полностью переработана — вся архитектура API будет перестроена по новой парадигме, которая должна будет совмещать не только удобную переносимость, но и прямой доступ приложений к «железу». OpenGL ES отправится на свалку истории, так как у OpenGL Next все API будут унифицированы для нужд встраиваемых устройств и настольных ПК. OpenGL должен стать лёгким API, который избавится от большого количества потерявших актуальность функций, реализованных в прошлом веке. Разработка OpenGL Next находится в ранней стадии, и пока специальный технический комитет будет рассматривать несколько архитектурных реализаций. Участие в разработке API принимают не только устоявшиеся участники, такие как AMD, Intel и NVIDIA, но и представители мобильных GPU — ARM, Broadcom, Mediatek, Samsung, Qualcomm, Vivante. В Khronos отмечают также, что впервые в разработке API примет участие большое количество разработчиков middleware — Blizzard, EA Games, Valve, EPIC Games, Unity, Google и многие другие компании. Представители Khronos сообщают, что впервые к разработке OpenGL участники присоединяются не просто на уровне деклараций и/или денёжной поддержки, а выделяются квалифицированные инженеры для работы над спецификациями. В Khronos предупреждают, что разработка OpenGL Next не будет мгновенной, так как предстоит очень серьёзная работа по проектированию архитектуры API, где цена ошибки будет высока, поэтому никаких сроков завершения работы нет, но к следующей конференции SIGGRAPH фонду будет что показать индустрии.