Hello!
My goal is to add full support for UsdSkel
into the Autodesk wasm branch. It appears that SkelAnimations end up in Hydra as SPrims of type extComputation
, and during the syncing process some compute shaders are run to calculate what seems to me to be the full transformation matrix that will then be applied to the associated mesh.
I was able to add support for SPrims of type extComputation
, in the sense that I see my prims in the wasm side have their dirtyBits set similarly to how they are set when I run usdview locally, and they are being processed during the Sync updates however I have a few questions on how to tie this all together, as now I need to relay the data from the update back to Three.js
- I don’t see any compute action happening on the wasm side, since I’m currently trying to get this to work with the ThreeJsRenderDelegate, it would make sense to me that the same Gpu computation that’s happening in usdview wouldn’t happen in the browser, however I see a cpu fallback computation, do I need to build USD in some special way to enable that?
- Once I have my
HdExtComputation
and I’m running the Sync function, is it correct that I’d then pass the computed transformation back to the JS side? And maybe the most important and most basic question but I can’t seem to figure out where that transformation data is. I see a lot of ComputationInputDescriptor and OutputDescriptor and I’m having trouble figuring out where or if there is some ‘currentTransform’ or ‘computationTransform’ or some equivalent
Really appreciate any help and sorry if some of the above is conceptually wrong
Andy