Пятница, 03.05.2024, 15:56
Folorit Dizain
Главная | Каталог статей | Регистрация | Вход
Категории раздела
Дизайн [7]
Уроки по фотошоп [0]
Уроки по 3D MAX [0]
Програмирование [2]
Наш опрос
Кто для вас Юшенко?
Всего ответов: 7
Статистика
Автосерфинг

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » Статьи » Обучение » Дизайн

Radiosity в 3dsmax

Radiosity в 3dsmax

Radiosity – это технология визуализации, которая реалистично моделирует путь лучей света и его взаимодействие с окружающей средой. Эта статья покажет Вам – что же такое Radiosity и какое отношение эта техника глобального освещения (Global Illumination) имеет к другим техникам визуализации. Информация из этой статьи поможет вам сделать выбор – какой именно способ наилучшим образом подходит для решения конкретной задачи. Путём более точного моделирования света в сцене, 3ds max предлагает вам более выигрышные возможности в сравнении с предыдущими версиями:

Улучшенное качество изображений: Технология Radiosity использует более точное фотометрическое моделирование освещения в ваших сценах. Такие эффекты, как отражённый свет, мягкие (размытые) тени и перетекание цвета между поверхностями позволяют получать фотореалистичные изображения, которые были недостижимы ранее при использовании scanline-визуализатора. Эти изображения дают вам лучшее, более предсказуемое представление того, как ваши сцены будут выглядеть в определённых условиях освещения.
Больше интуитивного света: Вместе с введением техники Radiosity, 3ds max представляет также набор реальных физических источников освещения. Вместо задания интенсивности источника света произвольными значениями теперь яркость может быть установлена с использованием фотометрических единиц (люмены, канделы и т.д.). Вдобавок характеристики реальных световых приборов могут быть заданы при помощи использования промышленно стандартизированных стандартов плотности освещения (Luminous Intensity Distribution files) (такие, как IES, CIBSE и LTLI), которые доступны от многих производителей световой техники. Работая с таким интерфейсом освещения, вы можете интуитивно настраивать освещение в своих сценах. Это позволит уделять больше внимания моделированию, нежели настройке окружающей среды для приемлемого качества визуализации.

Визуализация компьютерной графики.

Трёхмерные модели, созданные в 3ds max состоят из геометрических данных, определённых с использованием трёхмерной декартовой системы координат для задания положения в пространстве. Кроме того, модель содержит дополнительную информацию о материалах каждого объекта и освещении в сцене. На экране компьютера изображение представляет собой множество маленьких светящихся точек, называемых пикселями. Задача создания изображения геометрической модели на компьютере может быть сведена к определению цвета каждого пикселя, базирующегося на информации о модели и места, откуда производится обзор объекта. Цвет заданной точки на поверхности объекта зависит от свойств материала и света, который на эту поверхность падает. Для того, чтобы объяснить, как поверхность отражает и проводит свет, рассмотрим два алгоритма: локального и глобального освещения.

Локальное освещение (Local illumination)

Алгоритмы локального освещения описывают отражение или пропускание света отдельными поверхностями. Для описания света, падающего на поверхность, используются математические алгоритмы, называемые шейдерами (shaders), которые определяют интенсивность, цвет и распространение отражённого света. Вместе с описанием материала объекта, различные шейдеры определяют, например, будет поверхность выглядеть как пластик или как метал, будет она гладкой или шершавой. 3ds max предоставляет широкие возможности управления целым множеством различных материалов. После определения того, как отдельная поверхность будет взаимодействовать со светом, возникает другая задача: определить, откуда пришёл свет, падающий на поверхность. В стандартной системе визуализации scanline учитывалось только то освещение, которое падает на поверхность непосредственно от источника света. Однако для более точных изображений важно учитывать не только источники света, но и то освещение, которое возникло в результате взаимодействия с другими поверхностями и объектами. Например, одна поверхность может полностью блокировать свет, тем самым отбрасывая тени на другие поверхности, другая поверхность является сияющей и мы увидим в ней отражение других поверхностей. Третья является прозрачной, и мы можем наблюдать другие поверхности через неё, а ещё одна поверхность является зеркальной и отражает падающий на неё свет на другие поверхности.

