Xi'an Jiaotong University, China, Tsinghua University, China and Stony Brook University, USA.
IEEE Trans Vis Comput Graph. 2014 Feb;20(2):238-48. doi: 10.1109/TVCG.2013.72.
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.
(k)-缓冲区算法是一种用于渲染透明表面的基于 GPU 的高效片段级排序算法。由于 GPU 流处理器固有的大规模并行性,该算法现在存在严重的读后写内存冲突。在本文中,我们引入了一种具有纠错编码的改进的 (k)-缓冲区算法来解决内存冲突。我们的算法显著减少了伪影。在保留原始算法所有优点的同时,它只需要 GPU 支持 OpenGL 3.x,而不需要最新的 OpenGL 4.2 标准中才出现的原子操作。我们的算法实现简单,性能高效。还提出了未来 GPU 对该算法的改进支持。