Dreamworks' Moonray Renderer to become open source

Could become another render option for Blender in the not-to-distant future. Here is their press release:

DreamWorks Animation Announces Plans to Release MoonRay as Open Source Software

Glendale, Calif. – August 5, 2022 – DreamWorks Animation announced their intent to release their proprietary production renderer, MoonRay, as open source software later this year. MoonRay is DreamWorks’ state-of-the-art MCRT renderer, which has been used on feature films such as How to Train Your Dragon: The Hidden World, Croods: A New Age, The Bad Guys, and the upcoming Puss In Boots: The Last Wish. MoonRay was developed by DreamWorks’ world-class engineers, and includes an extensive library of production-tested, physically based materials, a USD Hydra render delegate, multi-machine and cloud rendering via Arras.

“We are thrilled to share with the industry over 10 years of innovation and development on MoonRay’s vectorized, threaded, parallel, and distributed code base,” said Andrew Pearce, Vice President of Global Technology at DreamWorks. “The appetite for rendering at scale grows each year, and MoonRay is set to meet that need. We expect to see the code base grow stronger with community involvement as DreamWorks continues to demonstrate our commitment to open source”.

DreamWorks’ in-house Monte Carlo Ray Tracer, MoonRay, was designed from the start with a focus on efficiency and scalability, with the mantra to “…keep all the vector lanes of all the cores of all the machines busy all the time with meaningful work”, as well as provide modern features for full artistic expression. It can deliver a broad range of images from photorealistic to strongly stylized. MoonRay is built on a leading-edge, highly-scalable architecture with no prior legacy code, allowing quick, feature-film quality artistic iteration using familiar tools. Additional high-performance features include support for distributed rendering, a pixel matching XPU mode that offers improved performance by processing bundles of rays on the GPU as well as the CPU, ray processing via Intel® Embree, shader vectorization utilizing Intel® ISPC compilation, and bundled path tracing. MoonRay includes a USD Hydra render delegate for integration into content creation tools that support the standard.

“We are proud of our close collaboration with DreamWorks on MoonRay with its impressive photoreal ray tracing rendering performance supported by open source Intel Embree and Intel Implicit SPMD Program Compiler (Intel ISPC), both distributed in the Intel oneAPI Rendering Toolkit. MoonRay’s features like hair and fur rendering were developed in collaboration with Intel. The resulting improvements are included in Intel® Embree’s ray tracing kernel library and exemplify how using open software benefits the entire ecosystem. By adopting Intel ISPC, MoonRay embraces vector instruction parallelism for dramatic performance improvements. Intel looks forward to new opportunities to apply oneAPI cross-architecture, cross-vendor support to this open source project for all creators,” said Jim Jeffers, Sr. Director, Sr. Principal Engineer, Intel Advanced Ray Tracing.

MoonRay utilizes DreamWorks’ distributed computation framework, Arras**,** also to be included in the open source code base, to provide innovative multi-machine and multi-context support. Multi-machine rendering speeds up the interactive display for the artist, decouples rendering from the interactive tool which increases interactive robustness. Using MoonRay and Arras in a multi-context mode, the artist can simultaneously visualize multiple lighting conditions, varying material properties, multiple times in a shot or sequence, or even multiple locations in an environment.

“We see using MoonRay with Arras on Microsoft Azure as a game-changer in the hands of artists, providing faster iterations on lighting, and also enabling multi-context rendering. As visual effects and animation content grows in complexity, so does the compute requirements to create and render. Microsoft Azure allows studios and artists to access MoonRay with Arras for the first time and power the platform with a broad portfolio of compute capacity in the cloud and scale on demand across the globe”, said Simon Crownshaw, Microsoft’s Director of Business Strategy for Media & Communications.

“MoonRay has been a game-changer for our productions. We have over a billion hours of use at DreamWorks. As the open source community continues to embrace and enhance it we’ll see significant benefits to the animation and visual effects industry as well as academia,” said Bill Ballew, Chief Technology Officer at DreamWorks.

DreamWorks intends to make MoonRay available under the Apache 2.0 license. Further information and updates will be available at OpenMoonRay.org

12 Likes

Since there’s already USD support in Blender, integrating it into Blender shouldn’t be too difficult at all :thinking: I’m guessing even if there’s no official support, there will be an add-on for it

I could be wrong, but I think the missing bit is hydra support in Blender. Once we get that, then I think theoretically any renderer that supports Hydra supports Blender.

2 Likes

The Blender AMD Hydra plug-in should allow you to use it.

3 Likes

This. And actually we’re hoping to get the this hydra support built in directly to blender so any hydra delegates can just be plugged into blender

13 Likes

Their sizzle real contains 3 scenes from blendswap.com

1 Like

so if it’s open source with Apache 2.0 license that mean it could come to blender as an addon just like Cycles. this is really great news :slight_smile:

4 Likes

what advantages does it have compared to cycles?

