So, I've finally managed to compile Moonray and play with it.
TBH, this was really not as straightforward as it ought to have been:
- some Optix-using code failed to compile against latest Optix SDK, code had to be patched.
- the build instructions at [4] aren't completely foolproof either (don't quit the container before you manage to snapshot it, or else)
When I finally got a clean compile, I tried to render a USD scene [1] ... it turns out Moonray only reads its own proprietary format (RDL) and you need to convert like so (I haven't found this documented anywhere, [3] now fails to load for me)
hd_usd2rdl -in Attic_NVIDIA.usd -out Attic_NVIDIA.rdla
To quote [2]:
Hydra Render Delegate
MoonRay comes with a Hydra Render Delegate that is compatible with any DCC tool with Hydra support, for interactive preview rendering. Upon finalization of the Hydra API specification, MoonRay will provide support for final frame batch rendering, and its Hydra Render Delegate will be the supported path to transform USD into MoonRay's internal RDL scene format.
The conversion is not without hiccups:
Warning: in Tf_PyLoadScriptModule at line 122 of /build/USD-prefix/src/USD/pxr/base/tf/pyUtils.cpp -- Import failed for module 'pxr.Glf'!
ModuleNotFoundError: No module named 'pxr'
The render is also problematic, is spits a long list of stuff like this (fails to load textures, basically):
Invalid image file "/tmp/Attic_NVIDIA/Materials/PreviewSurfaceTextures/curtain_mat_inst_Roughness.png": OpenImageIO could not find a format reader for "/tmp/Attic_NVIDIA/Materials/PreviewSurfaceTextures/curtain_mat_inst_Roughness.png". Is it a file format that OpenImageIO doesn't know about?
Resulting render looks ugly (no textures)
In conclusion: fantastic that Dreamworks decided to release Moonray, but at this point, it's still got some very sharp edges.
[1] this one: https://developer.nvidia.com/attic-nvidia
[2] https://openmoonray.org/about
[3] https://docs.openmoonray.org/
[4] https://docs.openmoonray.org/getting-started/installation/bu...