vdb channels

   3680   6   2
User Avatar
Member
57 posts
Joined: Jan. 2015
Offline
I've been doing some testing, trying to do some speedups, once you have a pyro that is working well. However while testing I've ran into a couple of questions.

I deleted all the channels but vel and density. and saved out a vdb. at frame 75 the vdb was 3.5 gig, However I then deleted the vel channel and saved out a new vdb and the size of frame 75 was 92 meg. That is a huge difference, so why do the velocity channels take up so much space? 3/4 the channels. 39/40th of the data? or a velocity channel is 10x more data hungry than a density channel. my guess is the velocity channels are float 32 or something and the density is a 16bit int? Also there is velocity data in every voxel. Is there no way to have a cutoff where there is no density make it not have any velocity to make files smaller.

Then, and I know this must be simple but I can't figure it out, when I just do a geo, file and point it at the vdb. It defaults by showing the velocity channels. as in it's a cube of volume. How do I channel shuffle so I can see the density, I can delete the vel channels and then see the density channel. but I want to pick what channel is showing up in the viewport, and not sure why it deafults to vel instead of density.

Thanks
Chris
User Avatar
Member
2537 posts
Joined: June 2008
Offline
A velocity channel is actually 3 channels so it makes sense, 3/4ths. You have vel.x, vel.y and vel.z. If you want to view the volume drop down a Volume Visualizer and move the display flag to that node. You can specify what field to view, I think it defaults to density.
Using Houdini Indie 20.0
Windows 11 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
User Avatar
Member
57 posts
Joined: Jan. 2015
Offline
Awesome the volume visualizer is what I was looking for, to show density, instead of vel.

I'm not explaining very well on the size thing. So looking deeper, it appears in my vdb I have.

7.4 million voxels of density, and 35 million voxels of vel.x 35 million of vel.y and 35 million of vel.z

I understand needing the 3 channels for vel. but is there any way to clip the vel channels by the density to make it so they aren't as big? I'm picturing some sort of dilating/eroding density out, inverting and then multiplying that by the vel channels to make sure there is no info out there that isn't used.

hopefully that makes more sense,

Thanks!
Chris
User Avatar
Member
57 posts
Joined: Jan. 2015
Offline
so I think I have this working.

it's simple but effective, you just take a volumevop, crunch the density, to make it essentially a hard edged mask, and then multiply that by the vel, that clears out the data outside of where the density is. and when you save it. file sizes go way down. 45% smaller, I would like it to expand a little the density, so the mask goes just outside the density, but I couldn't find a way to do that yet.

works pretty well for reducing vdb sizes. Honestly seems like something that would be super useful to alwasy do. if you just took the max of every other channel, temp, density whatever, and did the same thing to the vel channel it would save space.

let me know if anyone knows how to expand the density to make the muiltiply mask bigger, or if this is going to cause troubles down the road. But seems to me it just removes vel data that isn't near the density and not needed.

Thanks
Chris
Edited by chris wells - Jan. 26, 2017 15:12:34

Attachments:
reduceVelSpace.hiplc (124.5 KB)

User Avatar
Member
57 posts
Joined: Jan. 2015
Offline
so my vdb goes from

7mil density, 35 mil vel.x 35 mil vel.y 35 mil vel.z

to

7mil density, 7.5 mil vel.x 7.5 mil vel.y 7.5 mil vel.z
User Avatar
Member
8554 posts
Joined: July 2007
Offline
there is volumecompress node allowing you to do additional compression and bitdepth reduction as well as masking of channels by let's say density channel
then I usually use volume Resample sop to half the vel channels as they usually not have to be as detailed as density
you can as well use DOP Import Fields SOP which has compression and masking implemented


chris wells
I would like it to expand a little the density, so the mask goes just outside the density, but I couldn't find a way to do that yet.
volume blur SOP
again look inside of DOP Import Fields, you can see Volume Blur used there to expand field used for masking
Edited by tamte - Jan. 29, 2017 13:35:17
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
57 posts
Joined: Jan. 2015
Offline
Thanks Tomas,

That looks perfect, I'll check it out,

Chris
  • Quick Links