• 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