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

Add support of deformation motion blur #471

Merged

Conversation

hshakula
Copy link
Contributor

@hshakula hshakula commented May 3, 2021

PURPOSE

Adds support of deformation motion blur

EFFECT OF CHANGE

  • Added support of deformation motion blur in the Full quality.
  • New geometry render setting introduced - "Geometry Time Samples". The number of sub-frame samples to compute when rendering deformation motion blur over the shutter open time. The default is 1 (sample only at the start of the shutter time), giving no deformation blur by default. If you want rapidly deforming geometry to blur properly, you must increase this value to 2 or more. Note that this value is limited by the number of sub-samples available in the USD stage being rendered. Set to 0 to get all sub-samples available in the USD stage.

TECHNICAL STEPS

  • Use HdSceneDelegate::SamplePrimvar instead of HdSceneDelegate::Get to query the required amount of time samples from the scene delegate.
  • Add new geometry setting - rpr:geomSamples.

NOTES FOR REVIEWERS

Support for UsdSkel deformation blur can be quite easily added for USD 21.05+ only. Because there was no appropriate API to get few samples for a HdComputation before. It was only recently implemented and merged - PixarAnimationStudios/OpenUSD#1455.

So I plan to open this pull request and move on to adding support of USD 21.05 in our plugin (there are many changes actually). After that, I will implement the UsdSkel deformation motion blur support.

@bsavery
Copy link
Contributor

bsavery commented May 4, 2021

Still in progress?

@hshakula
Copy link
Contributor Author

hshakula commented May 4, 2021

I don't plan to add anything to this PR. UsdSkel deformation blur will be in a separate PR.

@bsavery
Copy link
Contributor

bsavery commented May 4, 2021

My only concern is the motion samples setting. People may intuitively set to 0 to get no motion blur. However I don't see a better option here other than noting in the UI

@hshakula
Copy link
Contributor Author

hshakula commented May 4, 2021

Well, we can change samples range from [0; inf] to [1; inf] and remove this automatic behavior for 0 (when we get all available samples). At least because this does not make sense in the case of UsdSkel where we can generate an infinite amount of samples.

@bsavery
Copy link
Contributor

bsavery commented May 4, 2021

Ok I think that makes more sense.

@bsavery
Copy link
Contributor

bsavery commented May 27, 2021

Hey @hshakula can you fix the merge conflicts

@hshakula
Copy link
Contributor Author

@bsavery, done

@bsavery bsavery merged commit bc9e953 into GPUOpen-LibrariesAndSDKs:develop May 27, 2021
@hshakula hshakula deleted the deformation-motion-blur branch May 27, 2021 20:23
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.

2 participants