UsdPreviewSurface materials not displaying in usdview with Storm renderer (Hydra 2.0)

Hi,

I’m running into an issue where UsdPreviewSurface materials are not displaying in usdview using the Storm renderer (Hydra 2.0) in OpenUSD 26.0. This worked fine in older Hydra 1.0 setups, but now the geometry appears as default gray even when materials are bound.

In my attached example, the material binding doesn’t have any explicit purpose set

rel material:binding = </scene/Materials/orange>

I tried setting the purpose explicitly ( e.g full/preview/allPurpose ) and still doesn’t show.

Is this a known Hydra 2.0 migration issue? or perhaps I am missing something obvious.

Thanks

Donald_Duck.usda (3.7 MB)

It looks like the MaterialBindingAPI is not being explicitly applied to the meshes with the material bindings. Hydra 1 was very forgiving about this; Hydra 2 is … not :slight_smile:

We get quite a few reports of this every few months - e.g., USD Materials | Forums | SideFX

@hamed You can try disabling Hydra 2 with the environment variable @blevin lists here.

Deprecating Hydra 1, eventually - General / Announcements - Alliance for OpenUSD

1 Like

Thanks @robp_sidefx for the link

I ran usdfixbrokenpixarschemas.py over my asset and I see MaterialBindingAPI is now explicitly applied but still they are not being shown.

If I’m understanding this correctly, does this mean that once the full Hydra 2.0 migration is complete, USDPreviewSurface will no longer be supported?

Hi @hamed. USDPreviewSurface remains supported. If you have an asset where USD preview materials are not working under Hydra 2 despite MaterialBindingAPI, feel free to share here or file a github issue.

In general, it is true that Hydra 2 is more strict regarding application of USD API schemas, and that has caused us work to upgrade our own assets to conform. If I understand correctly, the intention behind this choice was an efficiency measure: allowing the runtime adapters to only engage in doing extra work when the API is present.

hope this helps,
B

Hi @blevin thanks for the clarification.

I’ve attached a sample scene after running the usdfixbrokenpixarschemas script on it. I will also open a GitHub issue to track this issue.

Donald_Duck_FixedSchemas.usda (3.7 MB)