Формулы тумана (Direct3D 9)
Приложения C++ могут управлять тем, как туман влияет на цвет объектов в сцене, изменяя способ вычисления эффектов тумана в Microsoft Direct3D на расстоянии. Перечисленный D3DFOGMODE тип содержит элементы, определяющие три формулы тумана. Все формулы вычисляют коэффициент тумана как функцию расстояния, учитывая параметры, заданные приложением.
Линейный туман
Для этого задано следующее D3DFOG_LINEAR уравнение.
где
- начало — это расстояние, с которого начинаются эффекты тумана.
- конец — это расстояние, в котором эффекты тумана больше не увеличиваются.
- d представляет глубину или расстояние от точки зрения. Для тумана на основе диапазона значение d — это расстояние между положением камеры и вершиной. Для тумана, отличного от диапазона, значение d является абсолютным значением координатЫ Z в пространстве камеры.
Экспоненциальный туман
Линейные и экспоненциальные формулы поддерживаются как для тумана пикселей, так и для тумана вершин.
Для этого задано следующее D3DFOG_EXP уравнение.
где
- e является основой естественных логарифмов (приблизительно 2,71828).
- плотность является произвольной плотностью тумана, которая может варьироваться от 0,0 до 1,0.
- d представляет глубину или расстояние от точки зрения, как указано ранее.
Для этого задано следующее D3DFOG_EXP2 уравнение.
где
- e — основа естественных логарифмов, как описано выше.
- плотность является произвольной плотностью тумана, которая может варьироваться от 0,0 до 1,0, как указано выше.
- d представляет глубину или расстояние от точки зрения, как указано выше.
Заметка
Система сохраняет коэффициент тумана в альфа-компоненте зрителя для вершины. Если приложение выполняет собственное преобразование и освещение, можно вручную вставить значения коэффициента тумана, которые будут применены системой во время отрисовки.
На следующем графике показаны эти формулы, используя общие значения, как в параметрах формулы.
D3DFOG_LINEAR 1.0 в начале и 0.0 в конце. Это не измеряется относительно близких или дальних плоскостей.
Если Direct3D вычисляет эффекты тумана, он использует коэффициент тумана из одного из предыдущих уравнений в следующем уравнении смешения.
Эта формула эффективно масштабирует цвет текущего многоугольника C по коэффициенту тумана f, а также добавляет продукт к цвету тумана C, масштабируемый побитовым коэффициентом тумана. Полученное значение цвета — это смесь цвета тумана и исходного цвета, в качестве фактора расстояния. Формула применяется ко всем устройствам, поддерживаемым в Microsoft DirectX 7.0 и более поздних версиях. Для устаревшего устройства пандуса фактор тумана масштабирует диффузные и спекулярные цветовые компоненты, зажатые в диапазоне от 0,0 до 1,0 включительно. Коэффициент тумана обычно начинается в 1,0 для близкого самолета и уменьшается до 0,0 на дальней плоскости.
Связанные разделы