Advanced SearchSearch Tips
Memory Efficient Parallel Ray Casting Algorithm for Unstructured Grid Volume Rendering on Multi-core CPUs
facebook(new window)  Pirnt(new window) E-mail(new window) Excel Download
  • Journal title : Journal of KIISE
  • Volume 43, Issue 3,  2016, pp.304-313
  • Publisher : Korean Institute of Information Scientists and Engineers
  • DOI : 10.5626/JOK.2016.43.3.304
 Title & Authors
Memory Efficient Parallel Ray Casting Algorithm for Unstructured Grid Volume Rendering on Multi-core CPUs
Kim, Duksu;
We present a novel memory-efficient parallel ray casting algorithm for unstructured grid volume rendering on multi-core CPUs. Our method is based on the Bunyk ray casting algorithm. To solve the high memory overhead problem of the Bunyk algorithm, we allocate a fixed size local buffer for each thread and the local buffers contain information of recently visited faces. The stored information is used by other rays or replaced by other face's information. To improve the utilization of local buffers, we propose an image-plane based ray grouping algorithm that makes ray groups have high coherency. The ray groups are then distributed to computing threads and each thread processes the given groups independently. We also propose a novel hash function that uses the index of faces as keys for calculating the buffer index each face will use to store the information. To see the benefits of our method, we applied it to three unstructured grid datasets with different sizes and measured the performance. We found that our method requires just 6% of the memory space compared with the Bunyk algorithm for storing face information. Also it shows compatible performance with the Bunyk algorithm even though it uses less memory. In addition, our method achieves up to 22% higher performance for a large-scale unstructured grid dataset with less memory than Bunyk algorithm. These results show the robustness and efficiency of our method and it demonstrates that our method is suitable to volume rendering for a large-scale unstructured grid dataset.
volume rendering;ray casting;unstructured grid;parallel computing;multi-core CPU;
 Cited by
Brodlie, K., Wood, J., "Recent advances in volume visualization," Computer Graphics Forum, Vol. 20, No. 2, pp. 125-148, 2001. crossref(new window)

P. Bunyk, A. Kaufman, C. Silva, "Simple, fast, and robust ray casting of irregular grids," Scientific Visualization, 1999.

Ribeiro S., Maximo A., Bentes C., Oliveira A., Farias R., "Memory-Aware And Efficient Ray-Casting Algorithm," Proc. Of The Xx Brazilian Symposium On Computer Graphics And Image Processing, pp. 147-154, 2007.

Maximo, A., Ribeiro, S., Bentes, C., Oliveira, A. A., Farias, R. C., "Memory Efficient GPU-Based Ray Casting for Unstructured Volume Rendering," Volume Graphics, pp. 155-162, 2008.

M. Garrity, "Raytracing irregular volume data," Computer Graphics, pp. 35-40, 1990.

S. Uselton, "Volume rendering for computational fluid dynamics: Initial results," Tech Report RNR-91-026, Nasa Ames Research Center, 1991.

P. Shirley and A. Tuchman, "A polygonal approximation to direct scalar volume rendering," Computer Graphics, pp. 63-70, 1990.

Wylie B., Moreland K., Fisk L. A., Crossno P., "Tetrahedral projection using vertex shaders," Proc. of the IEEE Symposium on Volume visualization and graphics, pp. 7-12, 2002.

Marroquim R., Maximo A., Farias R., Esperanca C., "GPU-Based Cell Projection for Interactive Volume Rendering," Proc. of the XIX Brazilian Symposium on Computer Graphics and Image Processing, pp. 147-154. 2006.

Weiler M., Kraus M., Merz M., Ertlt, "Hardwarebased view-independent cell projection," IEEE Transactions on Visualization and Computer Graphics, Vol. 9, No. 2, pp. 163-175, 2003. crossref(new window)

Callahan S. P., Ikits M., Comba J. L., Silva C. T., "Hardware-assisted visibility sorting for unstructured volume rendering," IEEE Transactions on Visualization and Computer Graphics, Vol. 11, No. 3, pp. 285-295, 2005. crossref(new window)

Farias, R., Mitchell, J. S., Silva, C. T., "Zsweep: An efficient and exact projection algorithm for unstructured volume rendering," Proc. of the IEEE symposium on Volume visualization, pp. 91-99, 2000.

Aline Pina, Cristiana Bentes, Ricardo Farias, "Memory efficient and robust software implementation of the raycast algorithm," The 15th Int. Conf. in Central Europe on Computer Graphics, Visualization and Computer Vision, 2007.

Weiler M., Kraus M., Merz M., Ertl T., "Hardware- Based Ray Casting for Tetrahedral Meshes," Proc. of the 14th IEEE conference on Visualization, pp. 333-340, 2003.

Espinha R., Celes W., "High-quality hardwarebased ray-casting volume rendering using partial preintegration," Proc. of the XVIII Brazilian Symposium on Computer Graphics and Image Processing, pp. 273, 2005.

Bernardon F. F., Pagot C. A., Ao Luiz Dihl Comba J., Silva C. T., "GPU-based Tiled Ray Casting using Depth Peeling," Journal of Graphics Tools, Vol. 11, No. 3, pp. 23-29, 2006.

A. Grama, A. Gupta, G. Karypis, V. Kumar, Introduction to Parallel Computing, Addison-Wesley, 2003.

Nickolls, J., Buck, I., Garland, M., Skadron, K, "Scalable parallel programming with CUDA," Queue, Vol. 6, No. 2, pp. 40-53, 2008.

Schroeder, W. J., Lorensen, B., Martin, K., The visualization toolkit, Kitware, 2006.

Vitter, Jeffrey Scott, "External memory algorithms and data structures: Dealing with massive data," ACM Computing surveys (CsUR), Vol. 33, No. 2, pp. 209-271, 2001. crossref(new window)