Туман в трёхмерной графике
Эффект тумана в трёхмерной графике имитирует рассеяние света в тумане. Дальние объекты становятся менее контрастными и приобретают цвет тумана. В ночных сценах туман обычно чёрный, в дневных — белый или голубой, в туманных — белёсый, как настоящий туман.
Применение
Применяется в первую очередь на маломощном трёхмерном аппаратном обеспечении, чтобы скрыть внезапное появление объектов «из ниоткуда», отсутствие теней и пониженную детализацию моделей на расстоянии. На Playstation и Nintendo 64 туман применялся чаще, чем на ПК. В Silent Hill туман успешно «вплетён» в уникальную атмосферу игр.
Впрочем, в реальности свет рассеивается даже в самую ясную погоду — поэтому эффект тумана верно служит и поныне, повышая реализм изображений.
Туман в DirectX
Туман бывает двух видов: пиксельным (табличным) и вершинным.
В пиксельном (табличном) тумане цвета смешиваются с цветом тумана. Коэффициенты смешивания берутся отдельные для каждого пикселя, по первым битам Z-буфера из особой предварительно вычисленной таблицы — отсюда название. Вычисления проводились программно, на уровне драйвера; видеоплат, работавших с таким туманом аппаратно, не существовало[1]. К тому же на больших углах зрения был заметен артефакт: некоторые объекты, располагающиеся на краю поля зрения, чётко видны; но стоит повернуть камеру к объекту, его Z-координата увеличивается, и он уходит в туман[1].
Вершинный туман — более прогрессивная методика. Он работает на этапе Transform & Lighting, вычисляя коэффициенты для каждой вершины, а затем интерполируя их — как и в обычном освещении.
Из-за рассеяния света вокруг ярких предметов (факелов, фонарей, светофоров) появляются ореолы и объёмные лучи. Эти ореолы приходится рисовать отдельно.
Разумеется, туман можно делать и с помощью вершинных шейдеров.
Примечания
- ↑ 1,0 1,1 Vertex Fog (Direct3D 9) (Windows) . Дата обращения: 3 июля 2011. Архивировано 14 марта 2011 года.