Этот пост — 2-я и последняя часть статьи о разработке системы частиц в DirectX 9. Если вы еще не читали первую часть, рекомендую ознакомиться .
В этой части статьи будут рассмотрены: работа со спрайтами, вершинные и пиксельные шейдеры, эффекты, пост-эффекты.
В частности, для реализации пост-эффекта используйте рендеринг по текстуре.
0. Основная информация
Спрайты
Спрайты — это текстуры, которые перемещаются по экрану и представляют собой объект или часть объекта.Поскольку частицы в нашей системе — это всего лишь точки, то, применяя к ним разные текстуры, мы можем визуализировать любой объект (например, облака).
Поскольку спрайт — это простая текстура, необходимо иметь о нем базовое представление.
Текстура вместо пикселей, как мы привыкли, имеет текселы.
Direct3D использует систему координат для текстур, состоящую из горизонтальной оси U и вертикальной оси V.
Вершинные шейдеры
Вершинные шейдеры — это программа, созданная на специальном языке.ХЛСЛ (или ассемблер) и занимается преобразованием вершин и освещением.
В вершинном шейдере мы можем взять позицию вершины и переместить ее в совершенно другое место.
В статье вершинный шейдер также будет использоваться для генерации координат текстуры.
Пиксельные шейдеры
Они похожи на вершинные шейдеры, но вместо этого растрируют изображение.В такой шейдер передаются данные о текстуре, цвете и многом другом, и на основании этого шейдер должен вернуть цвет пикселя.
Мы будем использовать их для текстурирования.
Ээффекты и постэффекты
Эффекты будут включать пиксельные и/или вершинные шейдеры, а также один или несколько проходов рендеринга.С их помощью можно реализовать, например, эффекты размытия или свечения.
Пост-эффекты отличаются от обычных тем, что применяются к уже растрированной сцене.
1. Текстурируем частицы
Прежде чем применять текстуру к частицам, нам нужно изменить тип, который мы использовали для представления вершин в буфере, на следующий:Теги: #C++ #система частиц #система частиц #direct3d #DirectX 9 #3d графика #шейдеры #шейдеры #эффекты #рендеринг цели #рендеринг в текстуру #программирование #Разработка игрstruct VertexData {
-
Ильин Иван Александрович
19 Oct, 24 -
Жизнь И Обычаи Мечтателей
19 Oct, 24 -
Как Скизель Выковал Электрон
19 Oct, 24 -
Как Услышать Электромагнитные Волны
19 Oct, 24 -
Hd-Камера Домашней Безопасности: Flirfx
19 Oct, 24 -
Google Chrome Блокирует Сторонние Расширения
19 Oct, 24