Глобальное освещение (Global Illumination)

Алгоритмы визуализации которые учитывают распространение света между поверхностями называются алгоритмами глобального освещения (global illumination algorithms). 3ds max предоставляет два таких алгоритма: ray-tracing (трассировка лучей) и radiosity.
Перед тем, как разбираться в работе ray-trace и radiosity алгоритмов необходимо понять то, как свет распространяется в реальном мире. Рассмотрим, например, комнату, показанную на иллюстрации ниже.


На картинке вверху кухня имеет два источника света. Одна из теорий света рассматриваем свет в терминах дискретных частиц, называемых фотонами, которые перемещаются от источника света пока не столкнутся с некоторой поверхностью. Факт, что фотоны с определённой частотой волны поглощаются, в то время, как фотоны с другой частотой – нет. Это и определяет цвет поверхности.

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

Направление, в котором отразится фотон от поверхности, прежде всего, зависит от гладкости поверхности. Грубые, шершавые поверхности отражают фотоны во всех направлениях. Такие поверхности называются рассеивающими, а такой тип отражений – рассеивающими отражениями (показано выше). Равномерно закрашенная стена – хороший пример рассеивающий поверхности.
Окончательное освещение кухни определяется взаимодействием между поверхностями и миллиардами фотонов, выпущенных из источников света. Для произвольно взятой точки поверхности возможно несколько путей прибытия фотонов: от источника света (direct illumination) или после одного или нескольких отражений от других поверхностей (indirect illumination). Если вы стоите в кухне, очень малое количество фотонов достигнет ваших глаз и через колбочки и палочки сетчатки глаза воспроизведёт образ в мозгу.

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

Трассировка лучей (Ray-tracing)

Один из разработанных алгоритмов глобального освещения называется ray-tracing. Этот алгоритм, несмотря на возможные миллиарды фотонов в комнате, прежде всего заботится о тех, что достигнут нашего глаза. Алгоритм отслеживает лучи света в обратном направлении, от каждого пикселя экрана к трёхмерной модели. В этом случае мы рассчитываем лишь необходимую для построения изображения информацию. Для создания изображения методом ray-tracing для каждого пикселя экрана выполняются следующие шаги:

  1. Отслеживается направление распространения луча света от точки экрана («глаза») до тех пор, пока он не пересечёт поверхность. Нам известна степень отражения света поверхностью, но пока неизвестно количество света, падающего на эту поверхность.
  2. Для определения полной освещённости, мы прослеживаем путь от точки пересечения луча до всех источников света в окружении (теневой луч). Если на этом пути не встречается никаких загораживающих объектов, свет от этого источника используется для вычисления цвета поверхности.
  3. Если интересующая нас поверхность зеркальная или прозрачная, мы также должны определить, что видно в или сквозь поверхность. Шаги 1 и 2 повторяются в отражённом (или для прозрачной поверхности, преломленном) направлении пока другая поверхность не встретится на пути.
  4. Если вторая поверхность также отражающая или прозрачная, ray-trace процесс повторяется до тех пор, пока не достигается максимальное число итераций или пока перестанут попадаться на пути отражающие поверхности.



Ray-trace алгоритм является очень разносторонним из-за того количества световых эффектов, которые он способен воспроизводить. Он может точно рассчитать характеристики глобального освещения, теней, прямых отражений (зеркал, например), и преломлений в прозрачных материалах. Основной недостаток данного алгоритма то, что он может быть очень медленным для сцен даже средней сложности. В 3ds max данный алгоритм применяется только для специфических объектов, использующих ray-trace материалы, а также для источников света, отбрасывающих ray-traced тени.
Очень значительный недостаток как scanline, так и ray-trace алгоритмов – это то, что эти техники не учитывают крайне важное свойство глобального освещения – рассеивающих отражений между поверхностями. В традиционной ray-trace или scanline визуализации в расчёт берётся только тот свет, который достиг поверхности непосредственно от источника света. Но, как показано в примере с комнатой, свет достигает поверхностей не только от источников (прямое освещение), но и от других поверхностей (вторичное освещение). Если визуализировать сцену кухни алгоритмом ray-trace, например, то те поверхности, которые окажутся в тени будут выглядеть абсолютно чёрными, т.к. они не освещаются непосредственно источниками света. Но мы знаем из опыта, что эти плоскости не будут полностью чёрными потому что они будут освещаться светом, падающим от окружающих стен и двери.
В системах визуализации scanline и традиционного ray-trace (предыдущие версии 3ds max) избегали подобных казусов путём добавления некоторого стороннего окружающего света, который не подчинялся физическим законам и был постоянен в пространстве. По этой причине такие изображения казались очень плоскими, особенно при визуализации архитектурных объектов, которые обычно состоят из множества рассеивающих поверхностей.

