Multi-fragment effects on the GPU using the k-buffer

Many interactive rendering algorithms require operations on multiple fragments (i.e., ray intersections) at the same pixel location: however, current Graphics Processing Units (GPUs) capture only a single fragment per pixel. Example effects include transparency, translucency, constructive solid geometry, depth-of-field, direct volume rendering, and isosurface visualization. With current GPUs, programmers implement these effects using multiple passes over the scene geometry, often substantially limiting performance. This paper introduces a generalization of the Z-buffer, called the k-buffer, that makes it possible to efficiently implement such algorithms with only a single geometry pass, yet requires only a small, fixed amount of additional memory. The k-buffer uses framebuffer memory as a read-modify-write (RMW) pool of k entries whose use is programmatically defined by a small k-buffer program. We present two proposals for adding k-buffer support to future GPUs and demonstrate numerous multiple-fragment, single-pass graphics algorithms running on both a software-simulated k-buffer and a k-buffer implemented with current GPUs. The goal of this work is to demonstrate the large number of graphics algorithms that the k-buffer enables and that the efficiency is superior to current multipass approaches.

[1]  Markus H. Gross,et al.  Real-Time Volumetric Intersections of Deforming Objects , 2003, VMV.

[2]  John D. Owens,et al.  Glift: generic data structures for graphics hardware , 2006 .

[3]  Cláudio T. Silva,et al.  GPU-Based Tiled Ray Casting Using Depth Peeling , 2006, J. Graph. Tools.

[4]  Randima Fernando,et al.  The GeForce 6 series GPU architecture , 2005, SIGGRAPH Courses.

[5]  Edwin Earl Catmull,et al.  A subdivision algorithm for computer display of curved surfaces. , 1974 .

[6]  David Blythe The Direct3D 10 system , 2006, ACM Trans. Graph..

[7]  Reinhard Klein,et al.  Depth-peeling for texture-based volume rendering , 2003, 11th Pacific Conference onComputer Graphics and Applications, 2003. Proceedings..

[8]  Craig M. Wittenbrink R-buffer: a pointerless A-buffer hardware architecture , 2001, HWWS '01.

[9]  John D. Owens,et al.  Interactive Depth of Field Using Simulated Diffusion on a GPU , 2006 .

[10]  Cláudio T. Silva,et al.  Robust Soft Shadow Mapping with Backprojection and Depth Peeling , 2008, J. Graph. Tools.

[11]  Norman P. Jouppi,et al.  Z3: an economical hardware technique for high-quality antialiasing and transparency , 1999, Workshop on Graphics Hardware.

[12]  Robert Sedgewick,et al.  Algorithms in C , 1990 .

[13]  J. E. Thornton,et al.  Parallel operation in the control data 6600 , 1964, AFIPS '64 (Fall, part II).

[14]  Tomas Akenine-Möller,et al.  Efficient depth buffer compression , 2006, GH '06.

[15]  James E. Thomton,et al.  Parallel Operation in the Control Data 6600 , 1899 .

[16]  Dinesh Manocha,et al.  Interactive visibility ordering and transparency computations among geometric primitives in complex environments , 2005, SIGGRAPH Courses.

[17]  Andrew Woo The Shadow depth Map Revisited , 1992, Graphics Gems III.

[18]  Oliver Deussen,et al.  Real-time watercolor illustrations of plants using a blurred depth test , 2006, NPAR.

[19]  Charles T. Loop,et al.  Smooth Subdivision Surfaces Based on Triangles , 1987 .

[20]  Xavier Tricoche,et al.  Interactive point-based isosurface extraction , 2004, IEEE Visualization 2004.

[21]  Cass W. Everitt,et al.  Interactive Order-Independent Transparency , 2001 .

[22]  Loren C. Carpenter,et al.  The A -buffer, an antialiased hidden surface method , 1984, SIGGRAPH.

[23]  Steven P. Callahan,et al.  Robust Soft Shadow Mapping with Depth Peeling , 2006 .

[24]  Àlex Méndez-Feliu,et al.  Real-time obscurances with color bleeding , 2003, SCCG '03.

[25]  David Blythe The Direct3D 10 system , 2006, SIGGRAPH 2006.

[26]  Eric Enderton,et al.  GPU-accelerated high-quality hidden surface removal , 2005, HWWS '05.

[27]  Michael Kelley,et al.  Hardware accelerated rendering of CSG and transparency , 1994, SIGGRAPH.

[28]  William R. Mark,et al.  The F-buffer: a rasterization-order FIFO buffer for multi-pass rendering , 2001, HWWS '01.

[29]  Thomas Ertl,et al.  Hardware-based view-independent cell projection , 2002, VVS '02.

[30]  Mike Houston,et al.  A Hardware F-Buffer Implementation , 2005 .

[31]  P CallahanSteven,et al.  Hardware-Assisted Visibility Sorting for Unstructured Volume Rendering , 2005 .

[32]  Elmar Eisemann,et al.  Fast scene voxelization and applications , 2006, I3D '06.

[33]  Abraham Mammen,et al.  Transparency and antialiasing algorithms implemented with the virtual pixel maps technique , 1989, IEEE Computer Graphics and Applications.

[34]  Cláudio T. Silva,et al.  Hardware-assisted visibility sorting for unstructured volume rendering , 2005, IEEE Transactions on Visualization and Computer Graphics.