понедельник, 20 мая 2013 г.

mental ray 4 Maya | Shaders Guide | шейдер mia_material | Часть 1

Здравствуйте. В восьмой главе гида по шейдерам mental ray, мы познакомиться с шейдерами библиотеки “architectural”. Данная библиотека содержит набор шейдеров специально разработанных для применения в архитектурной и дизайнерской визуализации. Наиболее важным является совместное применение шейдеров mia_material (*_X, *_X_passes) и модели освещения Physical Sun and Sky, а так же шейдера Portal Light и шейдеров фотометрических источников света. Сейчас, большинство систем визуализации обладают реализацией комплексных шейдеров, в mental ray, данные шейдеры появились в версии 3.6 и сразу предоставили пользователям богатые возможности. Вообще, шейдеры из библиотеки «architectural» очень похожи на аналогичные решения в ряде других систем визуализации. Например, многофункциональный шейдер VRayMtl, является основным инструментом затенения в системе визуализации V-Ray и полностью оптимизирован под его архитектуру.
Разработчики из NVIDIA ARC (ex. mental images) решили реализовать аналогичный по функциональности шейдер, позволяющий в едином интерфейсе выполнять настройку различных свойств затенения поверхностей, и адаптировать его под возможности mental ray.

Библиотека «architectural» предоставляет следующие шейдеры, большинство из которых, реализованы в интерфейсе Maya:
- mia_material
- mia_material_X
- mia_material_X_passes (специальная версия для Maya)
- mia_roundcorners
- mia_envblur
- mia_light_surface
- mia_portal_light
- mia_physicalsky
- mia_physicalsun
- mia_exposure_simple
- mia_exposure_photographic
- mia_lens_bokeh
Шейдеры библиотеки “architectural”, представлены следующими файлами:
    link "architectural.so"
    $include "architectural.mi"
В этой главе, мы рассмотрим только шейдеры mia_material_* и mia_roundcorners. Но по ходу дальнейшего знакомства с шейдерами mental ray, мы еще не раз обратимся к библиотеке «architectural».
Шейдеры библиотеки «architectural» в диалоговом окне Hypershade.
На приведенной выше иллюстрации показаны все основные шейдеры из библиотеки «architectural» и доступные пользователям Maya. Одним из важных плюсов библиотеки «architectural» являются практически идентичные параметры как для 3ds Max, Maya, так и для Softimage. А пользователи 3ds Max и системы визуализации V-Ray, получают очень близкий по идеологии с VRayMtl шейдер. Но обо всем по порядку, вначале, мы познакомимся с теоретической частью.


