VdbVolume is a volume shader meant to be used with VdbGeometry. This shader allows modification of attributes of the VDB volume with constant multipliers or map bindings.

You can apply map shaders to any attribute of a volume shader, such as:

  • anisotropy
  • emission
  • color
  • density

Map bindings are evaluated and baked into a precomputed grid for fast lookups during rendering. The resolution of the grid is based on the attributes bake_resolution_mode, bake_divisions and bake_voxel_size. See the attribute documentation for details. The default is to use the same number of divisions as the VDB file being rendered.

There are some caveats to binding maps to volume shader attributes:

  • Evaluating a map (baked grid) is slower than evaluating a constant value. MCRT will take longer to converge.
  • Memory usage is increased due to the baked attribute grid.
  • Only 3D position maps can be bound to the attributes. 2D surface data (texture coordinates, normals, etc) do not work with volumes.

Attribute Reference

Volume attributes


Float bindable
default: 0.0

Value in the interval [-1,1] that defines how foward (1) or backward (-1) scattering the volume is. A value of 0.0 indicates an isotropic volume.

anisotropy: -1 | 1 (backlit)


Rgb bindable
default: [ 1, 1, 1 ]

The albedo of the volume

color_mult: (0,0,0) | (1,1,1)


Rgb bindable
default: [ 1, 1, 1 ]

A multiplier applied to the volume emission

incandescence_gain_mult: (0,0,0) | (1,1,1)


Rgb bindable
default: [ 1, 1, 1 ]

A multiplier applied to the volume density

opacity_gain_mult: (0,0,0) | (1000,1000,1000)


default: 0.5

Accumulated opacity that's considered the 'surface' for computing surface position and Z

Volume Baking attributes


default: 100

Divide widest axis by this many divisions


Int enum
  0 = “default” (default)
  1 = “divisions”
  2 = “voxel size”

Method to specify grid resolution of baked density grid. Choices are:
  "default": For shaders that are bound to vdb volumes, use vdb resolution.
      For shaders that are bounds to mesh geometries use 100 divisions
  "divisions": Specify number of divisions.
  "voxel size": Specify voxel size.


default: 10.0

Size of voxel in world space

General attributes



label used in light aovs