IEEE Trans Vis Comput Graph. 2018 Jan;24(1):974-983. doi: 10.1109/TVCG.2017.2744238. Epub 2017 Aug 29.
Recent advances in data acquisition produce volume data of very high resolution and large size, such as terabyte-sized microscopy volumes. These data often contain many fine and intricate structures, which pose huge challenges for volume rendering, and make it particularly important to efficiently skip empty space. This paper addresses two major challenges: (1) The complexity of large volumes containing fine structures often leads to highly fragmented space subdivisions that make empty regions hard to skip efficiently. (2) The classification of space into empty and non-empty regions changes frequently, because the user or the evaluation of an interactive query activate a different set of objects, which makes it unfeasible to pre-compute a well-adapted space subdivision. We describe the novel SparseLeap method for efficient empty space skipping in very large volumes, even around fine structures. The main performance characteristic of SparseLeap is that it moves the major cost of empty space skipping out of the ray-casting stage. We achieve this via a hybrid strategy that balances the computational load between determining empty ray segments in a rasterization (object-order) stage, and sampling non-empty volume data in the ray-casting (image-order) stage. Before ray-casting, we exploit the fast hardware rasterization of GPUs to create a ray segment list for each pixel, which identifies non-empty regions along the ray. The ray-casting stage then leaps over empty space without hierarchy traversal. Ray segment lists are created by rasterizing a set of fine-grained, view-independent bounding boxes. Frame coherence is exploited by re-using the same bounding boxes unless the set of active objects changes. We show that SparseLeap scales better to large, sparse data than standard octree empty space skipping.
最近的数据采集技术进步产生了非常高分辨率和大容量的体数据,例如 TB 级别的显微镜体积。这些数据通常包含许多精细和复杂的结构,这对体绘制构成了巨大的挑战,因此有效地跳过空区域变得尤为重要。本文解决了两个主要挑战:(1)包含精细结构的大型数据集的复杂性通常导致空间细分高度碎片化,从而难以有效地跳过空区域。(2)空间的空区域和非空区域的分类经常发生变化,因为用户或交互式查询的评估会激活不同的一组对象,这使得预先计算适应性良好的空间细分变得不可行。我们描述了一种新颖的 SparseLeap 方法,用于在非常大的体积中有效地跳过空区域,即使是在精细结构周围也是如此。SparseLeap 的主要性能特点是,它将空区域跳过的主要成本移出光线投射阶段。我们通过一种混合策略来实现这一点,该策略在光栅化(对象顺序)阶段确定空光线段和在光线投射(图像顺序)阶段采样非空体积数据之间平衡计算负载。在光线投射之前,我们利用 GPU 的快速硬件光栅化来为每个像素创建一条光线段列表,该列表标识光线中的非空区域。然后,光线投射阶段无需层次遍历即可跳过空区域。光线段列表是通过光栅化一组细粒度、与视图无关的边界框来创建的。帧连贯性通过除非活动对象集发生变化,否则重用相同的边界框来利用。我们表明,与标准八叉树空区域跳过相比,SparseLeap 可以更好地扩展到大型稀疏数据。