Что такое mia_material?
Согласно документации mental ray, mia_material это монолитный шейдер (материал), поддерживающий создание большинства материалов твердых поверхностей, таких как металл, дерево и стекло. Шейдер специально разработан для быстрой визуализации размытых отражений (Glossy Reflections) и размытых преломлений (Glossy Refractions), а также призван заменить такие шейдеры из базовых библиотек, как DGS Material и Dielectric Material (шейдеры DGS material и Dielectric Material были рассмотрены в предыдущих главах гида).
Основные возможности шейдера mia_material:
- Простота в применении — но предоставляет гибкие функции по настройке. Логичное управление, наиболее часто используемые функции выведены на передний план.
- Шаблоны — шейдер предоставляет разнообразные шаблоны, которые можно сразу применить в работе. Здесь стоит отметить, что наборы шаблонов для каждого из приложений (3ds Max, Maya, Softimage) могут различаться. При этом, сами шаблоны, присутствуют только в пакетах 3D графики и анимации, а в mental ray Standalone, пользователю доступен только сам шейдер.
- Физически корректный — шейдер реализует закон сохранения энергии. Создаваемые шейдеры, максимально точно реализуют физическую природу материалов и освещения.
- Производительность при визуализации глянцевых материалов — обеспечивает дополнительный прирост производительности, учитывая интерполяцию, эмуляцию глянцевитости и качество выборки (сэмплинга).
- Настраиваемые функции BRDF - пользователь может определить, каким образом отражения будут зависеть от угла обзора.
- Прозрачность - «Solid» или «Thin» материалы для прозрачных объектов, такие как стекло можно рассматривать либо как "solid" (преломляющие, на основе нескольких плоскостей) или "thin" (не преломляющие, при использовании одной плоскости).
- Закругленные углы — шейдер может имитировать закругленные кромки на углах геометрии. Данная методика позволяет придать более реалистичный вид модели. Например, углы ручки стула или стола никогда не будут прямыми (90 градусов), у них будет небольшая скругленный угол.
- Контроль непрямого освещения — позволяет задать качество и аккуратность в вычислениях Final Gather или Indirect Illumination для каждого материала индивидуально.
- Поддержка диффузного затенения по модели Oren-Nayar — позволяет воссоздать «запыленные» или «отслаивающиеся» материалы, например, глину или запыленную поверхность стола.
- Встроенная поддержка Ambient Occlusion — для повышения связи теней и мелких деталей.
- Все в одном шейдере — встроены шейдеры фотонов и теней.
- Пол, покрытый воском, матовое стекло и отшлифованные металлы… – просты и быстры в настройке и вычислениях.
- Поэлементный вывод — если используется шейдер mia_material_X (*_X_passes для Maya), появляется возможность вывода отдельных элементов изображения.
В чем заключаются различия между mia_material и mia_material_X. Это всего лишь два различных интерфейса, использующие тот же исходный код, так что их функциональность одинакова, за исключением того, что mia_material_X предоставляет следующие расширенные функции:
- имеет несколько дополнительных параметров, относящихся, к настройкам рельефности будет описано в разделе работы с картами рельефности в mia_material_X (вторая часть главы).
- поддерживает применение до 2 ao_do_details для включения Ambient Occlusion со смешиванием цвета (детальней мы рассмотрим этот вопрос в разделе, посвященном Ambient Occlusion в mia_amterial_X, во второй части главы).
- возвращает вывод нескольких элементов в виде структур mental ray. Вывод различных элементов будет подробно описан в разделе визуализации элементов изображения.
В принципе, у вас дорогие читатели уже должно сформироваться четкое представление об общих возможностях шейдера, однако, без более глубокого понимания теории реализации подобных шейдеров не обойтись. Благодаря теории, можно сформировать более четкое представление об аналогичных шейдерах в других системах визуализации, например V-Ray for Maya.

Основы
Как было написано выше, шейдер mia_material это комплексное решение, взаимодействующие с множеством отдельных элементов сцены и оптимизированное под применение с другими шейдерами из библиотеки «architectural».

Физическая точность и вывод изображения
Шейдер mia_material в первую очередь пытается быть физически корректным, следовательно, он имеет возможность вывода данных с высоким динамическим диапазоном. Как выглядит, визуально достоверный материал зависит от того, как представляются цвета внутри визуализатора для цветов, отображаемых на экране.
При работе с mia_material настоятельно рекомендуется убедиться в том, что вывод выполняется через управление тоном цветов / экспозиции или, по крайней мере, используется коррекция гаммы.

Заметка о гамме изображения
Вообще, о гамме написано множество статей и обсуждений в форумах, тематика раскрыта более чем полностью. Но учитывая, что мы рассматриваем комплексный физически корректный шейдер, о гамме нельзя умалчивать. В этой главе, мы рассмотрим гамму в общем случае.
Цветовое пространство имеющегося в наличии компьютерного дисплея (монитора) не является линейным. Цвета RGB со значениями 200 200 200 не в два раза ярче цвета RGB со значения 100 100 100, как можно было бы ожидать.
Это не "ошибка", и объясняется тем, что наши глаза видят свет нелинейно, формируемый цвет, фактически воспринимается вдвое более ярким, чем последний. Это делает цветовое пространство нормального компьютерного дисплея пригодным для восприятия. Это хорошо, и на самом деле основной причиной этого, является 24 битный цвет (только 8 бит - 256 дискретных уровней - для каждого из красного, зеленого и синего компонентов) выглядит так же хорошо, и воспринимается нашим глазам.
Проблема в том, что физически корректные системы компьютерной графики работают в истинном линейном цветовом пространстве, где фактическое значение представляет световую энергию. Если просто, визуализатор отображает диапазон выходного цвета визуализации, просто, в диапазоне 0-255 каждого компонента цвета RGB, а это неверно.
Большинство компьютерных дисплеев (мониторов) имеют гамму около 2.22 (для компьютеров Macintosh, обычно выставляется гамма 1.8), но в большинстве программ, по умолчанию, гамма равна 1.0, которая делает все (особенно средние тона) слишком темным, и свет не будет "сложен" правильно.
Применение гаммы равной 2.2, теоретически «корректно», позволяя физическому линейному свету внутри программы визуализации проявиться, правильным линейным образом на экране.
Однако так как реакция фотопленки не является линейной, пользователи обнаружили, что это "теоретически правильное" значение выглядит слишком "яркими" и "ненасыщенным". Одним из очень распространенных компромиссов – задать гамму равной 1.8, позволяя сценам выглядеть более "фотографическими", т.е. как будто изображение было снято на фотопленку, а затем обработано.
Пример визуализации изображения с Gamma равной 1.0, 1.8 и 2.2.

