Title :
-buffer: An Efficient, Memory-Friendly and Dynamic
Author :
Vasilakis, Andreas-Alexandros ; Papaioannou, Georgios ; Fudos, Ioannis
Author_Institution :
Dept. of Inf., Athens Univ. of Econ. & Bus., Athens, Greece
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.
Keywords :
buffer storage; graphics processing units; image processing; rendering (computer graphics); GPU cache; complex rendering effects; complexity frequencies; depth complexity; depth sorted fragment determination; dynamic k-buffer framework; fixed memory depth sorting mechanism; graphics memory requirements; image based techniques; k+-buffer; memory bounded data structures; memory friendly; memory friendly strategies; pixel synchronization; quality artifacts; rasterizing scenes; wasteful memory allocation; Arrays; Complexity theory; Geometry; Graphics processing units; Memory management; Rendering (computer graphics); Sorting; A-buffer; depth complexity histogram; depth peeling; dynamic geometry; k-buffer; pixel synchronization;
Journal_Title :
Visualization and Computer Graphics, IEEE Transactions on
DOI :
10.1109/TVCG.2015.2417581