Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3dsmax2009intro.pdf
Скачиваний:
151
Добавлен:
05.06.2015
Размер:
4.48 Mб
Скачать

Глобальное освещение

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

Непрямое освещение вы можете наблюдать в реальной жизни постоянно. Это и засветка (рефлексы) белой скатерти цветом фруктов, лежащих на ней, и засветка потолка цветом пола и стен, и освещение светом, рассеянным в атмосфере и отраженным от объектов (глобальное освещение), и яркие блики от воды на стенах и дне бассейна ("каустика" (caustics)).

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

Методы прямой трассировки

В случае применения этих методов расчет распределения освещенности ведется от источников света. В на-

стоящий момент наиболее распространены методы фотонных карт (Photon Map) и переноса световой энергии или радиосити (Radiosity).

Метод фотонных карт (Photon Map)

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

Рис. 1.54. Схема расчета глобального освещения по методу фотонных карт

При пересечении с поверхностью фотоны отражаются случайным образом. Если поверхность обладает некоторой прозрачностью, то часть фотонов, проходя через поверхность, преломляется в зависимости от коэффи-

циента преломления (Index of Refraction, IOR).

www.realtime. ru / 119501 Мос ква ул. Нежинская д.5 / тел.: (495) 4425966,4425977 44

Фотоны частично “поглощаются” в процессе переотражений, или "отскоков" (bounces), либо заканчивают свой путь в принудительном порядке, достигнув предельного значения глубины трассировки.

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

Метод фотонных карт встроен в mental ray, и в нем он используется как осно вной метод расчета непрямого освещения для закрытых сцен (например, интерьеров). В VRay также есть возможность использовать фотоны, но в последнее время этот метод потерял популярность в связи с появлением в VRay других методов.

Радиосити

Метод радиосити (Radiosity), или переноса световой энергии, встроенный в 3ds Max, во многом похож на метод фотонных карт. Разница заключается в том, что для распределения энергии поверхности объектов в сцене разбиваются на треугольники, "тесселируются" (tesselate), и значение освещенности "вписывается" непосредственно в геометрию, смешиваясь со значением Diffuse. Этот метод, как правило, дает более точный результат с точки зрения распределения энергии, нежели метод фотонных карт, но для получения приемлемого результата с точки зрения визуального восприятия требуется большие вычислительные ресурсы и временные затраты.

Методы сбора

Эти методы является обратным по отношению к методу фотонных карт и представляют собой варианты метода Monte-Carlo (как в mental ray, так и в VRay) (рис. 1.55). Из камеры испускаются лучи, и на поверхности объектов определяются точки для сбора информации об освещенности. При этом используются только поверхности, попадаемые в поле зрения камеры, в отличие от фотонов. В районе каждой такой точки строится полусфера (для непрозрачных поверхностей), или сфера (для прозрачных) единичного радиуса. Из каждой точки вновь испускаются лучи, количество которых задается специальным параметром. При пересечении с поверхностью в зависимости от свойств материала (комбинация диффузной, зеркальной и прозрачной составляющих) происходит диффузное, или зеркальное отражение, или преломление. Когда луч заканчивает свой путь, информация об освещенности точки, в которую он попал, возвращается в исходную точку с учетом расстояния — чем длиннее путь, пройденный лучом, тем меньше его вклад в окончательный результат. Если луч "ушел в космос", то возвращается значение либо окружения (Environment), либо источника света для имитации неба (SkyLight), в зависимости от реализации.

Рис. 1.55. Схема расчета глобального освещения по методу сбора

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

В стандартном рендерере метод сбора реализован при помощи модуля Light Tracer и как дополнение к радиости (Regathering), в mental ray — Final Gathering (окончательный сбор). В VRay же имеет место три реализации метода, Irradiance Map (карта освещенности), Brutе Forfce ("грубая сила"), ранее известный как Quasi Monte Carlo, а еще раньше Direct Computation (прямой расчет), и Light Cache (буквально "хранилище света").

Еще одна особенность VRay — разделение первичного и вторичных отскоков (bounces) лучей при сборе. В отличие от mental ray, в котором все отскоки считаются одним и тем же алгоритмом, в VRay можно назначить на расчет первичного отскока один процесс, а на расчет вторичных — другой.

www.realtime. ru / 119501 Мос ква ул. Нежинская д.5 / тел.: (495) 4425966,4425977 45