ACM SIGGRAPH 2007 sketches
CUDA renderer: a programmable graphics pipeline
ACM SIGGRAPH ASIA 2009 Sketches
LayerPaint: a multi-layer interactive 3D painting interface
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Real-time lens blur effects and focus control
ACM SIGGRAPH 2010 papers
Multi-interfaces based refractive rendering
ACM SIGGRAPH 2010 Posters
Multi-layer depth peeling by single-pass rasterisation for faster isosurface raytracing on GPUs
EuroVis'10 Proceedings of the 12th Eurographics / IEEE - VGTC conference on Visualization
Layered depth-of-field rendering using color spreading
Proceedings of the 12th ACM SIGGRAPH International Conference on Virtual-Reality Continuum and Its Applications in Industry
Hi-index | 0.00 |
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.