Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support shapes with blendshapes but no skinning when using the CPU computation #1757

Conversation

cameronwhite
Copy link
Contributor

Currently, a shape that has blendshapes but no skinning isn't visible when using the CPU ExtComputation, but the GPU version in Storm behaves okay.
To reproduce, load the attached file with usdview blendshapes.usda --camera /cameras/camera1 and use a delegate such as Embree, or set USDSKELIMAGING_FORCE_CPU_COMPUTE=1 in the environment to reproduce with Storm

…mputation.

Previously UsdSkelSkinPointsLBS() would be invoked with empty influences
in this case, which would move all the points to the origin. There's no
need to do any extra work if there are only blendshapes.
@cameronwhite
Copy link
Contributor Author

(Github's diff isn't aligned very well, but it's actually just a one line change + indentation shift if you view with whitespace disabled)

@spiffmon
Copy link
Member

spiffmon commented Feb 2, 2022

Thank you @cameronwhite - we'll try to get this looked at soon! Could I ask you, though, to go as far as you can with a testcase? I think that could be as simple as a source usda file (e.g. your attached file) with an embedded camera that demonstrates the problematic scenario, added in a suitably named subdir of usdImagingGL/testenv ? We can take care of the rest of the harness... (and we're making progress on being able to publish the internal tests we have here, with NVidia's help) but having it be part of the PR will help!

@cameronwhite
Copy link
Contributor Author

Sure! I'll take a look at adding a test there

@cameronwhite
Copy link
Contributor Author

It looks like the existing test file for testUsdImagingGLSkelBlendShapes does exhibit the issue if it's run with the CPU computation (USDSKELIMAGING_FORCE_CPU_COMPUTE=1).
So, I think it would just be a matter of having the test harness render versions for the CPU and GPU skinning, similar to what it looks like testUsdImagingGLUsdSkel does

@spiffmon
Copy link
Member

spiffmon commented Feb 3, 2022

Haha - thanks @cameronwhite ; rookie move I was looking at the release branch, where we hadn't yet published any of our tests!

@jilliene
Copy link

jilliene commented Feb 4, 2022

Filed as internal issue #USD-7173

@pixar-oss pixar-oss merged commit e60d9e7 into PixarAnimationStudios:dev Mar 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants