Page tree

Contents

OpenVDB is an open source hierarchical data structure for volumes. The OpenVDB Maya plugin ($RMSTREE/plug-ins/OpenVDB.so) is supported by Renderman for Maya.


OpenVDB icon in the Maya shelf

With one click on the icon, RfM automatically creates the default setup for reading, visualizing, and rendering OpenVDB volume data.

For more information about OpenVDB, see the OpenVDB FAQ.


  • The OpenVDB node defaults to having its indirect visibility set to "off", this is because Maya's old defaults have imported objects as invisible to reflections/refractions in the Render Stats rollout of the attribute editor. Turn these on for correct rendering.


How To Read OpenVDB

In Renderman for Maya, to read an OpenVDB file, simply click on the OpenVDB icon. This will create an OpenVDB Read, which allows a user to browse to an OpenVDB file via the file picker for the VDB File Path.




How To Visualize OpenVDB

After an OpenVDB file is loaded, an OpenVDB Visualize tab will appear in the Attribute Editor.

The OpenVDB Visualizer displays the OpenVDB volume data inside Maya as well as provides options to change how the OpenVDB data is emitted to the RIB.

By default, Renderman for Maya emits an RiVolume. If the Surface checkbox is checked in the OpenVDBVisualize node, or if the OpenVDB file contains only level set data, then an RiBlobby is emitted instead. In this case the user will want to wire in a different shader than the default PxrVolume. Renderman for Maya's Custom Shading Group attribute can be added to connect in a shading group.


RIB Options

The following options can be used to change how the data gets emitted to the RIB for your OpenVDB volume.

VDB Grid Name

A VDB grid is a sparse tree representation of voxel data. For instance, a float grid stores one single-precision floating point value per voxel. After the OpenVDB file is loaded, a list of grid names become available in the pulldown menu. Pick the grid name you want to sample.

Surface

Instead of creating a RiVolume, this will create a RiBlobby. Note that turning this on can slow down your render.

Isovalue

This sets the threshold for the volume.

Visualizer Options

The following attributes are for visualizing only. Changing them does not change the render of the volume.

Active Value Bounding Box

Show/hide active value's bounding box.

Internal Nodes

Show/Hide A root node that has a dynamic branching factor has internal nodes that have fixed branching.

Leaf Nodes

Show/Hide Values stored in leaf nodes correspond to individual voxels; all other values correspond to "tiles"

Active Tiles

Show/Hide Values stored in nodes of type  RootNode  or  InternalNode  correspond to regions of index space with a constant value and active state and with power of two dimensions. Every value in a grid has a binary state that is referred to as its "active state". The interpretation of this on/off state is application-specific, but typically an active (on) value is "interesting" in some sense, and an inactive (off) value is less interesting.

Active Voxels

Show/Hide As above but applies to voxels. Values stored in nodes of type  LeafNode  (which, when they exist, have a fixed depth), correspond to individual voxels. These are the smallest addressable units of index space.

OpenVDB Shading Network

The OpenVDB Visualizer icon automatically sets up the volume shading group and is connected to the appropriate openVDB visualizer.