Коррекция тонов (Tone Mapping)
Другой метод для сопоставления физических энергий внутри визуализатора — получение значений пикселей пригодных для восприятия глазом, называется тональным отображением (Tone Mapping). Это может быть сделано либо путем оказания файла в формате с плавающей точкой и файлов для внешних программ композитинга (таких как NUKE, Fusion, After Effects или Autodesk Smoke) или благодаря использованию некоторых плагинов для визуализации, позволяющих делать коррекцию тонов на лету.
Два шейдера коррекции тона включены в библиотеку «architectural», простой mia_exposure_simple и более продвинутый mia_exposure_photographic, оба из которых будут описаны в последующих главах гида по шейдерам.
Примечание: будьте осторожны при использовании коррекции тонов вместе с гамма коррекцией, а некоторые шейдеры коррекции тона имеют свою собственную встроенную функцию гамма-коррекции (например, mia_exposure_photographic), и если не проявить осторожность, можно в конечном итоге получить гамму примененную дважды. Удостоверьтесь, чтобы у вас был корректно выстроен рабочий процесс с гаммой, и чтобы она настраивалась в одном месте.

Применение Final Gathering и Global Illumination
Шейдер mia_material, разработан с учетом возможности полноценного участия в формировании реалистичного окружения и освещения, т.е. полностью поддерживает прямое и непрямое освещение.
В mental ray, реализовано два метода вычисления непрямого освещения: Final Gathering и Global Illumination, Для достижения наилучших результатов, по крайней мере, один из этих методов должен быть использован.
По крайней мере, надо включить Final Gathering, или использовать Final Gathering в сочетании с Global Illumination (на основе карты фотонов) для достижения качественного результата. Советы по использованию Final Gather и Global Illumination можно найти на странице посвященной производительности Final Gather в справочной документации.
Если вы используете окружение (карту окружения) для отражений, убедитесь, что та же карта (или ее копия с размытием), используется для освещения сцены с помощью Final Gathering.

Применение физически корректных источников света
Традиционно, источники света в компьютерной графике не реализуют зависимость интенсивности света от расстояния. В реальном мире данное упрощение не существует в принципе. Свет затухает с расстоянием в направлении от источника света, это связано с тем, что лучи света отклоняются от их источника и "плотность" света изменяется на расстоянии. Этот спад от точечного источника света представлен формулой 1/d^z, то есть интенсивность света, обратно пропорциональна квадрату расстояния до источника.
Одной из причин для этого упрощения традиционно считается, что на ранних этапах развития компьютерного графики не была использована коррекция тонов и проблемы цвета заключались в "приближении/увеличении" к белому в самых нежелательных местах.
Тем не менее, если используется только Final Gather (FG) как непрямой метод освещения, такие традиционные упрощения будут работать. Даже источники света, без спада, будут участвовать в формировании разумного освещения в процессе визуализации! Это происходит, потому что FG применяется только для переноса света от одной поверхности к другой, и не участвует в переносе освещения от источников к поверхностям.
Но при работе с Global Illumination (GI) (т.е. с фотонными картами) могут возникнуть проблемы.
Если используется GI, источники света испускают фотоны. Крайне важно, чтобы mia_material (или любого другой шейдер (материал) mental ray), сохранял должным образом энергию этих фотонов в соответствии прямому освещению от того же источника! Но учитывая физическую точность, в модель освещения фотонами "встроен" учет затухания.
Таким образом, при использовании GI:
- Источники света должны быть излучающими фотоны с корректным значением энергии
- Прямой свет должен затухать физически правильным способом, чтобы соответствовать спаду фотонов
Поэтому важно, убедиться, что Light шейдер и Photon шейдер хорошо взаимодействуют между собой.
Чтобы решить эту проблему, если воспользоваться шейдером mia_photometric_light, он автоматически балансирует фотоны и прямое освещение в правильном направлении.
Итак, познакомившись с краткой теорией освещения в компьютерной графике, можно поговорить и о возможностях шейдера.

