ABSTRACT
Multi-fragment effects play important roles on many graphics applications, which require operations on more than one fragment per pixel. The classical depth peeling algorithm [Everitt 2001] peels off one layer each pass, but the performance degrades for large scenes. We prefer to capture multiple fragments in a single pass, which is difficult because the fragments generated in graphics pipeline are not allowed to be scattered to arbitrary positions of the buffers. Compute unified device architecture (CUDA) [NVIDIA 2008] provides more flexible control over the GPU memory, but accessing of the fragments generated by graphics pipeline is not yet supported. In this work we design a CUDA rasterizer so that many graphics applications can benefit from the free control of GPU memory, especially for the multi-fragment effects. We present two efficient schemes to capture and sort multiple fragments per pixel in a single geometry pass via the atomic operations of CUDA without read-modify-write (RMW) hazards. Experimental results show significant speedup to classical depth peeling, especially for large scenes.
Supplemental Material
- Carpenter, L. 1984. The a-buffer, an antialiased hidden surface method. In Proceedings of the 11th annual conference on Computer graphics and interactive techniques, 103--108.Google ScholarDigital Library
- Everitt, C. 2001. Interactive order-independent transparency. Tech. rep., NVIDIA Corporation.Google Scholar
- Myers, K., and Bavoil, L. 2007. Stencil routed a-buffer. ACM SIGGRAPH 2007 Technical Sketch Program. Google ScholarDigital Library
- NVIDIA. 2008. Nvidia cuda: Compute unified device architecture.Google Scholar
Index Terms
- Single pass depth peeling via CUDA rasterizer
Recommendations
Efficient depth peeling via bucket sort
HPG '09: Proceedings of the Conference on High Performance Graphics 2009In this paper we present an efficient algorithm for multi-layer depth peeling via bucket sort of fragments on GPU, which makes it possible to capture up to 32 layers simultaneously with correct depth ordering in a single geometry pass. We exploit ...
Bucket depth peeling
SIGGRAPH '09: SIGGRAPH 2009: TalksEfficient rendering of multi-fragment effects has long been a great challenge in computer graphics. The classical depth peeling algorithm [Everitt 2001] provides a simple but robust solution by peeling off one layer per pass, but multi rasterizations ...
Fast soft shadow by depth peeling
SIGGRAPH '10: ACM SIGGRAPH 2010 PostersSoft shadow generation is a challenging problem in realistic rendering. Previous methods using shadow map or shadow volume work well for point light sources but are difficult to be extended to area lights. This paper presents a new method for fast soft ...
Comments