Khronos приступил к созданию новой унифицированной версии OpenGL NG

За последние несколько лет в мире графики наметились тенденции, которые привели к тому, что старые версии высокоуровневых 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 и другие именитые компании.

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

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.