За последние несколько лет в мире графики наметились тенденции, которые привели к тому, что старые версии высокоуровневых API по доступу к графическим возможностям современных видеокарт и процессоров стали недостаточны для получения максимальной гибкости и максимальной производительности в современных играх и графических приложениях.

Центральные процессоры стали многоядерными, видеокарты превратились практически в программируемые многоядерные графические процессоры. Ещё одна тенденция современного мира - это то, что мобильные и настольные видеочипы практически стали сравнимы по своим возможностям и внутренней архитектуре. Старые же API были ориентированы на фиксированный поток команд для одноядерных систем с минимальным доступом к состоянию видеоакселераторов. На данный момент уже существуют два проприетарных API, которые позволяют раскрыть потенциал современных компьютеров - это Mantle от AMD и Metal от Apple.

Организация Khronos, занимающаяся разработкой и продвижением различных открытых API, в том числе OpenGL и OpenCL, принимая во внимание реалии современного мира, пришла к идее о создании нового унифицированного (т.е. единого для всех графических процессоров) API OpenGL NG, который впервые в истории Khronos не будет обратно совместим с предыдущими версиями OpenGL, а значит будет свободен от 20-летнего груза совместимости, позволяя полностью задействовать возможности современных видеокарт.

Для разработки нового API была создана рабочая группа, которая включает в себя столпы современного мира аппаратного и программного обеспечения: Intel, AMD, NVIDIA, Apple, Qualcomm, Samsung, Valve, Electronic Arts, Epic Games, Sony, Google и другие именитые компании. Microsoft в списке отсутствует - корпорация недавно вступила в Khronos, но только в качестве участника группы по разработке WebGL.

Были выдвинуты следующие основополагающие принципы при создании нового API:

  • Тотальная переносимость и единый API для всех платформ: настольные компьютеры, мобильные и встроенные системы, облако, WWW.
  • Избавление от любой двусмысленности - спецификации и реализация будут абсолютно едины для всех и будут всегда подразумевать единое чётко определённое поведение.
  • Многопоточность из коробки.
  • Полный контроль приложения над состоянием CPU и GPU, высокая производительность и предсказуемость.
  • Разработка с нуля для достижения максимальных возможностей и избавления от груза разночтений и отсутствия совместимости старых версий OpenGL.
  • Общее представление промежуточного состояния шейдеров.
    • Проще, чем исходный язык для лучшей портативности и переносимости.
    • Удобен для машинной генерации и высокоуровневых языков.
    • Защита интеллектуальной собственности для того, чтобы авторам кода не надо было поставлять исходный код шейдеров.
    • Единый front-end компилятор для всех платформ.

Спецификацию обещают выпустить до конца 2014 года.

Источник: http://www.opennet.ru/opennews/art.shtml?num=40370