USD Hydra support in Blender

This is really interesting. I can see it having huge benefits for large data sets. It’s a shame that blackbird is probably not going to see the light of day.
From the blackbird renderer thread it sounds like I could use hdcycles as a hydra delegate…. Is that right @bsavery ? Im guessing that hdcycles doesn’t use material x though?

Anyway, I’m interested in using pro render too. Will be curious to see how this works in comparison to the pro render add on.

It would be great to see cycles x as a hydra delegate with material x.

@bsavery

Is there going to be a new release of the addon for v3.0 given it will be out very soon?

1 Like

Just posted an update today Version 1.1 of the Hydra plugin!

Support for Animated USD files, Pixar’s RenderMan in Hydra, Blender 3.1 and 3.2 and more!

Rendered with RenderMan

12 Likes

Thanks for the work on this @bsavery. It’s great to see this progress with Hydra support.

I know you did some videos in the past but maybe you could make a refresher video explaining again how this tech works in Blender with this or other scene example? Including some shading examples?

Also from your experience what render engine(s) offers the best MaterialX support so far? How stable MaterialX now? What are the best places to follow the development and adoption of MaterialX?

It’s crazy. One of the devs on Substance Modeler threw a 2.6 billion triangle raw export straight into UE5 using USD. No problem.
Sadly, Blender’s USD addon is only half finished. It can’t even import instances.

Arnold. MatX biggest contributors have been Adesk and Substance team. MatX(and the new Adobe surface shader) are pretty much modeled on the Arnold standard shader.

I’d say it’s good news. I like Arnold’s Standard Surface shader. Very easy to use and more major renderers adopting it like Redshift and Octane.

Is there are good one place to follow the development of MaterialX? I’d like to understand how far it progressed? What goals are still not reached and how long till it’s finished and ready for production adoption?

I know it’s available in some tools but is it ready for production? Can we start building shader libraries now without worrying we’ll have to rebuild it again if MaterialX change something in it’s core due to it’s early/not complete development cycle?

This is the best place to start https://www.materialx.org/

Adesk standard surface shader white paper is a good read too. https://github.com/Autodesk/standard-surface

Just to be clear. This add-on does handle the instances. Blender’s IMPORTER might not?

Hi There. I actually participate in the Academy Software MaterialX development.

I’d say MaterialX is production ready. The remaining questions IMO are more about MaterialX as a format being somewhat agnostic to the shader type. For example

  • There are a few “uber” type shaders available, Disney, Standard Surface, USDPreviewSurface
  • There are also many cycles style BSDF nodes to roll your own shaders.
  • ALSO there is the Pixar / ILM Lama style layering nodes which are somewhere in between the two.

So there is a bit of I guess I’d call it uncertainty about what a renderer which supports MaterialX will support.

2 Likes

Sorry mate, I was talking about the Blender dev implementation.

I don’t quite understand that part? Is that because those “uber” shaders are treated as a native MaterialX node-group/node-implementation and, as such, won’t be translated to a lower level form consumable by any MaterialX renderer?

As a more general question: If a Maya material uses the aiFlakes node or a Curvature surface shader, does that get translated into an interoperable MaterialX form consumable by any other MaterialX renderer? Or are only a certain subset of nodes supported in the format?

This is where I feel a bit lost too. As far as I understand MaterialX is supposed to be like a “universal” language to allow to talk between different renderers translating shading newtorks. But from what @bsavery said it seems like if a renderer doesn’t have some shader blocks that are supported in MaterialX it won’t be possible to translate it between different engines, right?

If so it the the responsibility of MateriaX to expand it’s “language” of blocks or it’s up to the render engine to conform to common standards?

If I understood it wrong, please, correct me.

Well maybe I should clarify my previous statement or explain.

For all the “standard” MaterialX nodes they have GLSL or OSL code that can be generated for them. A renderer however could implement MaterialX to use for example OpenCL code from the node. Or another example is I think RenderMan does all the texture nodes in OSL from MaterialX but uses its own BSDF nodes.

So anyway I think if I was to clarify my statement is that MaterialX gets close to a standard material across renderer with some caveats in some implementations. But it’s definitely the best we have!

1 Like

This makes more sense. Thank you.

I guess it’s still a two way street if I understood it correctly. Render engine should implement MaterialX support on its side with full OSL support. Or at least rewrite its nodes in way they can be exported as OSL code that is compatible with MaterialX specifications.

But those scenarios with “uber” shaders or complex layered materials is where I can’t wrap my head around how it’s going to work. I guess MaterialX devs probably have some idea how to deal with this.

Anyway, I am very excited for this tech and unification of shading standards. It can be such a relief for artist to be able to use any asset in any engine and not worry about reworking/converting the shading.

1 Like

Hello everyone,

I’ve recently started testing Hydra, but I’m facing some difficulties. I can’t seem to find the USD Nodes, MaterialX, and Hydra options in the Option Properties Editor. Am I missing something here(I already install the plugin)?

Thank you for your help