k+-buffer - Fragment Synchronized k-buffer

k+-buffer - Fragment Synchronized k-buffer

A. Vasilakis and I. Fudos

In Proceedings of the 18th meeting of the ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games (I3D 2014). ACM, New York, NY, USA, 143-150., 2014

The paper introduces k+-buffer, a fast and accurate multi-fragment rendering framework that simulates k-buffer behavior in a single geometry pass using two GPU data structures (max-array and max-heap) to maintain the k-closest fragments per pixel via fragment culling and pixel synchronization. It can flexibly operate as a Z-buffer or A-buffer without redesign, incorporates a dynamic memory-saving strategy, and outperforms previous k-buffer variants in memory usage, performance, and image quality.

Abstract

k-buffer facilitates novel approaches to multi-fragment rendering and visualization for developing interactive applications on the GPU. Various alternatives have been proposed to alleviate its memory hazards and to avoid completely or partially the necessity of geometry pre-sorting. However, that came with the burden of excessive memory allocation and depth precision artifacts. We introduce k+-buffer, a fast and accurate framework that simulates the k-buffer behavior by exploiting fragment culling and pixel synchronization. Two GPU-accelerated data structures have been developed: (i) the max-array and (ii) the max-heap. These memory-bounded data structures accurately maintain the k-foremost fragments per pixel in a single geometry pass. The choice of the data structure depends on the size k (application-dependent). Without any software-redesign, the proposed scheme can be adapted to perform as a Z-buffer or an A-buffer capturing a single or all generated fragments, respectively. A memory-friendly strategy is also proposed, extending the proposed pipeline to dynamically lessen the potential wasteful memory allocation. Finally, an extensive experimental evaluation is provided demonstrating the advantages of k+-buffer over all prior k-buffer variants in terms of memory usage, performance cost and image quality.

BibTeX Citation

@inproceedings{Vasilakis:2014:KBF:2556700.2556702,
author = {Vasilakis, Andreas A. and Fudos, Ioannis},
title = {K+-buffer: Fragment Synchronized K-buffer},
booktitle = {Proceedings of the 18th Meeting of the ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games},
series = {I3D '14},
year = {2014},
isbn = {978-1-4503-2717-6},
location = {San Francisco, California},
pages = {143--150},
numpages = {8},
url = {http://doi.acm.org/10.1145/2556700.2556702},
doi = {10.1145/2556700.2556702},
acmid = {2556702},
publisher = {ACM},
address = {New York, NY, USA},
keywords = {GPU, a-buffer, k-buffer, max-heap, multi-fragment effects, pixel synchronization, real-time}
}