The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.02 - Feb. (2014 vol.20)
pp: 238-248
Nan Zhang , Environ. Modeling & Visualization Lab., Lockheed Martin Co., Chapel Hill, NC, USA
ABSTRACT
The (k)-buffer algorithm is an efficient GPU-based fragment level sorting algorithm for rendering transparent surfaces. Because of the inherent massive parallelism of GPU stream processors, this algorithm suffers serious read-after-write memory hazards now. In this paper, we introduce an improved (k)-buffer algorithm with error correction coding to combat memory hazards. Our algorithm results in significantly reduced artifacts. While preserving all the merits of the original algorithm, it requires merely OpenGL 3.x support from the GPU, instead of the atomic operations appearing only in the latest OpenGL 4.2 standard. Our algorithm is simple to implement and efficient in performance. Future GPU support for improving this algorithm is also proposed.
INDEX TERMS
Rendering (computer graphics), Volume measurements, Error analysis, Computer graphics,graphics processor, volume visualization, Transparency rendering, visibility sort, memory hazard, error checking code
CITATION
Nan Zhang, "Memory-Hazard-Aware K-Buffer Algorithm for Order-Independent Transparency Rendering", IEEE Transactions on Visualization & Computer Graphics, vol.20, no. 2, pp. 238-248, Feb. 2014, doi:10.1109/TVCG.2013.72
REFERENCES
[1] L. Bavoil, S.P. Callahan, A. Lefohn, J.L.D. Comba, and C.T. Silva, “Multi-Fragment Effects on the GPU Using the K-Buffer,” Proc. ACM SIGGRAPH Symp. Interactive 3D Graphics and Games, pp. 97-104, 2007.
[2] L. Bavoil and K. Myers, “Order Independent Transparency with Dual Depth Peeling,” technical report, Nvidia Corporation, 2008.
[3] S. Callahan, M. Ikits, J.L.D. Comba, and C. Silva, “Hardware-Assisted Visibility Sorting for Unstructured Volume Rendering,” IEEE Trans. Visualization and Computer Graphics, vol. 11, no. 3, pp. 285-295, May 2005.
[4] L. Carpenter, “The A-Buffer, an Antialiased Hidden Surface Method,” ACM SIGGRAPH Computer Graphics, vol. 18, pp. 103-108, 1984.
[5] E. Enderton, E. Sintorn, P. Shirley, and D. Luebke, “Stochastic Transparency,” IEEE Trans. Visualization and Computer Graphics, vol. 17, no. 8, pp. 1036-1047, Aug. 2011.
[6] C. Everitt, “Interactive Order-Independent Transparency,” technical report, Nvidia Corporation, 2001.
[7] B. Liu, L. Wei, and Y. Xu, “Multi-Layer Depth Peeling via Fragment Sort,” Technical Report MSR-TR-2006-81, Microsoft Research Asia, 2006.
[8] F. Liu, M.-C. Huang, X. Liu, and E. Wu, “Efficient Depth Peeling via Bucket Sort,” Proc. ACM SIGGRAPH Symp. High Performance Graphics, pp. 51-57, 2009.
[9] F. Liu, M.-C. Huang, X. Liu, and E. Wu, “Freepipe: A Programmable Parallel Rendering Architecture for Efficient Multi-Fragment Effects,” Proc. ACM SIGGRAPH Symp. Interactive 3D Graphics and Games, pp. 75-82, 2010.
[10] W.R. Mark and K. Proudfoot, “The F-Buffer: A Rasterization-Order FIFO Buffer for Multi-Pass Rendering,” Proc. ACM SIGGRAPH/EUROGRAPHICS Workshop Graphics Hardware, pp. 57-64, 2001.
[11] K. Myers and L. Bavoil, “Stencil Routed A-Buffer,” Proc. ACM SIGGRAPH Technical Sketches, 2007.
[12] “NVIDIA's Next Generation CUDA Compute Architecture: Kepler GK110,” http://www.nvidia.com/content/PDF/kepler NVIDIA-Kepler-GK110-Architecture-Whitepaper.pdf , NVIDIA, 2012.
[13] M. Salvi, J. Montgomery, and A. Lefohn, “Adaptive Transparency,” Proc. ACM SIGGRAPH Symp. High Performance Graphics, pp. 119-126, 2011.
[14] C. Shannon, “A Mathematical Theory of Communication,” Bell System Technical J., vol. 27, pp. 379-423, 623-656, 1948.
[15] C.M. Wittenbrink, “R-Buffer: A Pointerless A-Buffer Hardware Architecture,” Proc. ACM SIGGRAPH/EUROGRAPHICS Workshop Graphics Hardware, pp. 73-80, 2001.
[16] J.C. Yang, J. Hensley, H. Grün, and N. Thibieroz, “Real-Time Concurrent Linked List Construction on the GPU,” Computer Graphics Forum, vol. 29, no. 4 pp. 1297-1304, 2010.
152 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool