Is_mat_irradiance - шейдер расчета вторичного освещения индивидуально для материалов
Как мы теперь уже знаем, расчет вторичного освещения методами final gathering, global photon map (GI) и caustic photon map, является неотъемлемой и обязательной частью любого стандартного материального шейдера. Настройки расчетов задаются в 3ds max в секции Indirect Illumination панели Rendering или блока Options в mi-файле сцены. Эти настройки являются "глобальными" в том смысле, что они имеют силу для всех объектов - расчет вторичного освещения всех объектов сцены будет выполнен с одними и теми же настройками качества расчетов. Однако, часто имеет место ситуация, когда одни части сцены требуют высокого качества, например там где освещение меняется быстро или есть важные мелкие детали геометрии, тогда как другие объекты сцены не требуют высокого качества (например, плоские ровные поверхности с медленно меняющимся освещением). Хотя алгоритм расчетов умеет правильно учитывать такие ситуации при помощи механизма адаптивности, все же хотелось бы иметь возможность индивидуальной по-объектной настройки качества расчетов. Это может быть весьма полезно для сокращения общего времени расчетов или для локального разрешения ошибок расчета освещения.
Начиная с версии mental ray 3.3, такая возможность предоставлена - введена новая функция расчета вторичного освещения, которая может быть настроена индивидуально для каждого материала. Индивидуальная настройка расчетов для материалов является еще более мощным инструментом, чем по-объектная настройка, поскольку позволяет управлять расчетом на уровне отдельных полигонов.
Но, с использованием этого нового метода связана определенная проблема. Поскольку старая функция расчета "зашита" в код материальных шейдеров, просто так заменить ее новым методом не удастся, потребуется перепрограммирование всех материальных шейдеров.
Предлагаемый вашему вниманию шейдер is_mat_irradiance является одним из возможных способов реализации новой возможности по-материального расчета вторичного освещения. Его основная идея вытекает из вышеописанной проблемы - не программируя заново все материальные шейдера отключить встроенный расчет вторичного освещения и заменить его новым. Такую возможность предоставляет манипулирование с данными state.
Принцип работы этого шейдера прост - is_mat_irradiance назначается в слот поверхности (Surface материала типа mental ray или mental ray Connection стандартных материалов 3ds max), вместо материального шейдера, а сам материальный шейдер назначается в качестве одного из параметров is_mat_irradiance. Таким образом, is_mat_irradiance действует как своеобразный переходник, выполняющий необходимые манипуляции, чтобы реализовать по-материальный расчет вторичного освещения. Необходимость в перепрограммировании шейдеров отпадает - можно как и раньше использовать любые стандартные материальные шейдера или материалы 3ds max (через дополнительный стандартный Material to Shader).
Настроечные параметры is_mat_irradiance:
Yandex.RTB R-A-252273-3
- Рендер простой сцены
- Часть 2. Options и ключи рендеринга командной строки
- Группа операторов сэмплирования
- Группа операторов рендеринга с использованием аппаратных возможностей видеокарты
- Группа операторов тесселяции
- Группа операторов Motion Blur
- Группа параметров Shadows
- Группа параметров Rendering Algorithms
- Группа операторов Feature Disabling
- Группа параметров Caustics
- Группа параметров Global Illumination
- Группа операторов Frame Buffer Control
- Группа параметров Scene Geometry
- Группа операторов Contours
- Группа операторов Diagnostic Modes
- Группа дополнительных операторов
- Ключи рендеринга командной строки ray.Exe
- Часть 3. Источники освещения
- Параметры шейдера ctrl_objectlights
- Только прямое освещение от протяженного источника-полусферы, имитирующего Sky light
- Часть 4. Геометрические объекты
- Тестовая сцена
- У стеклянного бокала visible off и в камеру он не виден. Но его тени и отражения в шейкере присутствуют
- В свойствах подложки установлено reflection 6 и refraction 6, поэтому ни шейкер, ни бокал ее не "видят"
- Для подложки refraction 12 и поэтому бокал ее не "видит", а reflection 3 и шейкер отражает подложку Обратная ситуация: для подложки refraction 3, reflection 12
- Fg Accuracy 280 сэмплов, радиусы 100 - 10 см
- У одного из объектов сцены finalgather 9, у остальных 3
- Противоположная ситуация: тумба не отражает вторичный свет, но сама его "видит"
- Расчет вторичного освещения методом fg, выполненный только для одного объекта сцены - шара. Fg accuracy: 1200 сэмплов на точку, минимальный радиус 1 см, максимальный - 10 см
- Часть 5. Камеры
- Часть 6. Материалы
- Конструкция стандартного материала
- Конструкция материала типа mental ray mental ray Connection стандартных материалов
- Шейдеры и параметры
- Назначение шейдеров в качестве параметров других шейдеров в 3ds max
- Назначение mib_cie_d в качестве параметра цвета светового шейдера точечного источника в 3ds max
- Phenomena в 3ds max виден как обычный шейдер заданного apply типа
- Is_mat_irradiance - шейдер расчета вторичного освещения индивидуально для материалов
- Интерфейс шейдера is_mat_irradiance
- Расчет освещения методом fg с глобальными настройками
- Расчет вторичного освещения с индивидуальными настройками fg для материала чайника и цилиндрической подставки (увеличено число сэмплов)
- Расчет вторичного освещения с индивидуальными настройками fg для материала чайника и цилиндрической подставки (увеличено число сэмплов) и материала конуса и земли (увеличены только радиусы)
- Рендеринг с Fast Sky