Dreamworks обяви откриването на системата за изобразяване MoonRay

Студиото за анимация 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. Възможно е да се използват различни режими за генериране на изображения, от фотореалистични до силно стилизирани. С поддръжка за разпределено изобразяване, аниматорите могат да наблюдават резултата интерактивно и едновременно да изобразяват множество версии на сцената с различни условия на осветление, различни свойства на материала и от различни гледни точки.

Източник: opennet.ru