Приставки
Nintendo (Dendy)
Nintendo 64
Sega Genesis
Sega CD / 32x
Master System
Super Nintendo
Turbo Grafx 16
Sega Saturn
Sony PlayStation
GameBoy Advance
GameBoy / Color
Game Gear
Atari
Другие

Утилиты
Системные утилиты
GoodXXXX
Sega CD / 32x
Nintendo 64
Переводы, хакинг
Музыка

Мир приставочных игр

Версия 2.00a

Leonis © 2002-2009
Команда Новости Помощь Ссылки
ПОМОЩЬ
Литература про игры
Предыдущая Следующая

Рис. 16.5. Нормали вершин и полигона

16.7. Шейдеры

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

Шейдеры - это всего лишь программа, состоящая из набора ключевых слов, которая позволяет программисту работать напрямую с вершинами и пикселями. Как и в любом другом языке программирования, понятие и освоение шейдеров сводятся к пониманию общей сущности работы шейдеров и изучению самого языка программирования, на котором пишутся шейдеры.

ФПо окончании работы над этой книгой планируется создание книги по шей-дерной технологии и языку программирования HLSL. Будем надеяться, что к осени 2007 года книга будет готова и сможет поступить в продажу. Подробную информацию о новинках, планах и всех вышедших книгах вы можете найти на сайте http://www.gornakov.ru.

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

Графический процессор видеокарты работает несколько иначе, чем центральный процессор компьютера, и в связи с этим для доступа к процессору необходим свой набор команд, или язык программирования. Ранее в DirectX для этих целей использовался ассемблероподобный язык программирования шейдеров, состоящий из набора определенных инструкций. В те времена шейдерные программы были небольшими, поэтому языка, основанного на инструкциях, вполне хватало. Со временем шейдерные программы увеличивались, да и сама технология программирования шейдеров развивается и по сей день.

ФЕсли вас интересует ассемблерный язык программирования шейдеров, а также работа с инструментариями RenderMonkey и FX Composer, то могу вам порекомендовать книгу «Инструментальные средства отладки и программирования шейдеров в DirectX и OpenGL».

16.7.1. Шейдерная модель

Со временем на замену ассемблерному языку программирования шейдеров пришел новый язык с названием HLSL (High-Level Shaders Language, или высокоуровневый язык программирования шейдеров). Этот язык более прост в исполь-


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

Горяченькое

Друзья

Hosted by uCoz