Возможности
В этом разделе, рассмотрены базовые сведения о возможностях шейдера mia_material.

Модель затенения
С точки зрения применения, модель затенения состоит из трех компонентов:
- Diffuse — канал диффузного цвета, включающий поддержку визуализации шероховатостей по модели Oren Nayar
- Reflections — глянцевые анизотропные отражения и блики
- Refractions — глянцевые анизотропные преломления (прозрачность) и полупрозрачность
Прямой и отраженный свет из сцены формирует диффузные отражения и эффект полупрозрачности. Прямые источники света также формируют традиционные блики (зеркальные подсветки).
Модель затенения mia_material.
Трассировка лучей используется для создания эффектов отражений и преломлений, и является важным процессом для формирования множественных выборок (сэмплинга) при создании глянцевых отражений и преломлений.
Скорость визуализации глянцевых отражений / преломлений может быть дополнительно увеличена с помощью интерполяции, а так же «эмуляции» отражений с помощью применения метода Final Gathering.

Сохранение энергии
Одним из наиболее важных свойств рассматриваемого шейдера является то, что он автоматически сохраняет энергию. Это означает, что шейдер использует следующую формулу для реализации сохранения энергии diffuse + reflection + refraction <= 1, то есть, энергия не магически создана, а поступающая энергия света правильно распределена в диффузном слое и компонентах отражений и преломлений, таким образом, можно говорить о поддержке первого закона термодинамики.
Например, на практике это означает, что при увеличении отражательной способности, энергия должна быть откуда-то взята, а, следовательно, и уровень диффузного цвета и прозрачности будет, автоматически уменьшаться. Кроме того, при добавлении прозрачности, это произойдет за счет понижения  уровня диффузного цвета.
Из этого следуют следующие правила:
- Прозрачность берет энергию из диффузного слоя, то есть при 100% прозрачности, не будет никакого диффузного цвета вообще.
- Отражение берет энергию из обоих слоев диффузного цвета и прозрачности, то есть на 100% отражений, там не будет ни диффузного цвета, ни прозрачности.
- Полупрозрачность является одним из видов прозрачности и refr_trans_w определяет процент прозрачности против полупрозрачности.
Здесь стоит отметить, что при формировании отражений, они будут зависеть не только от общего вклада, но и от кривой BRDF, которую мы рассмотрим далее и во второй части главы.
Для примера, была создана небольшая сценка, с нашими любимыми волнистыми сферами.
Пример визуализации шейдера mia_material с различными значениями Reflectivity: 0.0, 0.4, 1.0.
На приведенной выше иллюстрации, показано действие вклада отражений при стандартной настройке кривой BRDF. В документации к mental ray этот момент документирован достаточно расплывчато и находится в другом разделе. Но стоит отметить, что чистых зеркальных отражений не добиться одним лишь изменением параметра reflectivity. Для получения чистых зеркальных отражений, необходимо выполнить настройку кривой BRDF.
Пример визуализации шейдера mia_material с различными значениями Transparency: 0.0, 0.4, 1.0.
Так же стоит отметить, что уровень зеркальных подсветок связан с глянцевитостью поверхностей. Высокое значение refl_gloss формирует более узкие, но очень интенсивные зеркальные подсветки (Highlights), а более низкое значение формирует широкие, менее интенсивные зеркальные подсветки (Highlights). Это происходит, потому что энергия распространяется и рассеивается под большим углом по отношению к поверхности.
Учитывая, что отражения в шейдере mia_material могут быть созданы с учетом эффекта Френеля (Freshnel Reflections), стоит кратко рассмотреть данный эффект, и как он влияет на формируемые отражения.

