[Bf-usd] Proposal to integrate Hydra into Blender

Brian Savery brian.savery at gmail.com
Tue Dec 21 21:57:11 CET 2021


Hello Blender users and fellow USD enthusiasts.  We'd like to propose a new
project from us at AMD and get some feedback before we start working on
it.  And hopefully get some approval from the Blender Foundation.

We recently released our "Blender Hydra Radeon ProRender" addon and think
this could have some real value being added directly into Blender.
https://github.com/GPUOpen-LibrariesAndSDKs/BlenderUSDHydraAddon Or if you
want watch a video on it:  https://www.youtube.com/watch?v=T7l8rVUvMbs

In terms of benefits to users, we see a few.
1.  Allow an easy way for renderers to integrate to Blender via Hydra.
Currently every single render addon duplicates export code, this uses Hydra
as the middle layer so that could be skipped.
2.  Enable USD scene composition via a node tree.  We heavily borrowed this
idea from Houdini, but in the same lines as geometry nodes.
3.  Imported USD data is kept in references that are only brought in at
render time.  This has obvious benefits for memory.  But we do copy the USD
nodetree into the outliner via "Empty" objects, which allows users to
transform, etc the USD objects in the normal Blender way.
4.  MaterialX nodetree.  One problem with all renderers in Blender is there
is no standard way to describe material nodes.  We tried to solve this by
making a MaterialX nodetree which is becoming the open standard in other
products like Houdini, Autodesk, substance etc.

Some todo's I see for bringing this into mainline.
1.  Aligning with the current import / export USD work that is being done.
We currently translate the blender data via python and the USD python
binding but obj.  Moving this directly into blender's code where it could
use the internal C api would be advantageous.
2.  Writing a proper scene delegate for Blender's data to Hydra.
3.  Making the MaterialX workflow a bit simpler.  It might/should be
possible to just use blender's nodes and translate them at render time to
MaterialX nodes.
4.  Integrating the USD data representation in Blender a bit more tightly.
Using the empty objects for each USD prim is a bit awkward.

We think this workflow would have a great benefit for users, both in the
interop with other apps, and allowing a more "industry standard" USD
workflow.  Comments, thoughts?
Brian and the AMD team.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.blender.org/pipermail/bf-usd/attachments/20211221/37306ba3/attachment.htm>


More information about the Bf-usd mailing list