Radiosity

Чтобы избавится от вышеописанных недостатков, учёные принялись исследовать альтернативные способы расчёта глобального освещения. В ранних 1960-х инженеры разработали методы моделирования перемещения теплового излучения между поверхностями для изучения – как их разработки поведут себя на практике, например, в печах или двигателях. В середине 1980-х годов, исследователи в области компьютерной графики начали разрабатывать программы для использования подобных методов в изучении распространения света.
Radiosity, а именно так эта техника называется в мире компьютерной графики, значительно отличается от алгоритмов ray-trace. Radiosity вычисляет интенсивность всех поверхностей в окружении, что предпочтительнее, чем вычислять цвет каждой точки экрана. Это достигается разбиением оригинальной поверхности на более мелкую сетку, кусочки которой называются элементами. Алгоритм radiosity вычисляет количество света, распространяемого от одного элемента сетки к другому. Конечная освещённость сохраняется для каждого элемента разбиения.


Луч света достигая поверхности отражается в беспорядочном направлении

В ранних версиях алгоритма radiosity для отображения результата на экране сначала необходимо было полностью просчитать распространение света и освещённость элементов. Хотя результат и был независим от точки осмотра объекта, предварительный этап занимал значительный промежуток времени. В 1988 году был разработан метод прогрессивного уточнения. Эта техника немедленно отображала результат, который со временем уточнялся и улучшал свои визуальные качества. В 1999 г. была изобретена техника стохастической релаксации излучаемости (Stochastic Relaxation Radiosity). Этот алгоритм и составляет основу коммерческих radiosity-систем производимых компанией Discreet.

Интегрированное решение

Хотя алгоритмы ray-trace и radiosity очень разные, они являются взаимозаменяемыми. Каждый способ имеет собственные преимущества и недостатки.
Алгоритм освещения Преимущества Недостатки
Ray-Tracing • Точно рассчитывает прямое освещение, тени, отражения и эффекты прозрачности
• Экономит память
• Ресурсоёмкий. Время на производство картинки очень зависит от количества источников света в сцене
• Процесс должен повторяться для каждой точки обзора заново
• Не учитывает рассеянных отражений
Radiosity • Рассчитывает рассеивающие отражения от поверхностей
• Производит независимые решения, для быстрой визуализации из любой точки обзора
• Предлагает непостредственные визуальные эффекты
• 3D-сетка требует больше памяти чем оригинальные поверхности
• Алгоритм дискретизации поверхности более восприимчив к артефактам, чем ray-tracing
• Не работает с эффектами отражения или прозрачности

Ни ray-trace, ни radiosity не представляют собой полного решения для моделирования всех эффектов глобального освещения. Radiosity рассчитывает рассеянный свет, а ray-trace просчитывает гладкие отражения и интегрированные вместе эти алгоритмы делают среду 3ds max лучшей в мире. Для любой ray-trace сцены можно просчитать radiosity-решение, которое заменит неточный постоянный теневой свет точными значениями вторичного освещения, добавляя, тем самым, в изображение больше реалистичности. Интегрируя эти методы, 3ds max предоставляет множество возможностей для визуализации, от быстрых интерактивных студий по созданию освещения до комбинации ray-trace/radiosity для изображений с исключительным качеством и фотореализмом.

Категория: Дизайн | Добавил: folorit (07.03.2008) | Автор: 3dcenter.ru
Просмотров: 596 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Поиск
Друзья сайта
Автоматическая разкрутка сайтов
Игровой топ
Copyright MyCorp © 2024Хостинг от uCoz