Читать книгу Цифровое моделирование на C# - Дмитрий Павлов - Страница 36

Урок 2. 3D моделирование
Моделирование тумана

Оглавление

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


В этой части урока мы научимся моделировать присутствие тумана на сцене. Мы смоделируем туман, который равномерно скрывает объекты в направлении глубины сцены. Действие такого тумана легко объяснить следующими словами: чем ближе к нам объект, тем более четко мы его видим и тем меньшее значение оказывает туман на цвета объекта, и наоборот, чем дальше объект, тем менее четко мы его видим и тем большее значение оказывает туман (его цвет) на то, каким мы видим объект. Можно сказать, что корректирующее действие тумана является функцией расстояния от наблюдателя до объекта.


Рассмотрим формулу, с помощью которой можно вычислять цвет 3D-модели в условиях тумана:


X– цвет 3D-модели с учетом тумана.

F – цвет тумана (в природе, как правило, это белый цвет, но можно использовать и другие цвета).

R – расстояние от наблюдателя до объекта.

X – исходный цвет объекта, вычисленный например, по методу Фонга.

d – параметр тумана (плотность).


Как работает эта формула? Если R=0, то есть объект находится перед наблюдателем, тогда XF равно исходному цвету объекта. Если же устремить R в бесконечность, XF устремится к цвету тумана. Не стоит рассматривать эту формулу как некоторую каноническую и единственно правильную. Она является искусственно сконструированной и хорошо показала себя на практике (см. дополнительные материалы). В данной формуле выражение R2 может быть заменено на любую другую монотонно-возрастающую функцию, зависящую от R. При этом туман будет как-то по-другому «растворять» объект.

Цифровое моделирование на C#

Подняться наверх