Accelerating Transfer Function Update for Distance Map based Volume Rendering
Michael Rauter, Lukas Zimmermann, Markus Zeilinger
TL;DR
This work tackles the bottleneck of updating distance-map based empty-space skipping when the transfer function (TF) changes in direct volume rendering. It introduces intensity partitioning to create partitioned occupancy maps (POMs) and partitioned distance maps (PDMs), enabling rapid construction of a final distance map $D'(x,y,z) = \min_{p \in S} \mathrm{PDM}_p(x,y,z)$ where $D' \le D$. The approach is implemented in GLSL compute shaders using 8-bit textures, with preprocessing to compute POMs/PDMs and a multi-pass merge to form $D'$, reducing TF-update times by up to a factor of about $30$ for some partition counts. While rendering performance remains competitive with the baseline distance-map method, there is a memory and initialization overhead, and performance gains depend on TF distribution and dataset. Overall, the method extends the fastest known ESS technique to support frequent TF updates, enabling higher frame rates in interactive applications such as VR volume rendering.
Abstract
Direct volume rendering using ray-casting is widely used in practice. By using GPUs and applying acceleration techniques as empty space skipping, high frame rates are possible on modern hardware. This enables performance-critical use-cases such as virtual reality volume rendering. The currently fastest known technique uses volumetric distance maps to skip empty sections of the volume during ray-casting but requires the distance map to be updated per transfer function change. In this paper, we demonstrate a technique for subdividing the volume intensity range into partitions and deriving what we call partitioned distance maps. These can be used to accelerate the distance map computation for a newly changed transfer function by a factor up to 30. This allows the currently fastest known empty space skipping approach to be used while maintaining high frame rates even when the transfer function is changed frequently.
