netlib.narod.ru | < Назад | Оглавление | Далее > |
В этой главе я попытался дать вам понимание того, как работают шейдеры, почему вам приходится делать определенные вещи, такие как объявление формата вершин, и как данные вершин обрабатываются в шейдере. Часто, когда я разговариваю с разработчиками, которые прежде не использовали шейдеры, выясняется, что они боятся их и не имеют ясной концепции, объясняющей для чего вообще все это нужно. Если вы раньше работали с шейдерами, возможно, эта глава не слишком впечатлила вас, но может вы узнали некоторые детали, которые до сих пор оставались от вас скрытыми.
Следующие шаги описывают обработку трехмерных данных в XNA:
Получаем данные трехмерной геометрии из класса Model (или определяем их самостоятельно в буфере вершин).
Гарантируем, что шейдер и код XNA будут использовать один и тот же формат вершин.
Вызываем шейдерную технику и выполняем каждый проход, визуализируя ваши трехмерные данные.
Вершинный шейдер обрабатывает входные данные и передает результат пиксельному шейдеру через структуру VertexOutput. Координаты вершины преобразуются из мирового пространства в местоположение на экране.
Пиксельный шейдер формирует каждый пиксель каждого визуализируемого и видимого на экране полигона. Всегда пытайтесь сделать пиксельный шейдер как можно короче и быстрее.
В следующей главе вы используете полученные знания и создадите великолепно выглядящий шейдерный эффект NormalMapping. После этого вы будете готовы к созданию новой игры в главе 8, где также добавите крутые постэкранные шейдерные эффекты.
netlib.narod.ru | < Назад | Оглавление | Далее > |