(Продолжение. Начало в №29)
Ray-Tracing Rendering. Тонирование методом
трассировки лучей
Является развитием метода Фонга, позволяет достичь большей реалистичности тонирования. Различают две разновидности этого метода.
Ray Casting. Отбрасывание тени
Основная цель - получить тени, которые имеют при освещении все реальные объекты. Суть метода заключается в отслеживании обращенной траектории луча света от точки наблюдения (камеры, глаза) через точку на поверхности 3-мерного объекта к источнику света. Направление на источник света строится от точки на поверхности объекта по закону отражения. Если, следуя этому направлению, луч пересекается с поверхностью этого же объекта или с другим объектом, то точка находится "в области тени", что и учитывается при окончательном расчете освещенности данной точки.
Recursive Ray-Tracing. Метод вложенной
трассировки лучей
В основе метода лежит три концепции: расширенная модель освещения, метод вложенной трассировки лучей и концепция устранения эффекта "ступенчатости" на внешних границах объектов (anti-aliasing).
Расширенная модель освещенности включает в расчет, помимо составляющих, рассмотренных в модели Фонга, еще один компонент - преломление света при прохождении под поверхность объекта, а формула приобретает следующий вид: Iсум.= kaIa + kdId + ksIs + kTIT. Где kT-коэффициент, позволяющий задать свойства преломления объекта, IT - интенсивность преломленного света. Остальные слагаемые имеют тот же смысл, что и в модели Фонга. Изменился также способ расчета результирующих интенсивностей IS и IT. В основу расчета положен метод Recursive ray-tracing - метод вложенной трассировки лучей. Он представляет собой расширение метода Ray casting - также проводится обращенная трассировка луча от наблюдателя к объекту. Но теперь в точке пересечения луча и поверхности объекта луч "расщепляется" на две составляющие - отраженный и преломленный лучи. Для обоих лучей трассировка продолжается до новой точки пересечения (если таковая имеется) лучей и поверхности, где оба луча вновь расщепляются и т. д., - до тех пор, пока лучи не выйдут в пустую (не имеющую объектов и, следовательно, пересечений) область или не достигнут предопределенной глубины вложенности трассировки. Установленные при трассировке точки пересечения луча и поверхности называются узлами, для узлов определяется иерархия предок-потомок. В результате получается древовидная структура (см. рис.), вычисление интенсивности света начинается в самой нижней точке такой структуры по формуле расширенной модели освещенности (см. выше) и передается вверх от потомка к предку. Расчет освещенности предка выполняется по той же формуле, но дополнительно включает освещенность, переданную всеми его потомками. Несомненными достоинствами такого метода являются возможность получения многократного отражения предметов на поверхности друг друга и визуализация преломления.
И, наконец, третья концепция - сглаживание краевых эффектов (предотвращение "ступенчатости" на границах объектов) использует следующую идею. Луч при пересечении с единичным элементом поверхности должен проходить не через его центр, а через углы. Для узловых точек рассчитывается освещенность, полученные значения сравниваются и, если они приблизительно одинаковы, среднее значение рассчитанных интенсивностей присваивается элементу поверхности. Если значения существенно различаются, то единичный элемент разбивается на четыре части и для каждой из них проводятся аналогичные расчеты. Разбиение на подобласти проводится до тех пор, пока все области не получат средние значения. Затем для каждой области определяется весовой коэффициент, пропорциональный ее площади, и рассчитывается среднее значение для всего элемента поверхности, подвергавшегося разбиению.
Таким образом, вложенная трассировка лучей - наиболее реалистичный метод тонирования среди доступных в настоящее время для практического использования, дающий прекрасные результаты, однако требующий такого огромного количества вычислений, что его использование ограничивается прорисовкой либо только неподвижных сцен, либо созданием очень коротких анимаций. Большинство исследований в этой области сосредоточено на поиске методов упрощения вычислений и, соответственно, их ускорения без потери качества тонирования.
Radiosity. Излучательность
Radiosity - cледующий шаг на тернистом пути достижения еще большего реализма изображения. В этой модели предполагается, что трехмерная сцена представляет собой замкнутую излучательную систему, т.е. излучательная энергия не поступает извне, а уже существует внутри системы, не выходя за ее пределы. В такой системе с течением времени, согласно закону сохранения энергии, наступает состояние равновесия, характеризующееся тем, что каждая пространственная точка системы обладает определенным и неизменным во времени количеством излучательной энергии (освещенностью). Компьютерные вычисления сводятся к нахождению так называемых форм-факторов для элементов поверхностей объектов сцены. Форм-фактор для данной единицы поверхности объекта определяет ту часть от общего количества излучательной энергии всей системы, которая приходится на эту поверхность.
Если сравнивать тонирование с использованием Radiosity и тонирование по методу Ray-tracing, то основные отличия состоят в следующем:
- Модель Radiosity рассчитывает количество излучательной энергии (освещенность) для единичного элемента поверхности вне зависимости от происхождения этой энергии (т.е. не имеет значения, чем обусловлено ее происхождение - процессами рассеяния, отражения или преломления) и поэтому учитывает все возможные процессы взаимодействия света и объектов сцены, тогда как Ray-tracing учитывает только отраженную и преломленную компоненты взаимодействия света и поверхностей.
- Тонирование по методу Radiosity не зависит от положения наблюдателя. В идеале один раз просчитанная сцена содержит значения освещенности для всех пространственных точек сцены. Ray-tracing полностью зависит от положения наблюдателя, поскольку вся трассировка лучей производится от точки наблюдения. В результате изменение положения наблюдателя приводит к полному пересчету всей 3-мерной сцены.
Однако расчет сцены по методу Radiosity требует еще большего количества вычислений, чем метод трассировки лучей, что еще более ограничивает его практическое применение, по крайней мере, в настоящее время. Но исследования продолжаются и, возможно, вскоре будут найдены более быстрые способы расчетов...
Игорь СИВАКОВ
При подготовке статьи использованы
интеллектуальные ресурсы Интернет
Горячие темы