BRDF – Как отражения зависят от угла обзора
В реальном мире, отражения на поверхности, часто зависят от угла обзора. Термином для этого эффекта является BRDF (Bi-directional Reflectance Distribution Function), то есть способ определения, силы отражения материала в зависимости от взгляда с разных ракурсов.
Отражения на полу, под различными углами обзора. Шейдер использует функцию Fresnel Reflections, IOR равен 2.2.
Многие материалы обладают данным эффектом. Стекло, вода и другие диэлектрические материалы с эффектом Френеля (где зависимость от угла обзора управляется показателем преломления) являются наиболее очевидными примерами, но и другие многослойные материалы, такие как лакированное дерево, пластик и т.д. обладают аналогичными характеристиками.
Шейдер mia_material, позволяет реализовать этот эффект как за счет определения показателя преломления, так и за счет определения явных значений для отражений:
- Граней, угол которых равен 0 градусов (поверхность направлена прямо к камере)
- Граней, угол которых равен 90 градусам (поверхность направлена перпендикулярно к камере)
Функции параметров BRDF, детально будут рассмотрены во второй части данной главы.

Возможности отражений
Вообще, отражения в действительности формируются суммой трех компонентов:
- Диффузный цвет
- Актуальные полноценные отражения
- Зеркальные подсветки (блики) имитирующие отражение источников света
Пример визуализации шейдера по отдельным элементам Diffuse, Reflection и Specular.
В реальном мире "блики" - простые (глянцевые) отражения источников света. В компьютерной графике более эффективно формировать их отдельно. Тем не менее, для поддержания физической точности материала, шейдер автоматически поддерживает интенсивность "бликов", глянцевитость, анизотропию и т.д. для синхронизации интенсивности, глянцевитости и анизотропии отражений, используются два параметра отражений.
Если вы хотите выполнить композитинг в стороннем приложении, таком как NUKE, Fusion, AfterEffects, стоит обратить внимание на вывод отдельных пассов с помощью шейдера mia_material_X (*_X_passes в Maya). Для финальной сборки, можно воспользоваться следующей формулой:
Diffuse + Specular + Reflection = Result.
Здесь, необходимо понимать, что «+» это функция режима смешивания пассов. Например, такой режим как Screen или Add.
Обычно, элемент Specular смешивается с элементом Diffuse с помощью режима Screen, а элемент Reflection может быть смешан с элементами Diffuse и Specular так же за счет режима Screen или Add. В NUKE для отражений, можно использовать режим Over.
Пример смешанных элементов Diffuse, Specular и Reflection в NUKE PLE.
Вообще, вывод отдельных элементов и последующий композитинг, мы рассмотрим во второй части этой главы гида.

Возможности прозрачности
Шейдер mia_material, поддерживает полную реализацию глянцевой анизотропной прозрачности, а также включает в себя компонент полупрозрачности, более подробно данные свойства будут описаны во второй части.
Пример визуализации сцены с различными значениями Transparency и Translucensy.
Цельный или тонкостенный
С прозрачностью / полупрозрачностью можно рассматривать объекты либо как цельные (Solid) или тонкостенные (thin-walled).
Если бы объекты считались твердыми веществами, например оконное стекло в архитектурной модели, то оно должно было быть смоделировано из двух поверхностей (плоскостей) входной поверхности (которая преломляет входящий свет), и сразу выходит из противоположной поверхности (где свет будет преломлен обратно в исходном направлении).
Это не только добавляет больше работы в процессе моделирования, это так же является пустой тратой вычислительных ресурсов рабочей станции в процессе визуализации в процессе реализации преломления, которое может очень слабо проявиться на изображении. Таким образом, шейдер позволяет моделировать плоскость как полноценное оконное стекло, предоставляя возможность отказаться от любого фактического «преломления» света.
Пример визуализации сцены, где к объектам применен шейдер mia_material в режиме Solid и Thin-walled.
На приведенном выше изображении сферы и плоскости обладают различными свойствами материала. Сфера справа, использует режим прозрачности Solid, сфера слева не использует прозрачность вообще, а плоскости в центре и справа, использует режим Thin-walled и активное свойство Translucency.

