воскресенье, 27 января 2013 г.

mental ray 4 Maya | Shaders Guide | шейдеры transmat и path_material

Здравствуйте друзья, сегодня мы рассмотрим специальные шейдеры, которые позволяют выполнять ряд определенных задач в затенении.
Шейдеры transmat и path_material находятся в самом конце списка шейдеров материалов, и могут сначала быть не замеченными многими пользователями, но благодаря им можно реализовать интересные эффекты.

Шейдер transmat
Шейдер transmat (расшифровывается как transparent material), это шейдер для вспомогательных ограждающих поверхностей участвующих в среде или в формировании объема, который не является видимым для лучей в mental ray. Он просто продолжает отслеживать входящие лучи в том же направлении, без взаимодействия с текущим объектом. Такой контейнер объема должен быть невидимым для себя.
Шейдер transmat в интерфейсе Attribute Editor в Maya.

В интерфейсе Attribute Editor, данный шейдер не имеет никаких атрибутов, и подключается просто к узлу Shading Node через атрибуты Material и Shadow.
Описание шейдера в формате .mi:
color "transmat" ()

Рассмотрим небольшой пример. Простая сцена с несколькими объектами и сферой, к которой применен шейдер transmat.
Пример сцены с шейдером transmat.

Если установить глобально (Render Globals > Quality > Raytracing) глубину трассировки лучей равной 1 1 2 (Reflections, Refraction, Max Depth), то шейдер transmat будет формировать прозрачный участок по площади объекта, к которому он применен, объекты, находящиеся за его пределами будут полностью исключены из визуализации (влияет на Alpha канал). При увеличении глубины трассировки (например, 1 3 4), лучи будут проходить данный объект насквозь, но при этом будут визуализироваться объекты позади объекта с шейдером transmat. Учитывая что данные о геометрии передаются mental ray, он будет принимать участие в формировании теней, для того что бы исключить объект из формирования тени, необходимо подключить шейдер transmat к атрибуту Shadow Shader в Shading Node.
Помимо шейдера transmat, есть его аналог для применения совместно с глобальным освещением по методу фотонных карт (photon map) — шейдер transmat_photon. Его мы рассмотрим в разделе посвященном фотонным шейдерам.

В последних релизах mental ray разработчики представили серию новых шейдеров категории production, реализующие гораздо больше возможностей, таким образом, шейдер transmat считается устаревшим, но остался в реализации mental ray for Maya и в mental ray Standalone.

Помимо реализации глобального освещения методом фотонных карт и Final Gather, с помощью шейдеров можно реализовать расчет GI методом Brute Force. Для этого, используется шейдер path_material.

Шейдер path_material
Эффекты глобального освещения могут быть визуализированы с помощью метода трассировки луча по пути (path ray tracing). В отличие от распределенной трассировки лучей, для каждого отраженного луча, выполняется не более одного отражения и преломления луча при использовании path ray tracing. При достаточно большой глубине трассировки, расчет глобального освещения выполняется корректно.
Метод path ray tracing реализован средствами шейдера path_material, аналогичного шейдеру dgs_material.
Описание шейдера в формате .mi:
color "path_material" (
  color      "diffuse",
  color      "glossy",
  color      "specular",
  scalar     "shiny",
  scalar     "shiny_u",
  scalar     "shiny_v",
  scalar     "transp",
  scalar     "ior",
  array light   "lights"
  integer     "mode")

Учитывая идентичность параметров шейдеров path_material и dgs_material, вы можете познакомиться с ними из главы посвященной dgs_material и dielectric_material.
Реализация шейдера path_amterial в интерфейсе Attribute Editor.

Рассмотрим небольшой пример. Здесь представлена та же сцена что и в примере с transmat. На все стороны куба и объекты внутри него назначен шейдер path_material.
Пример визуализации сцены с шейдером path_material и различными настройками сэмплинга.

На приведенной выше иллюстрации показано, как влияет качество сэмплинга на итоговый результат. Но стоит учитывать то, что с увеличением качества сэмплинга, возрастает и время визуализации.
Пример визуализации сцены с шейдером path_material и различными настройками глубины трассирвоки.

Качество изображения и проявление эффекта GI зависит не только от сэмплинга, но и от глубины трассировки луча, для реализации эффекта GI необходимо увеличивать глубину трассировки луча в глобальных параметрах рендера — Reflections Depth, Refractions Depth, Max Trace Depth. Но и здесь стоит учитывать, что увеличивая глубину трассировки и сэмплинга, вы получите качественное изображение, но время визуализации значительно увеличится.

Помимо всего вышесказанного, такие параметры и методы GI как Final Gather и Photon Map не оказывают влияния на поверхности с шейдером path_material. Компонент диффузного непрямого освещения рассчитывается отражением каждого луча в направлении определенным распределением по Ламберту. Вследствие этого, нет шейдера path_material_photon. Для увеличения скорости вычислений, отключается Final Gather и Photon Map. И по сравнению со сценами, где используется метод фотонных карт, глубина трассировки в сценах с path_material должна быть увеличена.

======================================

В сегодняшнем коротком посте, мы познакомились с шейдерами transmat и path_material, входящими в библиотеку шейдеров physics.so и декларируемых в physics.mi. Стоит отметить, что данные шейдеры хоть и не могут быть использованы в широком диапазоне задач, они могут помочь в создании вспомогательных объектов и шейдеров для формирования более реалистичного изображения. Начиная со следующего поста, мы перейдем к знакомству с шейдерами для имитации автомобильной краски и микрочастиц (Car Paint Sahder), а также с современным шейдером mia_material, позволяющим реализовать многие модели затенения в едином интерфейсе.

До скорой встречи, ваш dimson3d! :)

Опубликовано

mental ray Standalone Global Review
- mental ray Standalone | Первое знакомство
- mental ray Standalone | Экспорт данных из 3D приложений
- Доклад с AU 2012 и введение в mental ray Standalone

mental ray 4 Maya | Shaders Guide
- mental ray 4 Maya | Shaders Guide | Введение
- mental ray 4 Maya | Shaders Guide | Основы
- mental ray 4 Maya | Shaders Guide | dgs_material, dielectric_material
- mental ray 4 Maya | Shaders Guide | mib_glossy_reflection
- mental ray 4 Maya | Shaders Guide | mib_glossy_refraction
- mental ray 4 Maya | Shaders Guide | шейдеры mib_illum_*
- mental ray 4 Maya | Shaders Guide | шейдеры transmat и path_material

Комментариев нет:

Отправить комментарий