Алгоритм расчета глобальной освещенности Radiosity (Перенос излучения) также базируется на технике обратной трассировки лучей. Однако в отличие от алгоритма Light Tracer (Трассировщик света) он использует иной метод выбора точек сцены, из которых испускаются пучки отраженных лучей. При выборе таких точек алгоритм отталкивается не от плоской проекции сцены, а непосредственно от самих объектов. Источниками отраженных лучей считаются треугольные грани, из которых состоят сетки геометрических моделей объектов сцены. В связи с этим, как правило, требуется производить дополнительное разбиение сеток геометрических моделей, если их грани слишком велики, а число граней мало. Подобное разбиение может выполнять сам алгоритм переноса излучения или его можно произвести с помощью модификатора Subdivide (Разбиение). В результате разбиения формируется набор элементов (elements) поверхностей, каждый из которых имеет форму, максимально приближенную к форме равнобедренного треугольника.
Принципиальное отличие алгоритма переноса излучения от алгоритма трассировщика света состоит в том, что вместо расчетов цвета каждого пикселя изображения он производит расчет освещенностей всех поверхностей объектов сцены при заданном расположении источников света. В процессе расчетов освещенность каждого элемента рассчитывается как сумма освещенности прямыми лучами от источников света и лучами, отраженными от всех остальных элементов геометрических моделей сцены. За счет многократных отражений происходит как бы перенос световой энергии от элемента к элементу, от объекта к объекту — перенос излучения. Рассчитанные значения освещенности сохраняются в том же файле, что и геометрическая модель сцены, как свойство каждого геометрического элемента поверхности.
Расчет освещенности занимает довольно много времени. Однако результаты таких расчетов оказываются независимыми от угла, под которым мы рассматриваем сцену. Действительно, ни размер элементов поверхностей, ни углы падения на них прямых световых лучей от источников света и лучей, отраженных от других элементов, не зависят от направления наблюдения. В итоге, один раз выполнив расчет глобальной освещенности сцены методом переноса излучения, мы можем без особых хлопот быстро производить визуализацию множества изображений, свободно перемещая камеру в пределах этой сцены. Это позволяет экономить огромное количество времени. Необходимость в повторном расчете глобальной освещенности возникает только после смены взаимных положений объектов и осветителей, замены материалов, изменении силы света осветителей или ее пространственного распределения.
Перечислим некоторые особенности алгоритма Radiosity (Перенос излучения):
Расчет глобальной освещенности методом переноса излучения — дело тонкое, требующее настройки довольно большого числа параметров. В ряде случаев оказывается даже не обойтись без дополнительной настройки свойств отдельных объектов применительно к их участию в расчетах глобальной освещенности. Такая настройка выполняется на вкладке Adv. Lighting (Улучшенное освещение) окна диалога Object Properties (Свойства объекта), которое вызывается по команде Properties (Свойства) четвертного меню. Она может состоять в том, что некоторые объекты вообще исключаются из расчетов переноса излучения или для них, напротив, назначается какое-то дополнительное количество уточняющих шагов работы алгоритма. Для отдельных объектов можно устанавливать индивидуальные значения размера элементов, на которые программа разбивает сетку для расчета освещенности, указывать, будет ли объект воспринимать освещенность, переносимую на него с других объектов сцены и т. п. Иногда приходится корректировать способность объектов отражать, пропускать или преломлять световые лучи с помощью материала Advanced Lighting Override (Замена свойств улучшенного освещения).
Впрочем, я пишу эту книгу не для того, чтобы пугать вас сложностями. Разобрались с моделированием геометрии, со стандартным освещением, разберемся и с переносом излучения. Как вы сможете убедиться в ходе выполнения следующего упражнения, не боги... излучение переносят. Попробуем реализовать расчет переноса излучения на практике, выполнив упражнение с той же самой сценой «МАХ-кафе», а дальше, глядишь, любимым методом проб и ошибок вы научитесь делать такие расчеты лучше меня.