You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
However the _useFastPlayback state was forgotten as the boundingBox(...) implementation relies on the pShape->boundingBox().
We end up in a situation where the ProxyDrawOverride is always bounded, but in playback mode the bounding box returns a default constructed (invalid) bounding box which fails to render.
Suggested fixes
Either undo the ProxyDrawOverride->isBounded implementation, which might not be great considering the explanation in the comment.
Alternatively in the proxyShape.cpp instead of returning MBoundingBox() return a similar MBoundingBox as the MPxDrawOverride default implementation which claims:
Default implementation returns a huge bounding box which will never cull the object.
Description of Issue
Playback mode in the PxrReferenceAssembly is broken with the recent release.
Steps to Reproduce
Playback
.Expected drawing as with 18.09, getting nothing.
Please note that the
Expanded
mode works.Cause
In
proxyShape.cpp
isBounded is dependent on various states, including_useFastPlayback
andPIXMAYA_ENABLE_BOUNDING_BOX_MODE
:https://github.com/PixarAnimationStudios/USD/blob/master/third_party/maya/lib/usdMaya/proxyShape.cpp#L644
The ProxyShape simply returns a default constructed MBoundingBox if
_useFastPlayback
is set (a few lines below).In the
proxyDrawOverride.cpp
isBounded was replaced with simply returning true in order to break free from the dependency ofPIXMAYA_ENABLE_BOUNDING_BOX_MODE
, as explained in the comments:https://github.com/PixarAnimationStudios/USD/blob/master/third_party/maya/lib/pxrUsdMayaGL/proxyDrawOverride.cpp#L160
However the
_useFastPlayback
state was forgotten as theboundingBox(...)
implementation relies on thepShape->boundingBox()
.We end up in a situation where the
ProxyDrawOverride
is always bounded, but in playback mode the bounding box returns a default constructed (invalid) bounding box which fails to render.Suggested fixes
Either undo the ProxyDrawOverride->isBounded implementation, which might not be great considering the explanation in the comment.
Alternatively in the proxyShape.cpp instead of returning
MBoundingBox()
return a similar MBoundingBox as the MPxDrawOverride default implementation which claims:https://help.autodesk.com/view/MAYAUL/2018/ENU/?guid=__cpp_ref_class_m_h_w_render_1_1_m_px_draw_override_html
In my testing any non-zero bounding box may work but to be sure I constructed a -inf to inf bounding box to fix the issue.
This case could also be handled in the boundingBox() of the DrawOverride itself, but then we would need access to the
_useFastPlayback
state.System Information (OS, Hardware)
Centos7 x64, Maya 2018 Update 4 / Maya 2017 Update 3
Package Versions
Usd 18.11
Build Flags
Nothing relevant
The text was updated successfully, but these errors were encountered: