Предыдущая Следующая
15.7.3. Вершинные и пиксельные шейдеры
Шейдерная программа - это исходный код, который располагается в одном файле. Несмотря на это, шейдерная программа незримо делится на две различные по своим направленностям части, которые выполняются строго друг за другом. Пер-
276 Основы программирования трехмерной графики
вая часть программы работает исключительно с вершинами объектов, поэтому и носит название вершинный шейдер. После того как определенные операции над вершинами были сделаны, в работу включается часть программы, отвечающая за работу с пикселями, или пиксельный шейдер.
В юрисдикцию вершинного шейдера входят проход через мировую матрицу, видовую матрицу и матрицу проекции, любые матричные преобразования вершин объектов, нормализация, установка освещения, цвета, текстурных координат. Как только все перечисленные действия выполнены, итоговые данные передаются пиксельному шейдеру.
Пиксельный шейдер на основании полученных данных рассчитывает и устанавливает цвет для каждого пикселя поверхности экрана. Дополнительно в пиксельном шрейдере выполняются действия по добавлению в игру различных эффектов на пиксельном уровне. Например, туман, вода, огонь и т. д. Все эти эффекты исполняются непосредственно пиксельным шейдером. Никаких других операций над вершинами объектов в пиксельном шейдере быть не может. Этот шейдер работает исключительно с пикселями!
Оба шейдера связаны друг с другом неразрывно, и очередность их выполнения одна: сначала в работу включается вершинный шейдер, а затем пиксельный шейдер. Это как в стряпанье пирогов. Сначала вы замешиваете тесто и придаете форму пирогу, а затем ставите этот пирог в духовку. Не замесив теста, вам соответственно и в духовку нечего будет поставить, как, впрочем, замесив тесто, но не поставив его в духовку, вы не сможете испечь сам пирог.
15.7.4. Подводя итоги шейдерной технологии
Подводя итоги вышеописанного материала, можно констатировать следующее. С помощью шейдеров происходит выполнение различных операций над вершинами и пикселями графической составляющей. Это означает, что посредством регистров графического процессора и кода шейдерной программы вы можете управлять как вершинами, так и пикселями графических компонентов игры.
На практике такая методика работы с данными позволяет создавать потрясающие по качеству спецэффекты. Вот лишь небольшой перечень всего того, что можно сделать с графикой, используя шейдерные программы: Предыдущая Следующая
|