Анимационная студия Dreamworks анонсировала открытие кода системы рендеринга MoonRay, использующей трассировку лучей на основе численного интегрирования по методу Монте-Карло (MCRT). Продукт применялся для рендеринга анимационных фильмов “Как приручить дракона 3“, “Семейка Крудс 2: Новоселье“, “Плохие парни” и “Кот в сапогах 2: Последнее желание“. В настоящий момент уже запущен сайт открытого проекта, но сам код обещают опубликовать позднее на GitHub под лицензией Apache 2.0.
Система разработана с нуля, избавлена от зависимости от устаревшего кода и готова для создания профессиональных работ, уровня полнометражных фильмов. Изначально при проектировании основное внимание уделялось обеспечению высокой эффективности и масштабируемости, в том числе поддерживается многопоточный рендеринг, распараллеливание операций, использование векторных инструкций (SIMD),
реалистичная симуляция освещения, обработка лучей на стороне GPU или CPU, реалистичная симуляция освещения на базе трассировки путей, рендеринг объёмных структур (туман, огонь, облака).
Для организации распределённого рендеринга используется собственный фреймворк Arras, позволяющий разносить вычисления на несколько серверов или облачных окружений. Код Arras будет открыт вместе с основной кодовой базой MoonRay. Для оптимизации расчёта освещения в распределённых окружениях может использоваться библиотека трассировки лучей Intel Embree, а для векторизации шейдеров – компилятор Intel ISPC. Возможна остановка рендеринга в произвольный момент и возобновление операций с прерванной позиции.
Пакет также включат большую библиотеку материалов на основе физически корректного рендеринга (PBR), протестированных в рабочих проектах, и прослойку USD Hydra Render Delegates для интеграции с привычными системами создания контента, поддерживающими формат USD. Возможно применение различных режимов генерации изображений, от фотореалистичных до сильно стилизированных.
Благодаря поддержке распределённого рендеринга аниматоры могут отслеживать результат в интерактивном режиме и одновременно визуализировать несколько вариантов сцены с разными условиями освещения, разными свойствами материалов и с разных точек зрения.