Туман в трёхмерной графике

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Туман в трёхмерной графике

Эффект тумана в трёхмерной графике имитирует рассеяние света в тумане. Дальние объекты становятся менее контрастными и приобретают цвет тумана. В ночных сценах туман обычно чёрный, в дневных — белый или голубой, в туманных — белёсый, как настоящий туман.

Применение[править | править вики-текст]

Применяется в первую очередь на маломощном трёхмерном аппаратном обеспечении, чтобы скрыть внезапное появление объектов «из ниоткуда», отсутствие теней и пониженную детализацию моделей на расстоянии. На Playstation и Nintendo 64 туман применялся чаще, чем на ПК. В Silent Hill туман успешно «вплетён» в уникальную атмосферу игр.

Впрочем, в реальности свет рассеивается даже в самую ясную погоду — поэтому эффект тумана верно служит и поныне, повышая реализм изображений.

Туман в DirectX[править | править вики-текст]

Туман бывает двух видов: пиксельным (табличным) и вершинным.

В пиксельном (табличном) тумане цвета смешиваются с цветом тумана. Коэффициенты смешивания берутся отдельные для каждого пикселя, по первым битам Z-буфера из особой предварительно вычисленной таблицы — отсюда название. Вычисления проводились программно, на уровне драйвера; видеоплат, работавших с таким туманом аппаратно, не существовало.[1] К тому же на больших углах зрения был заметен артефакт: некоторые объекты, располагающиеся на краю поля зрения, чётко видны; но стоит повернуть камеру к объекту, его Z-координата увеличивается, и он уходит в туман.[1]

Вершинный туман — более прогрессивная методика. Он работает на этапе Transform & Lighting, вычисляя коэффициенты для каждой вершины, а затем интерполируя их — как и в обычном освещении.

Из-за рассеяния света вокруг ярких предметов (факелов, фонарей, светофоров) появляются ореолы и объёмные лучи. Эти ореолы приходится рисовать отдельно.

Разумеется, туман можно делать и с помощью вершинных шейдеров.

Примечания[править | править вики-текст]

См. также[править | править вики-текст]