4 Likes
1 Like
1 Like

MoonRay for Blender

https://github.com/Christopher-Hosken/moonray_for_blender
MoonRay for Blender is a render engine addon which allows users to utilise Dreamworks’ MoonRay Production Renderer inside of Blender.

4 Likes
2 Likes

I see that there is addon to use it but, I see as well that MoonRay is not yet available for downloading, there is just the change to express interesting on use it for testing.
Is anyone able to download the alpha filling the contact form?

Hmm… Does MoonRay support Ptex since its used for animated movies?

September MoonRay Update

Hello from DreamWorks!

Here is the September update on our progress towards open sourcing MoonRay.

As we stated in the press release, our target is late this year for opening the GitHub repo and making the source code available. We’re currently working with a few pre-release partners to ensure the Linux build process is a stable and robust experience.

  • We have migrated our build system generator to CMake, and are working on using it internally as well as for the external releases.
  • We are working on removing the last remaining internal dependencies, which will allow for building and running MoonRay both with and without a Docker container.
  • We have created a lean ‘mini-coordinator’ program for multi-machine rendering to simplify getting started with Arras + MoonRay multi-machine rendering.
  • We have started early beta testing of MoonRay with select partners, to start testing MoonRay outside of the DreamWorks environment.
  • We have started inventorying and updating documentation along with creating a website for external consumption.
  • We are using Animal Logic’s ALab USD scene for testing our hdMoonRay Hydra delegate on a complex scene.

Ongoing work

  • Documentation, focused first on the end-user.
  • Docker container improvements
  • Responding to beta issues in more diverse environments than our internal environment
  • Working to get a workflow to accept external contributions and publish back to the community

Thank you again for your interest in MoonRay, and for your patience as we work towards a sustainable initial release.

The MoonRay Team

10 Likes

Sounds good… should run best on the new AMD Zen4 with its AVX 512 support.

A Spooky October Update!

(Above: ALab v2 rendered in MoonRay - Video will be released shortly)

Hello from DreamWorks!

Here is the October update on our progress towards open sourcing MoonRay. Much of the update is continuation of work already in progress, and the ongoing testing and validation of that work in our environment.

We are still aiming for late this year for opening the GitHub repo and making the source code available. We’re currently working with a few pre-release partners to ensure the Linux build process is a stable and robust experience.

  • We have migrated our build system generator to CMake, and are working to ensure that this build of MoonRay is used internally as well as for the external releases and for all future development. We are just past the halfway point on this work.
  • We’ve expanded our testing of our Hydra delegate to include the McUsd scene, to help validate the USDPreviewSurface material and associated utility nodes.
  • We are working on removing the last remaining internal dependency, which will allow for building and running MoonRay both with and without a Docker container.
  • We’ve made some improvements to multi-machine rendering and gained some significant efficiency improvements.
  • We are carefully expanding our beta testing with select partners to help test MoonRay in environments outside of DreamWorks.
  • We’re progressing well on our documentation effort, standing up Doxygen for API and iterating on end-user documentation.
  • Aside from the work to open sourcing MoonRay, we’re continuing to add features as part of our continuous support of DreamWorks productions and pushing the look and capabilities of movies being rendered with MoonRay.

Ongoing work

  • Documentation, focused first on the end-user.
  • Responding to beta issues in more diverse environments than our internal environment
  • Working to get a workflow to accept external contributions and publish back to the community

Thank you again for your interest in MoonRay, and for your patience as we work towards a sustainable initial release.

The MoonRay Team

8 Likes

I’m looking forward to.

Moving MoonRay Open Source To Q1 of 2023

Folks, we’re working hard on getting to a clean, ready to build release. We’ve achieved:

  • Testing a specific buildable container environment

  • Iterating and improving our build instructions

  • Establishing a new documentation website for public use

  • Eliminated our internal library dependencies

  • Updated our external library dependencies

  • We’re testing and improving our Hydra delegate on various popular open-source test USD scenes

  • Preparing our GitHub.com repositories for MoonRay

  • Changing our build system and processes to accept and release internal and external contributions

  • Integrating some cool new features from our beta partners

  • Continuing to add new features and fixes to MoonRay, supporting our productions with their rendering needs, such as the coming release of Puss In Boots: The Last Wish

A tremendous amount of work, and we’re excited that we’ve come a long way in a short period of time, and we’re quite eager to start partnering and collaborating with everyone on MoonRay.

Now, we had said we were aiming for a release this year. However, with the year-end approaching, people are making arrangements for holidays and celebrations with family and loved ones. We’ve made significant progress, but we’re not quite ready to release MoonRay at this time. We want to ensure the best possible roll-out experience for everyone, and a little more effort is still required.

With that in mind, we are scheduling MoonRay’s release for Q1 of 2023. We’re looking forward to it, and in the meantime, we wish everyone happy holidays!

8 Likes

This is gonna be great!