Skip to content

WIP: Support specifying a separate opacity array for volume rendering

Add support for selection of an array and/or array component for opacity mapping that is distinct from the array used for coloring mapping.

The volume representations have been augmented with three new properties:

  • UseSeparateOpacityArray - indicate when a separate opacity array is to be used.
  • OpacityArrayName - the array to use for opacity mapping
  • OpacityArrayFieldAssociation - the field association of the array
  • OpacityArrayComponent - the component of the opacity array to use for opacity mapping

When enabled, the volume representations assemble a two-component data array from the color array and selected opacity array to hand to the volume mappers, some of which support opacity mapping via a two-component arrays. The volume representations were refactored to move common code into a base class and take advantage of modern C++ features.

Finally, transfer function range update code was updated to work as expected when using a separate opacity array/component.

Merge request reports