Исследования в области возможностей применения и усовершенствования этих языков продолжились в моей лаборатории в университете Мэриленд, округ Балтимор, и во многих других местах. Однако простое существование высокоуровневых языков шейдеров реального времени больше не является предметом исследований. Интерактивные шейдерные языки стали доступны всем. Существует множество вариантов для любого, кто захочет разрабатывать приложения с использованием возможностей современного графического аппаратного обеспечения. Основные варианты выбора - Cg, HLSL и язык шейдеров OpenGL. Отличительная особенность последнего - в том, что это единственный язык шейдеров, который тщательно анализировался и оценивался производителями аппаратного обеспечения. Я участвовал в этом процессе вместе с парой дюжин представителей множества компаний и университетов.

И возвращаясь к книге. Если вы держите ее в руках, скорее всего, вас заинтересовали идеи, которые привели к созданию языка шейдеров OpenGL: стремление к кроссплатформенности, переносимости между операционными системами, надежности и стандартизации языка шейдеров. Хотите узнать, как всего этого добиться? Начинайте читать. Затем приступайте к программированию!

Марк Олано, университет Мэриленд, округ Балтимор, MD

Сентябрь 2003 г.

Предисловие Программируемое графическое аппаратное обеспечение существует почти столько же времени, сколько и обычное. Через несколько лет после создания графических акселераторов гибкость стала жизненной необходимостью для их конструкторов. Графические API продолжают совершенствоваться, и из-за того, что разработка нового акселератора от начала до конца может занять несколько лет, единственный способ гарантировать поддержку современного для времени выпуска нового акселератора API - внести некоторую программируемость с самого начала.

До последнего времени в области программирования графических акселераторов работали немногие, в основном исследователи и разработчики драйверов для видеокарт. Исследования в направлении программируемое™ графического аппаратного обеспечения велись, но целью этих исследований не было создание жизнеспособного аппаратного и программного обеспечения для разработчиков приложений и конечных пользователей. Разработчики драйверов сосредоточились на более насущных задачах - поддержке основных графических API того времени: PHIGS, РЕХ, Iris GL, OpenGL, Direct3D и др. До последнего времени ни один из этих API не позволял разработчикам задействовать возможности программируемое™ аппаратного обеспечения, так что разработчики приложений были вынуждены использовать только стандартные возможности традиционных графических API.


⇐ Предыдущая| |Следующая ⇒