ANARI-Docs icon indicating copy to clipboard operation
ANARI-Docs copied to clipboard

Add KHR_TF_2D extension to support 2D Transfer Functions for Volumes

Open griffin28 opened this issue 1 year ago • 1 comments

When a scalar volume value is associated with multiple materials/boundaries a 1D transfer function is unable to render them in isolation. This arises a lot in medical datasets, like the one below, and when trying to isolate different layers in an ICF capsule dataset. There are other limitations to 1D transfer functions that can be found with a quick Google search so I won’t list them here.

APIs like VTK (see VTK Volume Property) currently support 2D transfer functions and knowing what renderers support 2D TFs will be important for volume rendering these types of datasets.

EXAMPLE: Volume rendering head dataset (Data/headsq/quarter) with VTK using OpenGL (vtkOpenGLGPUVolumeRayCastMapper ) with 2D transfer function (linear, gradient) vs. VTK using ANARI (vtkAnariVolumeMapper ) using a 1D transfer function (linear)

image image

griffin28 avatar Mar 22 '23 16:03 griffin28