Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

OpenVDB is an open source hierarchical data structure for volumes. It has become the standard for interchange of volumetric data between applications.  For more information about OpenVDB, see the OpenVDB FAQ .

 

Warning

Houdini 16 uses OpenVDB 3.3.0 but RenderMan currently supports OpenVDB 3.1.0.

You can ignore the message: "unsupported VDB file format (expected version 223 or earlier, got version 224)". The volume still renders correctly.

But if your vdb file is created with OpenVDB 3.3.0 using Points, RenderMan will ignore it.

 

Houdini 16.0.655 onward

Rendering from an OpenVDB File

...

Assign PxrVolume or your volume Bxdf to the Geometry node. Don't forget to set the density primvar name (which matches the density grid name in your .vdb file) appropriately in PxrVolume.

Modifying VDB

Houdini has a list of VDB SOPs which allow us to modify the VDB data to render.  For example, say we want to only include the density grid name for the render,  we add a VDB SOP.  

Image Removed

Then specify the density name and its type.  In this example, it is called "render.density".  We can also add more than one name to include.  We can also enable or disable them.  

See http://www.sidefx.com/docs/houdini/nodes/sop/vdb for more information.

Image Removed

Rendering from Houdini Volume

...

Warning

Houdini pyro effects currently do not work with ConvertVDB in RenderMan for Houdini. This is a Houdini bug that has been reported.

Before Houdini 16.0.655

Rendering from an OpenVDB File

If you already have a .vdb file, RenderMan will read it with blobbydso:impl_openvdb procedural without converting the .vdb file to volume.  Before Houdini 16.0.655, the only way is to create a box SOP and manually specify the Post include to inject it to the RIB.

Using Post Include

Create a box OBJ. In the box's Render/Geometry's Obj post-include, include the RiVolume that will be emitted to the RIB.

Image Removed

 

For example:

Code Block
Volume "blobbydso:impl_openvdb" [-19 19 -7 80 -18 80] [0 0 0] "constant string[2] blobbydso:stringargs" ["$HIP/vdb/smoke.vdb" "density"] "varying float density" [] "constant float blobbydso:threshold" [0.001]

...