Рис. 10.98. Проектирование области пикселя на поверхность с последующим наложением области на карту среды
ОТОБРАЖЕНИЕ ФОТОНОВ
Хотя метод диффузного отражения позволяет точно отображать глобальные эффекты освещения для простых сцен, его трудно применять при увеличении сложности сцены. Для очень загроможденных сцен время визуализации и требования к памяти становятся неприемлемыми, кроме того, многие эффекты освещения трудно смоделировать корректно. Общим методом моделирования глобального освещения на сложных сценах является эффективное и точное отображение фотонов.
Основная идея в отображении фотонов заключается в отделении информации об освещении от геометрии сцены. По сцене прослеживаются пути лучей от всех источников света, и информация об освещении, полученная из анализа пересечения лучами объектов, записывается в карту фотонов. Затем применяются методы распределенного построения хода лучей и последовательные алгоритмы, подобные реализованным в схеме визуализации диффузного отражения.
Источниками света могут быть точки, направленные прожекторы или любые другие конфигурации. Интенсивность, присвоенная источнику света, делится между его лучами (фотонами), а направления лучей распределяются случайно. Если точечный источник не является направленным (раздел 10.1), он моделируется путем генерации лучей равномерно по всем направлениям. Для других источников света на источнике выбираются случайные точки, из которых в случайных направлениях генерируются лучи. Для более яркого света генерируется больше лучей, чем для маломощных источников света. Кроме того, для источников света могут строиться карты проекций, в которых хранится бинарная информация о том, находятся ли в какой-либо области пространства объекты. Чтобы предоставлять информацию об объектах в больших пространственных областях, в алгоритме также могут использоваться граничные сферы. На сцене может генерироваться любое число лучей, и с увеличением их числа повышается точность эффектов освещения.
СЛОЖЕНИЕ ДЕТАЛЕЙ ПОВЕРХНОСТИ
До этого момента рассматривались методы визуализации, позволяющие отображать гладкие поверхности объектов. Стоит, впрочем, отметить, что большинство объектов не имеют гладких, ровных поверхностей. Чтобы точно смоделировать такие объекты, как кирпичная стена, гравийная дорога, ворс ковра, дерево и человеческая кожа, нужно использовать текстуру поверхности. Кроме того, некоторые поверхности содержат узоры, которые нужно учесть в процедурах визуализации. Поверхность вазы может содержать роспись; стакан для воды - иметь гравировку; теннисный корт содержит разметку - маркировку аллей, зон и базовых линии, а шоссе с четырехполосным движением имеет разделительные полосы и такие “узоры”, как нефтяные разливы и следы от покрышек.
Рис. 10.99. Этапы моделирования и визуализации при разработке анимированного доктора Аки Росс из фильма Final Fantasy: The Spirits Within-, каркасная модель Аки (панель а); структура поверхности кожи и одежды (панель б); конечная визуализированная фигура, включая волосы и детали кожи и одежды (панель в) (перепечатано с разрешения Square Pictures, Inc. © 2001, FFFP)