Abstract
AbstractThis paper presents an efficient algorithm for voxelizing the surface of triangular meshes in a single compute pass. The algorithm uses parallel equidistant lines to traverse the interior of triangles, minimizing costly memory operations and avoiding visiting the same voxels multiple times. By detecting and visiting only the voxels in each line operation, the proposed method achieves better performance results. This method incorporates a gap detection step, targeting areas where scanline‐based voxelization methods might fail. By selectively addressing these gaps, our method attains superior performance outcomes. Additionally, the algorithm is written entirely in a single compute GLSL shader, which makes it highly portable and vendor independent. Its simplicity also makes it easy to adapt and extend for various applications. The paper compares the results of this algorithm with other modern methods, comprehensibly comparing the time performance and resources used. Additionally, we introduce a novel metric, the ‘Slope Consistency Value’, which quantifies triangle orientation's impact on voxelization accuracy for scanline‐based approaches. The results show that the proposed solution outperforms existing, modern ones and obtains better results, especially in densely populated scenes with homogeneous triangle sizes and at higher resolutions.
Reference31 articles.
1. AmanatidesJ. WooA.:A fast voxel traversal algorithm for ray tracing. InEurographics(1987) vol.87 pp.3–10.
2. Slicing‐based volumetric collision detection;Boyles M.;Journal of Graphics Tools,1999
3. Fast Voxelization of Three-Dimensional Synthetic Objects
4. Octree-Based Sparse Voxelization Using the GPU Hardware Rasterizer
5. Surface shading in the cuberille environment;Che L.‐s.;IEEE Computer Graphics and Applications,1985