KhronosGroup / KhronosGroup/ANARI-Docs

Add KHR_TF_2D extension to support 2D Transfer Functions for Volumes

Open
#69 1 comment 0 reactions 1 assignee Claimed by @griffin28 View on GitHub
ready for proposal v1.2
Dominant language
JavaScript
Stars
39
Forks
10
PR merge metrics
No merged PRs in 30d

Description

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](https://vtk.org/doc/nightly/html/classvtkVolumeProperty.html)) 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](https://user-images.githubusercontent.com/26772741/226973612-f1aa1fe2-7fc9-4e4e-8f10-37e6220efc0d.png) ![image](https://user-images.githubusercontent.com/26772741/226973702-05e79d6d-c38b-44ee-824b-92e0e10e6afb.png)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.