OpenVDB

OpenVDB is an open-source package that combines a volumetric data format with algorithms that make it both FAST & COMPACT.

Homebrew is the easiest way to install OpenVDB 3.0 and use it with XCode 6. Here's an easy to follow guide for installing OpenVDB - 

http://www.rjduran.net/blog/installing-openvdb-on-mavericks-10-9-3

Once the install is done, try to open this cube in vdb_view. Then try loading this dragon and see how fast OpenVDB loads data.

Once OpenVDB was installed, it was easy to integrate it into my xcode project. For example, I wanted to write my a grid of density values to vdb files & import them into Houdini for rendering. This can be done in a few lines with openvdb -

void Grid::saveSmokeToVDB(const char* fileName) {
// Include OpenVDB libraries before this
openvdb::initialize();
//create empty floating point grid
openvdb::FloatGrid::Ptr grid = openvdb::FloatGrid::create(); 
// Get an accessor for coordinate-based access to voxels.
openvdb::FloatGrid::Accessor accessor = grid->getAccessor();

// Define a coordinate with large signed indices.
openvdb::Coord xyz(0, 0, 0);

FOR_EACH_CELL
{
xyz.reset(i, j, k);
accessor.setValue(xyz, gDensity(i,j,k));
}

// Create a VDB file object.
openvdb::io::File file(fileName);

// Add the grid pointer to a container.
openvdb::GridPtrVec grids;
grids.push_back(grid);

// Write out the contents of the container.
file.write(grids);
file.close();

Houdini is great for importing and manipulating vdb data. In this case, I used Houdini 14 which supports OpenVDB natively to render my smoke simulation using Mantra. Here's an example of the Houdini network and render -