HDK
|
The pure virtual method GEO_Primitive::getBBox() now returns bool
instead of int
to more accurately reflect the expected result. The semantics of the return value has not changed.
The GEO_Detail::get*BBox
() and GEO_Detail::get*BSphere
() methods also now return bool
instead of int
for the same reason. Previously, some of these were also unnecessarily virtual. All of these methods are now non-virtual. Another minor change here was the renaming of the updateRequired
parameter for these methods to accurate_bounds
which is a clearer name for this flag.
The virtual method FS_InfoHelper::getModTime()
and various timestamp value types in libFS and libOP have been changed from int
to time_t
, ie. from 32-bit to 64-bit signed integers. Code inheriting from FS_InfoHelper
will require a signature change for getModTime()
. Callers should also try to maintain their timestamp values as time_t
now as well to avoid Y2038 bugs.
Note however FS_IndexFile
(therefore HDAs) have not changed their file format so these timestamp values still serialize out as 32-bit integers.
The XUSD_HydraRenderBuffer.h class was removed. For cryptomatte support in render delegates, please now see HUSD_CryptomatteResource.h
The USD library deprecated instantaneousShutter in favour of disableMotionBlur. Render delegates should be aware that Houdini now uses disableMotionBlur.
The DOP_Node::preNetworkProcessing()
and DOP_Node::postNetworkProcessing()
methods have been removed. These were primarily used to clear old cached data from a previous timestep or when the simulation was reset, but traversed all child DOP nodes rather than only the nodes being cooked. The replacement is to implement DOP_Node::ensureCachedDataIsValid()
which is called from cookMe()
when the DOP is cooked. Comparing DOP_Node::getLastSimVersion()
to DOP_Engine::getModVersion()
can be used to identify if the simulation was reset or a frame was resimulated since the last cook. Any DOPs that override cookMe()
should ensure that DOP_Node::ensureCachedDataIsValid()
is called if the parent cookMe()
method is not called.
The Mocap Stream SOP now uses the newMocapStreamDevice to install custom devices. This is done automatically for all dynamic objects found in the HOUDINI_MOCAPSTREAM_DSO_PATH.