Jump to content
Sign in to follow this  
MAYA_

Compress vdbs

Recommended Posts

Heya!

I am looking into compressing down the size of my volumes and I have stumbled across compressing my vdbs down to 16 bit float. This make my guys nice and smaller and I don't see any difference in rendering but I am not 100% understanding whats happening behind the scenes here. Is there any disadvantages to doing this, such as loosing res?

I would be happy if someone could help me out with this!

Thanks :)

Share this post


Link to post
Share on other sites
Posted (edited)

Think of it as comparing an 8bit jpg and 32bit exr formats, they capture different ranges of data but can display the same thing. 16 bit volume will have a smaller range but still look correct enough under the right conditions.

So its the bit depth of the value of individual voxels.

Edited by celd
  • Like 1

Share this post


Link to post
Share on other sites
6 minutes ago, celd said:

Think of it as comparing an 8bit jpg and 32bit exr formats, they capture different ranges of data but can display the same thing. 16 bit volume will have a smaller range but still look correct enough under the right conditions.

So its the bit depth of the value of individual voxels.

Hey celd, 

thanks so much! This is a lot clearer now :) I am wondering if this is something studios do in production or if this is a case by case kind of scenario? Just trying to figure out if this is something that I should be implementing into my future workflow, as there is defo upsides to having to store less data. 

Share this post


Link to post
Share on other sites

I would say it depends on the studio, usually the larger studios should have plenty of space to spare. If you are however really starved for space I dont see why you couldnt do it, just be careful when compressing vector fields like this, I found it can remove too much information sometimes.

Share this post


Link to post
Share on other sites
Posted (edited)
25 minutes ago, celd said:

I would say it depends on the studio, usually the larger studios should have plenty of space to spare. If you are however really starved for space I dont see why you couldnt do it, just be careful when compressing vector fields like this, I found it can remove too much information sometimes.

I see, thank you! Do you recon it would make sense to pull out the fields that might be less important and compress these separately, but leave important stuff as it is? I am mostly trying to save space and making this whole process more efficient with a limited amount of storage for huge scale sims :) If you have any other suggestions in that area, I would be excited to hear!

Edited by MAYA_

Share this post


Link to post
Share on other sites

Before going into rendering we tend to compress all volumes to 16 bit. There is no noticeable difference for rendering and almost a 50% space savings.
Only thing to really be careful with vdb is pruning with rest volumes (they really should not be pruned as 'zero' is a valid rest value.)

During the simulation you want the full 32-bit as that accuracy is needed for the fluid solve, but once you are done with the sim (and any post processing) you can go down to 16-bit.

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
4 hours ago, celd said:

I would say it depends on the studio, usually the larger studios should have plenty of space to spare. If you are however really starved for space I dont see why you couldnt do it, just be careful when compressing vector fields like this, I found it can remove too much information sometimes.

Sometimes I half the resolution of my velocity fields (double the grid size). But not with density or anything else.

  • Like 1

Share this post


Link to post
Share on other sites
Posted (edited)
13 hours ago, pclaes said:

Before going into rendering we tend to compress all volumes to 16 bit. There is no noticeable difference for rendering and almost a 50% space savings.
Only thing to really be careful with vdb is pruning with rest volumes (they really should not be pruned as 'zero' is a valid rest value.)

During the simulation you want the full 32-bit as that accuracy is needed for the fluid solve, but once you are done with the sim (and any post processing) you can go down to 16-bit.

Hey pclaes! Thanks this is super helpful! I was thinking the same thing but I did not want to start doing this and then get problems when rendering later on that I might not like initially notice. Also yeah this was only thought to be a post simulation, pre rendering thing :) 

Edited by MAYA_

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×