To apply empty space skipping in texture-based volume rendering, we partition the texture space with a box-growing algorithm. Each sub-texture comprises of neighboring voxels with similar densities and gradient magnitudes. Sub-textures with similar range of density and gradient magnitude are then packed into larger ones to reduce the number of textures. The partitioning and packing is independent on the transfer function. During rendering, the visibility of the boxes are determined by whether any of the enclosed voxel is assigned a non-zero opacity by the current transfer function. Only the subtextures from the visible boxes are blended and only the packed textures containing visible sub-textures reside in the texture memory. We arrange the densities and the gradients into separate textures to avoid storing the empty regions in the gradient texture, which is transfer function independent. The partitioning and packing can be considered as a lossless texture compression with an average ...
Wei Li 0004, Arie E. Kaufman