Cutout Opacity
Помимо "физически корректной" прозрачности (которая моделирует максимально точные свойства преломления материала) есть абсолютно отдельный тип «физически некорректной» прозрачности, именуемой так же «Cutout opacity», чтобы позволить объектам, где используются «текстуры прозрачности", например, таким как листья, на ветках деревьев или забор из сетки Рабица, позволяющий корректно вырезать видимые и невидимые области.
Пример визуализации кленового листа с применением Cutout Opacity.
Стоит заметить, что Cutout Opacity зависит от alpha канала, сохраненного в изображении, и использует его для определения прозрачных областей. Помимо этого, рекомендуется тщательно прорабатывать alpha канал и границы прозрачных/непрозрачных областей. Например, мягкие границы и дополнительная фильтрация, могут сформировать легкий переход от рисунка текстуры до заливки, что будет формировать легкий эффект «свечения» краев, а этого нам как раз и следует избегать.
Пример графа шейдера mia_material_X и кленового листа вырезаемого с помощью Cutout Opacity и текстурой.
На приведенной выше иллюстрации показан граф шейдера с текстурами для диффузного цвета и Cutout Opacity. Заметьте, что в этом графе, для демонстрации Cutout Opacity, используется отдельная текстурная карта, с alpha каналом. При подключении текстуры к шейдеру mia_material, необходимо соединить атрибуты Output Alpha > Cutout Opacity.
Учитывая различные механизмы формирования прозрачности в шейдере mia_material, проецирование текстуры с прозрачностью через атрибут Transparency не приведет к действенному результату и может увеличить время визуализации.

Дополнительные возможности
В шейдере mia_material (*_X, *_X_passes) реализован ряд дополнительных возможностей. Непосредственно в интерфейсе шейдера, можно настроить эффект Ambient Occlusion, выполнить контроль взаимодействие шейдера с глобальным освещением, точнее настроить формирование отражений, эмуляцию быстрых глянцевых отражений и многое другое.

Встроенная поддержка Ambient Occlusion
Шейдер mia_material имеет встроенную поддержку Ambient Occlusion (сокращенно «AO»), метод, разработанный специально для индустрии кино и анимации, но так же получивший широкое распространение в областях дизайн и архитектурной визуализации. Обычно, Ambient Occlusion с помощью шейдеров эмулирует «вид» верного глобального освещения, где вычисляются области окклюзии (блокировки) поступающего входящего света.

Ambient occlusion чаще всего вычисляется путём построения лучей, исходящих из точки поверхности во всех направлениях, с последующей их проверкой на пересечение с другими объектами. Лучи, достигнувшие фона или «неба», увеличивают яркость поверхности, в то время как лучи, пересекающие другие объекты, не добавляют яркости. В результате точки, окружённые большим количеством геометрии, отрисовываются как более тёмные, а точки с малым количеством геометрии в видимой полусфере — светлыми.

Используя шейдер Ambient Occlusion, создается затенение в оттенках серого, где «темным» обладают области, не достигаемые лучами света, а «яркими» являются области частично или полностью освещенные лучами света.
Как можно заметить на изображении ниже, один из основных результатов АО – затемнение в углублениях и областях, где свет блокируется другими поверхностями, и яркие области, которые подвергаются воздействию света от окружающей среды.
Одним из важных аспектов АО является то, что можно настраивать "расстояние", в пределах которого алгоритм определяет поглощающие поверхности.
Пример визуализации сцены, когда Ambient Occlusion выключен и включен.
Используя радиус, создается только "локализованный" АО эффект, поверхности, которые находятся в пределах заданного радиуса, учитываются при вычислении окклюзии (пересечений) (которые также значительно быстрее визуализируются). Практическим результатом является то, что АО дает нам хороший эффект "контактной тени" и делает видимыми маленькие впадинки или щели.
Пример визуализации эффекта Ambient Occlusion с поддержкой переноса цвета.
Вообще, эффекту Ambient Occlusion в целом, будет посвящен отдельный большой пост, аналогично инструменту освещения mental ray Image Based Lighting.
mia_material, предоставляет два пути применения встроенного в шейдер Ambient Occlusion:
- "Традиционный" Ambient Occlusion для добавления общего окружающего света, который после этого ослабляется с помощью Ambient Occlusion для создания деталей.
- Используйте АО для увеличения детализации вместе с существующими методами глобального освещения (например, Final Gathering или Photon Map).
Следующий способ особенно интересен, если используется сильно "размытое / сглаженное" глобальное освещение (то есть, очень высокий радиус фотонов или чрезвычайно низкая конечная плотность Final Gather), который в противном случае может утратить мелкие детали. Применяя Ambient Occlusion с короткими лучами, эти детали могут быть возвращены.

