Поделиться через


Диффузное освещение

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

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

После вычисления количества света, отраженного, Direct3D применяет эти новые значения к свойствам диффузного и зеркального отражения текущего материала. Результирующие значения цвета являются диффузными и зрителями, которые использует расстеризатор для создания заливки Gouraud и зрителя.

Диффузное освещение описывается следующим уравнением.

Диффузное освещение = sum[Cd*Ld*(N.Ldir)*Atten*Spot]

Параметр Default value Тип Описание
sum Неприменимо Неприменимо Суммирование диффузного компонента каждого света.
Cd (0,0,0,0) D3DCOLORVALUE Рассеянный цвет.
Ld (0,0,0,0) D3DCOLORVALUE Светлый диффузный цвет.
N Н/П D3DVECTOR Нормальное вершина
Ldir Н/П D3DVECTOR Вектор направления от вершины объекта к свету.
Аттен Н/П FLOAT Светлая аттенуация. См . сведения о аттенуации и факторе внимания.
Точечные Н/П FLOAT Фактор внимания. См . сведения о аттенуации и факторе внимания.

 

Чтобы вычислить аттенуацию (Atten) или характеристики в центре внимания (Spot), см . сведения об аттенуации и факторе внимания.

Диффузные компоненты зацепляются от 0 до 255, после обработки и интерполяции всех огней отдельно. Результирующее значение диффузного освещения — это сочетание внешних, диффузных и имисивных значений света.

Пример

В этом примере объект цветен с помощью светлого диффузного цвета и диффузного цвета материала.

В соответствии с уравнением результирующий цвет для вершин объекта является сочетанием цвета материала и светлого цвета.

На следующих двух иллюстрациях показан цвет материала, серый и светлый цвет, который является ярким красным.

иллюстрация серой сферыиллюстрация красной сферы

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

иллюстрация сферы с диффузным освещением

Объединение диффузного освещения с внешним освещением из предыдущего примера затеняет всю поверхность объекта. Внешний свет оттеняет всю поверхность и диффузный свет помогает выявить трехмерную форму объекта, как показано на следующем рисунке.

иллюстрация сферы с диффузным освещением и внешним освещением

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

Математика освещения