DocumentCode
9989
Title
Memory-Hazard-Aware K-Buffer Algorithm for Order-Independent Transparency Rendering
Author
Nan Zhang
Author_Institution
Environ. Modeling & Visualization Lab., Lockheed Martin Co., Chapel Hill, NC, USA
Volume
20
Issue
2
fYear
2014
fDate
Feb. 2014
Firstpage
238
Lastpage
248
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.
Keywords
digital storage; graphics processing units; rendering (computer graphics); GPU stream processors; GPU-based fragment level sorting algorithm; OpenGL 3.x support; OpenGL 4.2 standard; error correction coding; memory hazards; memory-hazard-aware k-buffer algorithm; order-independent transparency rendering; read-after-write memory hazards; significantly reduced artifacts; transparent surfaces; Computer graphics; Error analysis; Rendering (computer graphics); Volume measurements; Transparency rendering; error checking code; graphics processor; memory hazard; visibility sort; volume visualization;
fLanguage
English
Journal_Title
Visualization and Computer Graphics, IEEE Transactions on
Publisher
ieee
ISSN
1077-2626
Type
jour
DOI
10.1109/TVCG.2013.72
Filename
6494571
Link To Document