Возможности по увеличению производительности
Наконец, mia_material содержит большой набор встроенных функций для максимальной производительности, в том числе, но, не ограничиваясь ими:
- Дополнительная выборка по важности с порогом отсортировки луча
- Адаптивное значение глянцевого образца
- Интерполированные глянцевые отражения / преломления с улучшением деталей
- Очень быстрая эмуляция глянцевых отражений (режим refl_hl_only)
- Возможность игнорирования внутренних отражений для объектов из стекла
- Учитывая выбор между традиционными прозрачными тенями (например, для оконного стекла) и рефракционной каустики (подходит для твердых предметов из стекла) в основе для каждого материала.

mia_material и iray renderer (кратко)
Вообще, если рассматривать шейдеры библиотеки «architectural», не стоит, упускать изведу поддержку визуализации с помощью движка iray renderer, который поставляется совместно с mental ray Standalone и mental ray for 3ds Max.
Движок iray renderer, появился в mental ray 3.8 и предоставил пользователям возможность быстрой визуализации сложных эффектов освещения с высоким качеством. В основе модели затенения и освещения в iray renderer, лежат шейдеры библиотеки «architectural» (префикс mia_*). А шейдер mia_material является одним из ключевых инструментов для затенения сцен в iray.
Однако стоит обратить внимание на то, что шейдер mia_material, при применении совместно с iray renderer ограничен функционально, многие функции оптимизации, предназначенные для mental ray не будут поддерживаться при визуализации в iray renderer.
Пример визуализации сцены с помощью mental ray 3.11 Standalone и iray renderer.
На иллюстрации выше показано как выглядит изображении при визуализации средствами mental ray и iray renderer. iray renderer позволяет формировать качественные зеркальные / глянцевые отражения, освещение от небосвода и источника света, имитирующего солнце и т.п. Многие детали визуализации mia_material с помощью движка iray renderer и его особенности, мы рассмотрим в специальном разделе второй части данной главы.

Итак, в первой части главы посвященной mia_material (*_X, *_X_passes), мы познакомились с базовыми теоретическими сведениями о шейдере mia_material, входящим в библиотеку “architectural”.
В этой части, мы рассмотрели основы шейдера mia_material, который стандартизирован и подходит многим пользователям, переходящим как с 3ds Max на Maya, так и с V-Ray на mental ray (и обратно).
Шейдеры библиотеки “architectural” могут быть применены в большинстве задач связанных с визуализацией, но основной акцент сделан именно на применении в областях дизайн и архитектурной визуализации. Именно в этих областях, сейчас чаще всего требуется реализация достоверного освещения и затенения. Такой широкий диапазон применения шейдера, достигается благодаря гибкой настройке и большому количеству различных атрибутов.
Во второй части, мы детально рассмотрим интерфейс и назначение атрибутов шейдеров mia_material, mia_material_X и mia_material_X_passes.

P.S. Кстати, если вы являетесь пользователем Autodesk 3ds Max / Autodesk 3ds Max Design, я настоятельно рекомендую приобрести и использовать как настольный справочник книгу «mental ray / iray. Мастерство визуализации в Autodesk 3ds Max» (http://mentalraybook.pro/), написанную моими коллегами из Сообщества пользователей AutodeskАндреем Плаксиным  и Алексеем Лобановым. В книге максимально подробно рассмотрены возможности шейдера mia_material_X, реализованного в интерфейсе Autodesk 3ds Max под названием Arch & Design Material. И да, книга есть как в Ч/Б варианте, так и в полноцветном и твердой обложке.

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

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

mental ray Standalone Global Review

mental ray 4 Maya | Shaders Guide
- mental ray 4 Maya | Shaders Guide | шейдер mia_material | часть 1

3 комментария:

  1. Помогло, спасибо. Ценю, уважаю ;-)
    Когда 2рая часть ?)

    ОтветитьУдалить
  2. День бодрый!!!
    Вопрос можно...
    Поддержка диффузного затенения по модели Oren-Nayar — позволяет воссоздать «запыленные» или «отслаивающиеся» материалы, например, глину или запыленную поверхность стола.

    А каким образом это практически реализуется ?!?!?
    Спасибо!!

    ОтветитьУдалить