Sometimes your data is large enough that loading it directly into memory as was discussed in the Python SOP Tutoril is simply not an option. In this case, you may be able to save some space by preprocessing your data into the VDB file format. The OpenVDB format is an open source C++ library for efficient storage of sparse volume data that is so cool it even won an Academy Award!

Before starting this tutorial make sure you've installed pyopenvdb as discussed in the Install PyOpenVDB Tutorial and make sure all of your yt and pyopenvdb paths are in your PATH variable as discussed in both the Install PyOpenVDB Tutorial and the Getting Started page.

Fork the ytini Repo

We'll be updating the official ytini-repo with more examples and usages, so please download and updated by visiting the repo.

Create Uniform Voxel VDB

An example of a call to the "convert_vdb_with_yt" that uses clipping to reduce the file size. The data here comes from the yt Sample Data collection.

The above snippet of code calls yt to generate a uniform covering grid for the requested data field at the specified resolution and calls the pyopenvdb libraries to output this information into the .vdb file format.

Load into Houdini

Loading your generated VDB is done the usual way as described in the Render an Image Tutorial. Note that Houdini treats it just like a volume, but it uses less memory.


Install OpenVDB and pyopenvdb

Previous Tutorial