Производители графического аппаратного обеспечения также не раскрывали возможностей программируемое™ своих продуктов, так как это требовало дорогостоящего обучения и обязательной поддержки пользователей, поскольку интерфейсы были низкоуровневыми и зависели от конкретного устройства, а иногда кардинально менялись с разработкой нового поколения графического аппаратного обеспечения. Разработчики приложений, использовавшие такой зависимый интерфейс, были вынуждены изменять свои приложения всякий раз, как только производители выпускали новую версию аппаратного обеспечения. О поддержке аппаратного обеспечения от разных производителей не было и речи.
С наступлением XXI в. некоторые из фундаментальных принципов разработки графического аппаратного обеспечения изменились. Разработчики требовали от производителей все новых и новых возможностей, чтобы создавать все более сложные эффекты. В результате современные графические акселераторы стали более программируемыми, чем когда-либо раньше. Стандартное графическое API меняется, чтобы соответствовать новинкам аппаратного обеспечения. Для OpenGL результатом этих процессов стало огромное количество расширений к базовому API, так как производители видеокарт добавляли все новые возможности, которых требовали разработчики программ.
Предисловие Сейчас отрасль компьютерной графики на перепутье. Происходит изменение всей системы понятий, что отбрасывает старую фиксированную функциональность и старые графические API: значение графического процессора, или VPU (visual processing unit), становится не меньшим, чем значение центрального процессора, или CPU (central processing unit). VPU будет оптимизирован для обработки ЗО-графики и видео. Параллельная обработка данных в виде чисел с плавающей запятой - первостепенная задача для VPU, и гибкость VP U будет означать, что его можно использовать также для обработки данных, отличающихся от набора традиционных команд для работы с графикой. Приложения могут использовать преимущества и CPU, и VPU для более оптимального выполнения задачи.