Frequently Asked Questions
Will MoonRay be integrated into... [third-party application]?
The team at DreamWorks has developed and supports a Hydra delegate, hdMoonRay, intended as the canonical means for interactive rendering in DCC integrations. This is included in the open-source release.
We also provide a stand-alone GUI application for interactive rendering outside of DCCs.
What about batch rendering?
MoonRay can be run from the command-line using the RDL scene description language for farm applications.
A future version of our Hydra Render Delegate is intended to support batch rendering of USD scenes in addition to the current interactive rendering.
What scene description format does MoonRay use?
MoonRay has a custom scene description language called RDL (Render Data Layer) that is built upon the Lua programming language, which has binary and ASCII variants. The Hydra delegate uses USD as the scene description and translates to RDL.
Is MoonRay free to use?
In line with the Apache version 2 license, MoonRay is free to use and modify for both independent and commercial use.
Is MoonRay in active development at DreamWorks?
Yes! MoonRay is the renderer used for all DreamWorks Animation feature movies. It has a full-time development staff focused on those productions and contributions from the open-source community.
Can I contribute to the development of MoonRay?
We are happy to welcome community improvements to the MoonRay codebase! The MoonRay GitHub repository will provide guidance on contributions and how to become a contributor.
What are the minimum hardware requirements for MoonRay?
MoonRay targets x86-64 hardware with AVX2. AVX1 runs but is not supported and will not be as efficient.
What are the minimum software requirements?
MoonRay currently runs on Linux and is compiled with C++17 and Intel’s ISPC. MoonRay is continually built inside DreamWorks Animation with GCC, Intel’s ICC and Clang.
Do I need to use MoonRay’s GPU hardware acceleration?
No. MoonRay performs well without GPU hardware acceleration.
Do the images created with GPU hardware acceleration differ from those created without?
No. The team has strived to ensure that images are identical with and without hardware acceleration.
Which hardware does MoonRay’s GPU hardware acceleration support?
GPU hardware acceleration is implemented through OptiX/CUDA, meaning the hardware acceleration currently requires Nvidia GPUs.
Is OSL or MaterialX supported?
Not currently. MoonRay will be released with a set of layerable materials such as dielectrics, skin, fabric, hair, etc. New or custom Material/Displacement/Map shaders can be developed via the Shading API.
What hair geometry generators are integrated?
MoonRay does not include direct support for commercially available hair geometry tools. DreamWorks uses internal tools with associated geometry procedurals. MoonRay can render curves directly via a provided RDLCurvesGeometry procedural that accepts a list of curves/vertices.
We also support USD curves via the MoonRay Hydra delegate and through a provided USDGeometry procedural.
The procedural Geometry API can be used or extended to support additional curve formats and allows developers to write custom geometry generators for integrating any studio or commercial hair tools.
What Operating System versions and variants are currently available?
The DreamWorks build environment consists of the following:
- CentOS 7.9.2009
- Linux kernel 3.10
- ICC 19 [VFX RefPlat 2020]
- GCC 6.3 [VFX RefPlat 2020]
- GCC 9.3 [VFX RefPlat 2021]
- Clang 13 [VFX RefPlat 2021]