-
Improvement
-
Resolution: Unresolved
-
Low
-
None
-
None
-
None
It's valid for Houdini Geometry to contain no points but have attributes which will be initialised on to any geometry created or merged into the SOP stream. In the past, the consensus has been that the OpenVDB Points Convert SOP should produce the same Houdini Geometry output as the original Input. This is not the case for the prior scenario. As OpenVDB Points requires valid topology (leaf nodes) to store attributes, it produces an empty output on subsequent conversions as no topology is initialized on empty geometry.
There is some uncertainty with what to do here. A naive approach with the current architecture would be to create an empty (inactive) leaf node which can store these attributes and subsequently reproduce the correct Houdini Geometry. However this feels somewhat hacky and no longer correctly represents the state of the OpenVDB Points tree with methods such as:
tree.empty();
if (tree.beginNode()) { ... }
etc
This data may also contribute to the overall VDB bounds and drawing in the Houdini view-port with SOPs like the OpenVDB Visualize SOP.
An outcome of this ticket may be that we do not support this case, but a warning should at least be added in this scenario.