Home » Single publication
k+-buffer: An Efficient, Memory-Friendly and Dynamic k-buffer Framework
A. A. Vasilakis, G. Papaioannou, I. Fudos
IEEE Transactions on Visualization and Computer Graphics, vol 21(6)
Abstract
Depth-sorted fragment determination is fundamental for a host of image-based techniques which simulates complex
rendering effects. It is also a challenging task in terms of time and space required when rasterizing scenes with high depth complexity. When low graphics memory requirements are of utmost importance, k-buffer can objectively be considered as the most preferred framework which advantageously ensures the correct depth order on a subset of all generated fragments. Although various alternatives have been introduced to partially or completely alleviate the noticeable quality artifacts produced by the initial k-buffer algorithm in the expense of memory increase or performance downgrade, appropriate tools to automatically and dynamically compute the most suitable value of k are still missing. To this end, we introduce k+-buffer, a fast framework that accurately simulates the behavior of k-buffer in a single rendering pass. Two memory-bounded data structures: (i) the max-array and (ii) the max-heap are developed on the GPU to concurrently maintain the k-foremost fragments per pixel by exploring pixel synchronization and fragment culling. Memory-friendly strategies are further introduced to dynamically (a) lessen the wasteful memory allocation of individual pixels with low depth complexity frequencies, (b) minimize the allocated size of k-buffer according to different application goals and hardware limitations via a straightforward depth histogram analysis and (c) manage local GPU cache with a fixed-memory depth-sorting mechanism. Finally, an extensive experimental evaluation is provided demonstrating the advantages of our work over all prior k-buffer variants in terms of memory usage, performance cost and image quality.
rendering effects. It is also a challenging task in terms of time and space required when rasterizing scenes with high depth complexity. When low graphics memory requirements are of utmost importance, k-buffer can objectively be considered as the most preferred framework which advantageously ensures the correct depth order on a subset of all generated fragments. Although various alternatives have been introduced to partially or completely alleviate the noticeable quality artifacts produced by the initial k-buffer algorithm in the expense of memory increase or performance downgrade, appropriate tools to automatically and dynamically compute the most suitable value of k are still missing. To this end, we introduce k+-buffer, a fast framework that accurately simulates the behavior of k-buffer in a single rendering pass. Two memory-bounded data structures: (i) the max-array and (ii) the max-heap are developed on the GPU to concurrently maintain the k-foremost fragments per pixel by exploring pixel synchronization and fragment culling. Memory-friendly strategies are further introduced to dynamically (a) lessen the wasteful memory allocation of individual pixels with low depth complexity frequencies, (b) minimize the allocated size of k-buffer according to different application goals and hardware limitations via a straightforward depth histogram analysis and (c) manage local GPU cache with a fixed-memory depth-sorting mechanism. Finally, an extensive experimental evaluation is provided demonstrating the advantages of our work over all prior k-buffer variants in terms of memory usage, performance cost and image quality.
@article{DBLP:journals/tvcg/VasilakisPF15,
author = {Andreas{-}Alexandros Vasilakis and
Georgios Papaioannou and
Ioannis Fudos},
title = {k\({}^{\mbox{+}}\)-buffer: An Efficient, Memory-Friendly and Dynamic
k-buffer Framework},
journal = {{IEEE} Trans. Vis. Comput. Graph.},
volume = {21},
number = {6},
pages = {688--700},
year = {2015},
url = {http://dx.doi.org/10.1109/TVCG.2015.2417581},
doi = {10.1109/TVCG.2015.2417581},
timestamp = {Mon, 07 Mar 2016 17:32:02 +0100},
biburl = {http://dblp.uni-trier.de/rec/bib/journals/tvcg/VasilakisPF15},
bibsource = {dblp computer science bibliography, http://dblp.org}
}
author = {Andreas{-}Alexandros Vasilakis and
Georgios Papaioannou and
Ioannis Fudos},
title = {k\({}^{\mbox{+}}\)-buffer: An Efficient, Memory-Friendly and Dynamic
k-buffer Framework},
journal = {{IEEE} Trans. Vis. Comput. Graph.},
volume = {21},
number = {6},
pages = {688--700},
year = {2015},
url = {http://dx.doi.org/10.1109/TVCG.2015.2417581},
doi = {10.1109/TVCG.2015.2417581},
timestamp = {Mon, 07 Mar 2016 17:32:02 +0100},
biburl = {http://dblp.uni-trier.de/rec/bib/journals/tvcg/VasilakisPF15},
bibsource = {dblp computer science bibliography, http://dblp.org}
}
close