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


Туман (Direct3D 9)

Добавление тумана в трехмерную сцену может повысить реализм, обеспечить атмосферу или задать настроение, а также скрыть артефакты, иногда вызывая, когда далекая геометрия попадает в поле зрения. Direct3D поддерживает две модели тумана: пиксельный туман и туман вершин, каждая из которых имеет собственные функции и программный интерфейс.

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

иллюстрация одной и той же сцены с туманом и без

На этом рисунке сцена слева имеет четкий горизонт, за которым не видно никаких пейзажей, хотя она будет видна в реальном мире. Сцена справа заслоняет горизонт, используя цвет тумана, идентичный цвету фона, что делает многоугольников, как представляется, исчезает вдаль. Сочетая дискретные эффекты тумана с творческим дизайном сцены, вы можете добавить настроение и смягчить цвет объектов в сцене.

Direct3D предоставляет два способа добавления тумана в сцену: пиксельный туман и вершинный туман, названные в честь применения эффектов тумана. Дополнительные сведения см. в разделах Пиксельный туман (Direct3D 9) и Туман вершин (Direct3D 9). Короче говоря, пиксельный туман - также называемый табличным туманом - реализован в драйвере устройства, а вершинный туман реализован в осветительный двигатель Direct3D. Приложение может реализовать туман с вершинным шейдером и пиксельный туман одновременно, если это необходимо.

Примечание

Независимо от того, используете ли вы пиксель или вершинный туман, приложение должно предоставить соответствующую матрицу проекции, чтобы обеспечить правильное применение эффектов тумана. Это ограничение применяется даже к приложениям, которые не используют механизм преобразования и освещения Direct3D. Дополнительные сведения о том, как можно предоставить соответствующую матрицу, см. в разделе Преобразование проекции (Direct3D 9).

 

В следующих разделах представлены сведения о тумане и представлены сведения об использовании различных функций тумана в приложениях Direct3D.

Смешивание тумана контролируется состояниями отрисовки; Не является частью программируемого конвейера пикселей.

Отрисовка Direct3D