Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Added epilogue with a few additional hydra issues revealed by more throough testing.

...

  • We provide an Sdr plugin for dealing with VEX shaders used by Karma. SdrShaderProperty objects now support an additional piece of metadata that indicates the Sdf data type of the property separate from the Sdr data type (which is much more limited). It's not entirely clear at this point where or how this additional data gets used from a users perspective. The change was detected by a regression test which outputs shader property data types and default values using python.

Epilogue

  • After running through Houdini's regression tests a few additional challenges were found:
    • Render delegates in their HdLight::Sync virtual functions must clear HdChangeTracker::DirtyVisibility from the dirtybits passed itno the Sync call, or the light prim may remain perpetually dirty. Karma used to simply clear HdLight::AllDirty from the dirtybits. Sumitted an issue on github: https://github.com/PixarAnimationStudios/USD/issues/1719
    • It is no longer possible to call SamplePrimvar to get time sampled values on camera primitives to allow "motion blur" of attributes like focal length. Fixing this will require adding explicit code to make camera attributes accessible through HdSceneIndexAdapterSceneDelegate::_SamplePrimvar.
    • For similar reasons it is no longer possible to use the Get method to evaluate the velocities or accelerations attributes on point instancer primitives. These attributes have never been tracked as primvars, but they used to be accessible because of the fallback mechanisms inside UsdImagingSceneDelegate, which would eventually just get the value from the USD attribute. But because point instancer primitives support primvars, the HdSceneIndexAdapterSceneDelegate::Get method will only allow pulling primvars from that primitive. This hopefully will be fixable by registering these attributes as primvars in the UsdImagingPointInstancerAdapter.