Двулучевая функция отражательной способности (BRDF)

Для построения точных и физически-корректных моделей освещения крайне важно иметь аккуратное описание того, что происходит при падении света на поверхность. Для этого используется двулучевая функция отражательной способности (BRDF, Biderectional Reflection Distribution Function). Она описывает какая доля световой энергии, приходящей из одного направления, уходит в другом направлении для произвольной пары таких направлений.

Здесь мы попробуем разобраться с точным определением BRDF и рядом связанных понятий, а также посмотрим на некоторые распространенные моделей.

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

Рассмотрим теперь, как можно описать падающий со всех сторон на эту площадку свет. Свет - это электромагнитные волны, следовательно световой поток можно описать при помощи мощности, измеряемой в ваттах (W). Однако с точки зрения воспринимаемой яркости важен не столько сама падающая мощность, сколько мощность на единицу площади, измеряемая в W/m2. Соответственно яркость площадки может характеризована как мощность, падающая на площадку, деленная на ее площадь.

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

Через этот телесный угол проходит (и падает на нашу площадку dA) световой поток (измеряемый в ваттах), падающий на нашу площадку под некоторым углом . Тогда можно ввести понятие энергетической яркости (radiance) L как отношение падающей мощности к величине телесного угла и площади проекции dA на плоскость, перпендикулярную направлению , обозначаемую как .

Площади и связаны простым соотношением, использующим косинус угла падения:

Отсюда энергетическая яркость L может быть выражена следующей формулой

Она имеет размерность W/(sr m2) и описывает плотность светового потока, падающего на единицу площади через единичный телесный угол. С ее помощью можно как описывать свет, падающий со всех сторон на площадку, так и поисывать свет, отбрасываемый площадкой в разные стороны.

Тогда, если у нас есть площадка и телесный угол , то мощность, падающая на единицу площади (облучательность, irradiance) будет равна

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

Тогда двулучевую функцию отражательной способности можно определить как отношение и :

Обратите внимание, что это не безразмерная величина - она имеет размерность и эта размерность 1/sr. Она всегда принимает неотрицательные значения, но при этом за счет деления на косинус угла может принимать значения, большие единицы.

Сейчас получают большое распространение физически-корректные модели. Чтобы BRDF была физически корректной она должна удовлетворять следующим двум свойствам - принципу взаимности Гельмгольца (Helmholtz reciprocity) и закону сохранения энергии.

Первое из этих свойств говорит о том, что если мы обратим движение света, т.е. он будет приходить из направления и уходить в направлении , то ничего не изменится:

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

Самым простым примером BRDF является случай идеального диффузного рассеивания - падающий свет равномерно рассеивается во все стороны и BRDF просто равно константе:

Сама величина называется альбедо поверхности (разница между значением BRDF и этой величиной возникает из-за интегрирования по полусфере).

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

Одной из классических физически-корректных моделей является модель Кука-Торранса, BRDF для которой приведена ниже

Здесь через F обозначен коэффициент Френеля, задающий какая доля падающей энергии отразится, через D - функция распределения для нормалей микрограней и через G - функция, описывающая самозатенение поверхности отдельными микрогранями.

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

С помощью BRDF можно получить световую мощность, уходящую в заданном направлении при условии, что знаем мощность, падающую со всех сторон.