OpenVDB Volumes in Maya

AMD Radeon ProRender offers support for the OpenVDB standard to help artists visualize and render volumetric objects based on 3D grids. OpenVDB objects can be useful for modeling sparse volumes, such as clouds, fire, smoke and so on.

To learn more about OpenVDB, see www.openvdb.org. You can also download sample volumetric representations of familiar CG models at www.openvdb.org/download/.

How to Create OpenVDB Volumes

To create OpenVDB volumes with AMD Radeon Prorender:

  1. Make sure that AMD Radeon ProRender is set as the active render engine in Maya.

    For details, see Switching to AMD Radeon ProRender in Maya.

  2. Add a volume object using one of the following methods:

    • From the main menu, select Radeon ProRender > Volumes > Create RPR Volume Node.

    • Switch to the Radeon ProRender shelf and click the Create RPR Volume icon.

  3. In the Outliner, select the RPRVolume node.

  4. In the Attribute Editor, switch to the RPRVolumeObj tab to display the volume settings.

  5. Specify the settings for a volume object as described later in this section.

Download the above scene (zip)

OpenVDB Read File

In the OpenVDB Read File section, specify a path to a VDB file describing a volumetric data structure.

Channels

AMD Radeon ProRender supports three input channels for volume objects – albedo, emission and density. Out of these three, only the density channel is required, the other two are optional.

  • Albedo controls the color of the volume particles. If this channel is inactive, the color is set to black.

  • Density defines how sparse or dense particles in the volume are. Lower values make the volume look more transparent.

  • Emission defines emission of the volume particles. Higher values make the particles glow brighter.

To make a certain channel active, select the Enable check box in the corresponding section. Then select a grid in the VDB file that will be used for this channel. The VDB file should not necessarily contain a separate grid for each channel: you can use the same grid for all the channels.

Channel: Albedo

Channel: Emission

Channel: Density

Download the above scene (zip)

Intensity Multiplier

Intensity multiplier is a coefficient that can be used to amplify or decrease the channel effect. This coefficient is multiplied by the value of each voxel in the grid.

Multipliers are available for the density and emission channels.

  • For the density channel, it is recommended to set multiplier values between 1000 and 100000, as these values normally yield good results. This type of multiplication is required to transform OpenVDB values to values that can be read by AMD Radeon ProRender.

  • For the emission channel, the default multiplier of 1 results in quite bright emission of particles, so you might consider decreasing this value for a dimmer effect.

Emission intensity: 1

Emission intensity: 2

Emission intensity: 10

Download the above scene (zip)

Notes and Limitations

  • OpenVDB volumes can be rendered on GPU only, CPU rendering is not supported.

  • When rendering with NVIDIA GPUs, be sure to enable all the three channels. Otherwise, rendering will fail with errors.

  • AMD Radeon ProRender supports floating-point grids only. Other grid types are not supported at the moment.