Локальная модель освещенности
В рамках локальной модели освещения рассматривается свет только от явных точечных источников света трех типов – omni, spot и directional, а само взаимодействие ограничивается только однократным отражением света от непрозрачной поверхности. Изображение формируется в результате отражения падающего на поверхность объектов света, интенсивность и цвет которого необходимо рассчитать. Фоновая освещенность Локальная модель освещенности учитывает неявное Ambient-освещение, его еще называют фоновым (Background). Необходимость учета Ambient-освещения связана с тем, что его вклад может быть достаточно велик – до 50% от общей освещенности. В локальной модели освещенности считается, что фоновое освещение задает цвет (и его интенсивность) объекта в отсутствии явных источников света или в тени. Интенсивность такого освещения постоянна и равномерно распределена во всем пространстве, расчет его отражения поверхностью выполняется по формуле:
Iamb = ka·Ia,
где Iamb — интенсивность отраженного Ambient-освещения, ka — коэффициент, характеризующий отражающие свойства поверхности для Ambient-освещения (его значение находится в пределах от 0 до 1), Ia — исходная интенсивность Ambient — освещения, падающего на поверхность. Увидеть этот тип освещения в «чистом виде» в 3ds Max можно, включив в настройках Advanced Effects источника света свойство Ambient Only (рис. 1). Другой способ – это изменить цвет Ambient Light панели Environment and Effects c черного (черный означает отсутствие окружающего освещения, принят по умолчанию) на более светлый и отключить в свитке Advanced Effects настроек источника света параметры Diffuse, Specular и Ambient Only.
Диффузное отражение.
Часть света от прямых источников зеркально отражается поверхностью, а остальной свет диффузно рассеивается во всех направлениях (рис. 2).
Интенсивность рассеянного света зависит от угла падающего на поверхность света (рис. 3) и вычисляется по закону Ламберта:
Idiff=Id·kdiff·cos(θ),
где Id — интенсивность падающего на поверхность света, kdiff — коэффициент, характеризующий рассеивающие свойства поверхности (его значение изменяется в пределах от 0 до 1), cos(θ) — угол между направлением на источник света и нормалью поверхности.
Следовательно, поверхность будет освещена больше, если свет падает на нее перпендикулярно и меньше, если свет падает под любым другим углом.
Диффузно рассеянный свет является главным источником визуальной информации о геометрии трехмерных объектов. В 3ds Max диффузное отражение света можно увидеть, отключив Specular в свойствах источников света (свиток Advanced Effects) (рис. 4). Второй способ достичь того же результата – установить черный цвет для Specular в свойствах материала и для Ambient в панели Environment and Effects.
Зеркальное отражение
Кроме чисто зеркального отражения, которое имеют идеально отполированные поверхности, различают так называемое Glossiness или распределенное зеркальное отражение – отражение в некотором створе углов, а не на один единственный угол (рис. 5).
Такое рассеяние света обусловлено микрорельефом («шероховатостью») поверхности, так как поверхность реальных объектов не является идеально гладкой, а состоит из большого количества микровыступов и впадин, которые зеркально отражают падающий свет под разными углами. Результатом glossy-отражения является Specular Highlight – яркий световой блик, размер которого зависит от степени шероховатости поверхности. Для большинства реальных материалов всегда видна зеркальная подсветка в форме светового пятна, а не в форме яркой точки. Поэтому для расчета интенсивности зеркально отраженного света используется формула, предложенная Фонгом:
Ispec=Is·ks·cosn(α),
где Ispec — интенсивность зеркально отраженного света, Is — интенсивность источника света, ks — коэффициент, характеризующий свойства зеркального отражения поверхности, α — угол между направлением идеального отражения и направлением на наблюдателя (рис. 6).
Степень n определяет размер пятна светового блика – чем больше n, тем меньше световой блик, и тем ближе отражающие свойства поверхности к свойствам идеального зеркала (рис. 7).
Формула Фонга не имеет физического смысла. Ее используют только потому, что она дает хорошие практические результаты.
Зеркальную подсветку в 3ds Max можно увидеть, установив черный цвет Diffuse color для материала и черный цвет Ambient light в панели Environment and Effects (рис. 8).
В 3ds Max коэффициенту ks соответствует параметр Specular Level, n – параметр Glossiness группы настроек материала Specular Highlights (рис. 9).
Расстояние до объекта
Чтобы различать объекты, находящиеся на разных расстояниях от камеры, используется функция затухания интенсивности света с расстоянием:
I(r)= I/r2.
Хотя на самом деле используется модифицированная формула, более приемлемая на практике:
I(r) = I/(a+br+cr2).
Расчетная формула
Таким образом, локальная модель освещенности предполагает расчет отраженной фоновой освещенности, диффузного и зеркального отражения от прямых источников:
Iполн=Iamb+(Idiff+Ispec)/(a+br+cr2)=
=ka·Ia+(Id·kdiff·cos(θ)+Is·ks·cosn(α)) /(a+br+cr2).
Это формула для расчета освещенности по одному каналу для одного источника света. Полная освещенность должна рассчитываться по всем трем основным каналам (RGB) и для всех источников освещения в трехмерной сцене и затем суммироваться. Эта модель получила название модели освещенности Фонга (не путать с моделью затенения Фонга) и является основной моделью в рендерах, использующих методы построчного сканирования.
Источники:
- Горелик Александр. Основы моделирования и визуализации в 3ds Max (в упражнениях): учеб. пособие/F/U/ Горелик. — Минск: Современные знания. 2009 — 394 с.
- Сиваков, И. Как компьютер рассчитывает изображения. Технология программного рендеринга. Часть 1 /И. Сиваков //[Электронный ресурс]. – Режим доступа: http://www.ixbt.com/soft/vray-1.shtml. – 2007. – Дата доступа: 1.12.2008.
- Сиваков, И. Как компьютер рассчитывает изображения. Технология программного рендеринга. Часть 2 /И. Сиваков //[Электронный ресурс]. – Режим доступа: http://www.ixbt.com/soft/vray-1.shtml. – 2007. – Дата доступа: 15.12.2008.
Редактор сайта