USDScene : Fix loading of animated materials and lights#1501
USDScene : Fix loading of animated materials and lights#1501murraystevenson merged 1 commit intoImageEngine:RB-10.6from
Conversation
| /// Reads a ShaderNetwork from a material output, typically obtained from `UsdShadeMaterial::GetOutput()`. | ||
| /// Returns `nullptr` if `canReadShaderNetwork() == false`, usually because the output has no connected source. | ||
| IECOREUSD_API IECoreScene::ShaderNetworkPtr readShaderNetwork( const pxr::UsdShadeOutput &output ); | ||
| IECOREUSD_API IECoreScene::ShaderNetworkPtr readShaderNetwork( const pxr::UsdShadeOutput &output, pxr::UsdTimeCode timeCode = pxr::UsdTimeCode::Default() ); |
There was a problem hiding this comment.
I took advantage of IECoreUSD technically (but ridiculously) still being in contrib to just change the function signature here. I can add an overload if we think maintaining ABI is important to anyone.
|
Looks good to me. The only question I'm left with after reading through it is why shaderNetworkMightBeTimeVarying needs a cache, but lightMightBeTimeVarying doesn't - there's probably a reasonable explanation though, perhaps just because light networks are generally expected to be so much smaller than other shader networks. Regardless, this is just a performance question, and doesn't affect correctness, so I don't think it should hold up getting this merged. |
For the same reason that we were already caching calls to |
No description provided.