Replies: 2 comments
-
Signed and Unisigned distance fields in VDB have more data associated with them than just their active values. Importantly, inactive values in signed distance fields have the same appropriate signs as active values, where positive (+) values represent the outside of the field and negative (-) values represent the inside. The background value of a level set also holds intrinsic information, mainly representative of the maximum possible world space distance from the surface to which valid distance values are query-able. When you convert a valid level set to a mesh, the algorithm will need to check at least some of these inactive values (as well as the grids background value) to accurately pinpoint the represented iso surface. What you're doing here is only copying the active states but leaving any potential inactive neighbours as zero initialized. Should I would try changing your value iterator from
You can definitely achieve what you're trying to do, but it's a bit awkward - making sure that all intrinsic details of a valid level set are propagated to a Vector grid and back to a float grid will be fiddly. |
Beta Was this translation helpful? Give feedback.
-
Here is a basic sample converting them and dumping the result into a mesh:
Unfortunately the besides I've copied transform too, the result on both meshes are different.
Any idea on that? thank you!
Beta Was this translation helpful? Give feedback.
All reactions