Поделиться через


Состояние тумана (Direct3D 9)

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

Дополнительные сведения об использовании тумана в приложении см. в разделе Fog (Direct3D 9).

Приложение C++ управляет туманом через состояния отрисовки устройства. Перечислимый тип D3DRENDERSTATETYPE включает состояния для управления использованием пиксельного (табличного) или вершинного тумана, цветом, формулой тумана, применяемой системой, а также параметрами формулы.

Чтобы включить туман, задав для D3DRS_FOGENABLE состояние отрисовки значение TRUE. Для цвета тумана можно задать любое значение цвета с помощью D3DRS_FOGCOLOR состояния отрисовки; альфа-компонент цвета тумана игнорируется.

Состояния D3DRS_FOGTABLEMODE и D3DRS_FOGVERTEXMODE отрисовки управляют формулой тумана, применяемой для вычислений тумана, и косвенно определяют, какой тип тумана применяется. Для обоих состояний отрисовки можно задать член перечисленного типа D3DFOGMODE . При установке состояния отображения D3DFOG_NONE отключается пиксель или туман вершин соответственно. Если для обоих состояний отрисовки заданы допустимые режимы, система применяет только эффекты пиксельного тумана.

Состояния D3DRS_FOGSTART и D3DRS_FOGEND отрисовки управляют параметрами формулы тумана для режима D3DFOG_LINEAR. Состояние D3DRS_FOGDENSITY отрисовки управляет плотностью тумана в экспоненциальных режимах тумана.

Дополнительные сведения см. в разделе Туманные параметры (Direct3D 9).

Состояния отрисовки