VdbVolume

Overview

VdbVolume is a volume shader meant to be used with VdbGeometry. This shader allow modification of the color, density, or emission fields of the VDB volume with constant multipliers or map bindings. Map bindings are evaluated and baked into the grid based on the bake_resolution_mode. The default is to use the same number of divisions as the VDB file being rendered.


Attribute Reference

Volume attributes

anisotropy

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)

color_mult

Rgb bindable
default: [ 1, 1, 1 ]

The albedo of the volume

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

incandescence_gain_mult

Rgb bindable
default: [ 1, 1, 1 ]

A multiplier applied to the volume emission

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

opacity_gain_mult

Rgb bindable
default: [ 1, 1, 1 ]

A multiplier applied to the volume density

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

surface_opacity_threshold

Float
default: 0.5

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

Volume Baking attributes

bake_divisions

Int
default: 100

Divide widest axis by this many divisions

bake_resolution_mode

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.

bake_voxel_size

Float
default: 10.0

Size of voxel in world space

General attributes

label

String
default:

label used in light aovs