- Рейтинг
- 115
Единицы были изменены на мм, как масштаб моделирования может повлиять на свет - ведь это лишь соответсвие систем измерения?
цитирую.
Код:
Хотя mental ray и позволяет не указывать в настройках радиус собираемых фотонов, его явное указание имеет целый ряд преимуществ. Во-первых, знание фактического радиуса сбора позволяет ориентироваться в точности вторичного освещения. Чем больше радиус сбора, тем больше размытость вторичных теней. Если радиус сбора фотонов превышает 10 см, тени вряд ли можно считать правильными.
Во-вторых, правильное определение фактического радиуса сбора позволяет сократить время расчета фотонной карты за счет уменьшения радиуса поиска, а значит – времени поиска фотонов в базе данных. Экономия времени для одного рендера (кадра) по абсолютной величине относительно невелика и составляет от нескольких секунд до нескольких минут в зависимости от количества собираемых фотонов и плотности фотонной карты. Тем не менее, при анимации даже такой небольшой выигрыш во времени расчета одного кадра может оказаться существенным. Экономия времени также может быть существенной и при FG расчетах, поскольку в них используется многократное обращение к фотонным картам для оценки освещения.
Явное указание количества собираемых фотонов позволяет программе расчета гибко изменять в сцене радиус сбора фотонов в зависимости от плотности карты в данной точке (при этом максимальный радиус сбора не превысит заданный в настройках), что самым благоприятным образом сказывается на гладкости финального рендера.
Кроме того, вполне возможно связать число собираемых фотонов и плотность фотонной карты с качественными настройками FG, что при наличии некоторого опыта позволит сэкономить массу времени.
Код:
В результате отслеживания столкновений фотонов получается фотонная карта, содержащая записи о столкновениях. Каждая запись имеет размер в 18 байт: 12 байт для хранения трехмерных координат столкновения, 4 байта для значения энергии фотона, 1 байт для направления падения фотона и 1 байт для хранения флагов и указателей, связывающих записи между собой.
"Сырая" фотонная карта, которая получается непосредственно после завершения трассировки фотонов, содержит записи в совершенно беспорядочном виде – в том порядке, как отслеживались фотоны, и представляет собой полный хаос. Для того, чтобы фотонную карту можно было эффективно использовать в дальнейших расчетах, записи в ней упорядочивают определенным образом. А именно, так, чтобы записи о соседних по координатам столкновений фотонах, располагались рядом. Тогда запись о каждом фотоне содержит указатели на записи о двух других столкновениях фотонов, самых близких к ней. Такая структура записей называется базой данных kdtree типа и позволяет эффективно осуществлять поиск фотонов, ближайших к данному в пределах заданного радиуса поиска.
Упорядочивание базы данных совершенно самостоятельный процесс, который не может быть выполнен по частям. Это предъявляет определенные требования к объему памяти в системе, и если ее недостаточно для обработки всех записей фотонной карты зараз, происходит аварийное завершение расчетов с сообщением об ошибке. Это самое узкое место в расчете фотонных карт, поскольку определенное количество записей требует строго определенного количества памяти. Невозможность выполнить упорядочивание записей по частям ограничивает максимальное количество фотонов, которое может быть испущено в сцене. Для 32-битных операционных систем максимальный объем памяти, который может быть выделен для расчетов составляет приблизительно 2.6 гигабайта, вне зависимости от того, сколько фактически оперативной памяти установлено в компьютере.