EXACT: algorithm and hardware architecture for an improved A-buffer
SIGGRAPH '93 Proceedings of the 20th annual conference on Computer graphics and interactive techniques
A bandwidth-efficient architecture for media processing
MICRO 31 Proceedings of the 31st annual ACM/IEEE international symposium on Microarchitecture
Z3: an economical hardware technique for high-quality antialiasing and transparency
HWWS '99 Proceedings of the ACM SIGGRAPH/EUROGRAPHICS workshop on Graphics hardware
Interactive multi-pass programmable shading
Proceedings of the 27th annual conference on Computer graphics and interactive techniques
Polygon rendering on a stream architecture
HWWS '00 Proceedings of the ACM SIGGRAPH/EUROGRAPHICS workshop on Graphics hardware
A real-time procedural shading system for programmable graphics hardware
Proceedings of the 28th annual conference on Computer graphics and interactive techniques
The A -buffer, an antialiased hidden surface method
SIGGRAPH '84 Proceedings of the 11th annual conference on Computer graphics and interactive techniques
SIGGRAPH '84 Proceedings of the 11th annual conference on Computer graphics and interactive techniques
A real-time procedural shading system for programmable graphics hardware
Proceedings of the 28th annual conference on Computer graphics and interactive techniques
R-buffer: a pointerless A-buffer hardware architecture
Proceedings of the ACM SIGGRAPH/EUROGRAPHICS workshop on Graphics hardware
Chromium: a stream-processing framework for interactive rendering on clusters
Proceedings of the 29th annual conference on Computer graphics and interactive techniques
Ray tracing on programmable graphics hardware
Proceedings of the 29th annual conference on Computer graphics and interactive techniques
Efficient partitioning of fragment shaders for multipass rendering on programmable graphics hardware
Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware
Delay streams for graphics hardware
ACM SIGGRAPH 2003 Papers
TOIGP: a new hierarchical depth occlusion
Proceedings of the 2006 ACM international conference on Virtual reality continuum and its applications
Ray tracing on programmable graphics hardware
SIGGRAPH '05 ACM SIGGRAPH 2005 Courses
Multi-fragment effects on the GPU using the k-buffer
Proceedings of the 2007 symposium on Interactive 3D graphics and games
Proceedings of the 22nd ACM SIGGRAPH/EUROGRAPHICS symposium on Graphics hardware
Distributed texture memory in a multi-GPU environment
GH '06 Proceedings of the 21st ACM SIGGRAPH/EUROGRAPHICS symposium on Graphics hardware
Coherent layer peeling for transparent high-depth-complexity scenes
Proceedings of the 23rd ACM SIGGRAPH/EUROGRAPHICS symposium on Graphics hardware
Efficient depth peeling via bucket sort
Proceedings of the Conference on High Performance Graphics 2009
Ray casting of multiple volumetric datasets with polyhedral boundaries on manycore GPUs
ACM SIGGRAPH Asia 2009 papers
FreePipe: a programmable parallel rendering architecture for efficient multi-fragment effects
Proceedings of the 2010 ACM SIGGRAPH symposium on Interactive 3D Graphics and Games
Proceedings of the ACM SIGGRAPH Symposium on High Performance Graphics
Technical Section: A survey of raster-based transparency techniques
Computers and Graphics
International Journal of High Performance Computing Applications
Depth-presorted triangle lists
ACM Transactions on Graphics (TOG) - Proceedings of ACM SIGGRAPH Asia 2012
Real-time concurrent linked list construction on the GPU
EGSR'10 Proceedings of the 21st Eurographics conference on Rendering
Hi-index | 0.00 |
Multi-pass rendering is a common method of virtualizing graphics hardware to overcome limited resources. Most current multi-pass rendering techniques use the RGBA framebuffer to store intermediate results between each pass. This method of storing intermediate results makes it difficult to correctly render partially-transparent surfaces, and reduces the performance of shaders that need to preserve more than one intermediate result between passes. We propose an alternative approach to storing intermediate results that solves these problems. This approach stores intermediate colors (or other values) that are generated by a rendering pass in a FIFO buffer as the values exit the fragment pipeline. On a subsequent pass, the contents of the FIFO buffer are fed into the top of the fragment pipeline. We refer to this FIFO buffer as a fragment-stream buffer (or F-buffer), because this approach has the effect of associating intermediate results with particular rasterization fragments, rather than with an (x,y) location in the framebuffer. Implementing an F-buffer requires some changes to current mainstream graphics architectures, but these changes can be minor. We describe the design space associated with implementing an F-buffer, and compare the F-buffer to recirculating pipeline designs. We implement F-buffers in the Mesa software renderer, and demonstrate our programmable-shading system running on top of this renderer.