vdb increase narrow band width

   9701   5   0
User Avatar
Member
120 posts
Joined: Feb. 2008
Offline
I have a houdini isosurface which I converted into a vdb levelset surface.

When adding some vdb operations, like “VDB renormalizesdf” I get an error message:
VDB primitive ‘surface’ has a narrow band width that is less than 3 voxel units.

When combining this level set with another later on, I can see some artifacts, so I think it may be from this warning.

So, how can I add more voxel units to my narrow band width?

Sample file attached.

Attachments:
VDB_narrow band width problem.hipnc (199.6 KB)

User Avatar
Member
7871 posts
Joined: July 2005
Offline
To expand the narrow band of an SDF VDB, convert it to polygons and then back again into a VDB with the new voxel radius.

In the open source OpenVDB houdini SOPs, there's a “Rebuild Level Set” (or something like that) which does exactly this in one node.
User Avatar
Member
120 posts
Joined: Feb. 2008
Offline
Thanks, I'll try it.
User Avatar
Member
92 posts
Joined: Aug. 2010
Offline
workaround as edward mentioned. granted, the open source rebuild level set sop is super handy; perhaps you need to perform a really wide filtering operation and your narrow-band is too narrow; or maybe you did some destructive operation in a volume vop and need to re-establish a “proper” level set as per input to a CSG operation; etc…

-jeff
User Avatar
Member
7871 posts
Joined: July 2005
Offline
What I realized the other day is that you can just do what I said in a single node by just appending a “VDB From Polygons”. When it encounters non-polygon geometry (eg. VDBs), it will first convert to polygons, and then it will convert it into a VDB. Voila! Level set rebuild.
User Avatar
Member
4 posts
Joined: March 2016
Offline
Hi, sorry for reopening that thread.
You could also drop a "vdbactivate" node, and increase the "Voxels to Expand" parameter. This works with SDF and fog volumes.
  • Quick Links