Приставки
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
Команда Новости Помощь Ссылки
ПОМОЩЬ
Литература про игры
Предыдущая Следующая

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

Шейдеры 273

15.7. Шейдеры

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

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

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

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

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

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

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

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


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

Горяченькое

Друзья

Hosted by uCoz