Create and render OpenVDB volume grids with Softimage and Redshift renderer

Posted in Tips and tricks on 23 June 2016

Note: a detailed tutorial is now available.

Since current version of Redshift requires OpenVDB-compliant voxel grids for its volume rendering, we need to somehow generate and export .vdb files from Softimage (not everybody has access to Houdini, you know).

OpenVDB logo

Thanks to user Mr.Core from SI Community we have a set of ICE-compounds to do just that.

Mr.Core provided compounds to voxelize particles and geometry as well as perform actions on .vdb grids and polygonize them.

Here's an example on how to make a vdb cloud in Softimage, export it to a file and render with Redshift:

Start by voxelizing a polymesh of your choice. Let's use a sphere (based on the "001_cloud.scn" example scene):

OpenVDB in Softimage

Pipe the result through the VDB File Grid IO node to write it to the disk as Cloud.vdb:

OpenVDB in Softimage

Then reference it into a new RedshiftVolume primitive with a RedshiftVolumeMaterial:

enter image description here

Tweak material settings until you get something that looks like this:

OpenVDB in Softimage

OpenVDB in Softimage

Add Redshift physical sun and sky to the scene, enable brute-force GI in the renderer settings and check the result:

OpenVDB render in Softimage

Not too interesting, right? Let's introduce some noise to the grid:

OpenVDB in Softimage

And the result:

OpenVDB render in Softimage

Much better. Keep adding modifiers to the grid in the ICE-tree, put your volumetric object into a model and instantiate it a couple of times and you might end up with something that looks like this:

OpenVDB render in Softimage

What's great about this approach is that you now have a VDB File Grid IO node in your ICE-tree on the generator object set to "write to a .vdb file" on every tree execution. Redshift then reads the referenced .vdb file using RedshiftVolumeGridOp operator on a poly object. This way are now able to visualize the changes you make to the vdb-file generator in the viewport and immediately render out the updated volume with Redshift.

You can download the compounds and join the discussion here. Make sure to download example scenes to see how to correctly build an ICE-tree using the supplied compounds.

This is the complete tree from the "001_cloud.scn" example:

complete vdb ice tree

Check out the detailed tutorial to find out what all of those compounds do and how to use them.