Dreamworks libero el código del sistema de renderizado MoonRay
Se dio a conocer la noticia de que el famoso estudio de animación Dreamworks ha tomado la decisión de liberar el código para el sistema de renderizado MoonRay, que utiliza el ray tracing basado en Monte Carlo Numerical Integration (MCRT).
El sistema está diseñado desde cero, no depende del código heredado y está listo para crear trabajos profesionales de largometraje.
El diseño inicial se centró en el alto rendimiento y la escalabilidad, incluida la compatibilidad con la representación multiproceso, la paralelización de operaciones, el uso de instrucciones vectoriales (SIMD), la simulación de iluminación realista, el procesamiento de rayos en el lado de la GPU o la CPU, la simulación de iluminación realista basada en la ruta trazado, representación de estructuras volumétricas (niebla, fuego, nubes).
“Estamos encantados de compartir con la industria más de 10 años de innovación y desarrollo en el código base vectorizado, enhebrado, paralelo y distribuido de MoonRay”, dijo Andrew Pearce, Vicepresidente
“El apetito por renderizar a escala crece cada año, y MoonRay está preparado para satisfacer esa necesidad. Esperamos ver crecer la base de código más fuerte con la participación de la comunidad a medida que DreamWorks continúa demostrando nuestra apuesta por el código abierto”
Para organizar el renderizado distribuido se utiliza el framework propio de Arras, que permite distribuir los cálculos a varios servidores o entornos en la nube. El renderizado multimáquina acelera la visualización interactiva para el artista, pues desacopla el renderizado de la herramienta interactiva que aumenta la robustez interactiva.
Con el uso de MoonRay y Arras en un modo multicontexto, el artista puede visualizar simultáneamente múltiples condiciones de iluminación, variando propiedades del material, múltiples veces en una toma o secuencia, o incluso múltiples ubicaciones en un ambiente.
Para optimizar el cálculo de la iluminación en entornos distribuidos, se puede utilizar la biblioteca de trazado de rayos Intel Embree y el compilador Intel ISPC para vectorizar shaders. Es posible detener el renderizado en un momento arbitrario y reanudar las operaciones desde la posición interrumpida.
“Estamos orgullosos de nuestra estrecha colaboración con DreamWorks en MoonRay con su impresionante rendimiento de representación de trazado de rayos fotorrealista compatible con Intel Embree y el compilador de Intel de código abierto SPMD implícito (Intel ISPC), ambos distribuidos en Intel oneAPI Rendering.
Intel espera nuevas oportunidades para aplicar una arquitectura cruzada oneAPI, el soporte entre proveedores para este proyecto de código abierto para todos los creadores”, dijo Jim Jeffers, director sénior, ingeniero principal sénior de ray tracing avanzado de Intel.
El paquete también incluye una gran biblioteca de materiales de representación física (PBR) probados en proyectos de producción y una capa USD Hydra Render Delegates para la integración con los sistemas heredados de creación de contenido USD.
Es posible utilizar varios modos de generación de imágenes, desde fotorrealistas hasta altamente estilizados. Con soporte para renderizado distribuido, los animadores pueden monitorear el resultado de forma interactiva y renderizar simultáneamente múltiples versiones de la escena con diferentes condiciones de iluminación, diferentes propiedades del material y desde diferentes puntos de vista.
Las funciones de MoonRay, como la representación del cabello y el pelaje, se desarrollaron en colaboración con Intel. Las mejoras resultantes se incluyen en la biblioteca del kernel de trazado de rayos de Intel Embree y ejemplificar cómo el uso de software abierto beneficia a todo el ecosistema. Al adoptar Intel ISPC, MoonRay adopta el paralelismo de instrucciones de vectores para lograr mejoras dramáticas en el rendimiento.
Como ya se mencionó MoonRay utiliza el marco de computación distribuida de DreamWorks, Arras, que también se incluirá en la base de código fuente abierto, para proporcionar soporte innovador para múltiples máquinas y múltiples contextos.
El producto se utilizó para renderizar las películas animadas «Cómo entrenar a tu dragón 3», «The Croods 2: Housewarming», «Bad Boys» y «Puss in Boots 2: The Last Wish «. Por el momento, el sitio del proyecto abierto ya se ha lanzado, pero se promete que el código en sí se publicará más adelante en GitHub bajo la licencia Apache 2.0.
Finalmente, si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.