Приставки
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.7.3. Вершинные и пиксельные шейдеры

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

266 Основы программирования трехмерной графики

Графический конвейер 267

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

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

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

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

16.7.4. Подводя итоги шейдерной технологии

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

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


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

Горяченькое

Друзья

Hosted by uCoz