CyclesX. Blender. Вводная.
Cycles. Родной рендер-движок Blender. С течением времени он становится только краше и в грядущей (на момент написания этой статьи) версии Blender будет интегрирована новая версия с названием CyclesX, которая сможет похвастаться фантастической скоростью. (а уж после RenderMan она кажется просто невероятной!)
В разбор попадёт альфа-версия CyclesX в одной из ранних версий Blender 3.0.
Настройки рендера
С самого начала разберёмся с ключевыми настройками. После - вторичные.
Пункт с выбором Device я пропущу, тут итак всё очевидно.
• Секция Viewport в ответе за то, сколько семплов будет отрендерено во вьюпорте, есть ли фильтрация шумов (о них после еще отдельно покажу интересный ход конём);
• Секция Render в ответе за то, что происходит по нажатию на меню Render > Render Image или же Render Animation.
По поводу Denoise.
Мной давно замечено и не раз подмечено на форумах, что тот Denoise алгоритм, что включается галочкой перед рендером, отличается от того, который используется в Compositing. И, что очень странно, вторая опция работает чище и детальней. Объясню как подключить и дальнейшие демо-кадры будут именно с ним идти. Для затравки вот такое сравнение - сверху тот, что включается в настройках рендера, снизу - через Compositing.
Во всех деталях заметно улучшение по детальности картинки, при том, что настройки рендера не менялись (кроме отключения Denoising )
Как настроить:
• Отключить Denoising в свитке Samples рендера
• Зайти во View Layer Properties, включить Denoising Data в свитке Passes > Data
• В окне Compositing добавить ноду Denoise и подключить в цепочку вот так:
Поздравляю, Вы великолепны! Теперь устранение шума будет идти через композит и выводиться отфильтрованная от шума картинка будет в слой Composite внутри окна рендера:
Вернёмся к настройкам.
• Adaptive Sampling включает схожий с разобранным раньше RenderMan'ом принцип адаптивного семлирования пикселей. Определяется пороговое значение параметром Noise Threshold, до которого на каждый пиксель рендерится, либо MinSamples, указывающий прямо - сколько нужно потратить семплов на пиксель.
Эти два параметра могут комбинироваться при желании, но как по мне пороговое значение шума - очень надёжная крутилка, определяющая качество финальной картинки.
Выше значение = быстрее, хуже качество, и наоборот - ниже значение = плотней семплы, резче и детальней картинка, времени дольше нужно.
0 - без фильтрации, ровным слоем везде будет столько, сколько указали параметром Samples (выше).
Прекрасный инструмент для предварительного рендера или сокращения времени на кадр.
Light Paths.
Начнём с интересного: Max Bounces. Раздел посвящён опредению глубины отражений, прохождению лучей сквозь поверхности и в глубь поверхностей.
Первая настройка - Total - отвечает за общее допустимое количество отскоков лучей. Все последующие идут именно в том порядке, что указаны в списке - сперва будут все "цвета" - матовые значения поверхностей. После по приоритету - поверхности, отражающие хотя бы что-нибудь помимо отображения цвета. За ними - прозрачные объекты, за ними - объемы вроде тумана. Последний пункт для меня остаётся загадкой, поскольку сколько я его не крутил, эффекта не проявляется. Допускаю, что это на альфа-версии CyclesX такое поведение.
Во время этих тестов выяснил интересную особенность: Transmision считается парами, в случае, если прозрачная поверхность задаётся объемной поверхностью, как у меня - тонким листом стекла. То есть - имеем две стороны стекла, через которые луч должен пройти - добавляем +2 в Transmission.
Для дальнейшего теста я чутка изменил материал стекла, сделав его менее плотным и насыщенным, чтобы на просвет было видно все светящиеся сферы позади.
Clamping.
Два параметра, определяющие предельные значения интенсивности для света - прямого и отражённого.
Срезав значения от стандартных Direct Light: 0, Indirect Light: 10 до 2/2, получим такую картинку:
Блики погасли, заполняющий фоновый свет уже вовсе не заполняющий, картинка стала очень ровной, без пересветов, без контраста.
Приятный бонус - сократилось время рендера, почти втрое.
Неприятный бонус - точность передачи картинки страдает.
Caustics
В этой секции назначаются настройки каустики всех типов. На счёт достоверной каустики для стекла можно не переживать - её не будет. CyclesX - движок не Bidirectional модели - он не просчитывает достоверное прохождение фотонов через поверхности. Но, приблизительную картинку или прозначные стаканы и жидкости сделать сможет.
Следующая за каустикой секция позволяет упростить просчёт отраженных лучей, делая финальную картинку менее точной, но при этом сокращая время на кадр.
Секция Simplify так же отвечает за упрощение и ограничение разных аспектов с целью сокращения времени на кадр.
Performance
В этой секции находятся настройки быстродействия - ограничение по количеству потоков, структура акселерации, сохранение буфера.
Потоки.
Используя GPU для рендера, мощности процессора так же задействуются. И большее количество потоков позволяет получить результат быстрей.
Время на кадр:
• Стандартныe настройки - 00:18.47 (используются все потоки + GPU)
• Fixed, 1 поток (+GPU) - 00:23.40
Структура ускорения.
Эта секция отвечает за баланс между подготовительным этапом к рендеру и самим временем рендера. Вполне возможно, что изменения заметны при рендере анимации, но на статичном кадре с целой кучей продублированной геометрии никакой заметной разницы не было в любой комбинации параметров.
Время на кадр:
• [o] Use Spatial Splits; [v] Use Hair BVH; BVH Time Steps: 0 - 00:45.26
• [o] Use Spatial Splits; [v] Use Hair BVH; BVH Time Steps: 16 - 00:45.14
• [v] Use Spatial Splits; [v] Use Hair BVH; BVH Time Steps: 0 - 00:45.33
(разница в миллисекундах)
Final Render
Оба параметра - Save Buffers, Persistent Data - призваны ускорять рендер, как и предыдущая секция, но изменений так же не дали.
Это запросто может быть из-за ранней версии CyclesX, которую я тестирую.
Color Management
Здесь можно настроить финальный вид картинки, контрастность, баланс света. Более того, эти крутилки работают и во время и после завершения рендера в том числе, что бывает очень и очень на руку.
Не все настройки показал, но здесь - самые основные, которые больше всего влияют на картинку. Со временем и остальные Вы сможете сами для себя открыть, попробовав разные сценарии света, сцены и геометрии.
На этом знакомство с настройками CyclesX завершаю, следующую часть постараюсь сделать по азам материалов.