Предыдущая Следующая
Рис. 16.5. Нормали вершин и полигона
16.7. Шейдеры
Это магическое слово приводит большинство начинающих программистов в страшный трепет, но на самом деле шейдеры - это обыкновенная программа, которая пишется на специальном языке программирования и выполняется графическим процессором видеокарты. И не более того. Базис программирования шей-деров аналогичен базису программирования обыкновенных приложений, но, естественно, со своими нюансами.
Шейдеры - это всего лишь программа, состоящая из набора ключевых слов, которая позволяет программисту работать напрямую с вершинами и пикселями. Как и в любом другом языке программирования, понятие и освоение шейдеров сводятся к пониманию общей сущности работы шейдеров и изучению самого языка программирования, на котором пишутся шейдеры.
ФПо окончании работы над этой книгой планируется создание книги по шей-дерной технологии и языку программирования HLSL. Будем надеяться, что к осени 2007 года книга будет готова и сможет поступить в продажу. Подробную информацию о новинках, планах и всех вышедших книгах вы можете найти на сайте http://www.gornakov.ru.
Суть шейдеров, а точнее шейдерных программ заключается в том, что эта программа исполняется графическим процессором видеоадаптера. Сделано это для того, чтобы избежать массы повторяющихся операций в коде программы, снизить нагрузку с центрального процессора и иметь возможность обращения к процессору видеокарты напрямую. Все эти действия приводят к быстрой работе программы и повышению качества графических эффектов.
Графический процессор видеокарты работает несколько иначе, чем центральный процессор компьютера, и в связи с этим для доступа к процессору необходим свой набор команд, или язык программирования. Ранее в DirectX для этих целей использовался ассемблероподобный язык программирования шейдеров, состоящий из набора определенных инструкций. В те времена шейдерные программы были небольшими, поэтому языка, основанного на инструкциях, вполне хватало. Со временем шейдерные программы увеличивались, да и сама технология программирования шейдеров развивается и по сей день.
ФЕсли вас интересует ассемблерный язык программирования шейдеров, а также работа с инструментариями RenderMonkey и FX Composer, то могу вам порекомендовать книгу «Инструментальные средства отладки и программирования шейдеров в DirectX и OpenGL».
16.7.1. Шейдерная модель
Со временем на замену ассемблерному языку программирования шейдеров пришел новый язык с названием HLSL (High-Level Shaders Language, или высокоуровневый язык программирования шейдеров). Этот язык более прост в исполь- Предыдущая Следующая
|