Deep images store multiple fragments perpixel, each of which includes colour and depth, unlike traditional 2D flat images which store only a single colour value and possibly a depth value. Recently, deep images have found use in an increasing number of applications, including ones using transparency and compositing. A step in compositing deep images requires merging per-pixel fragment lists in depth order; little work has so far been presented on fast approaches.This paper explores GPU based merging of deep images using different memory layouts for fragment lists: linked lists, linearised arrays, and interleaved arrays. We also report performance improvements using techniques which leverage GPU memory hierarchy by processing blocks of fragment data using fast registers, following similar techniques used to improve performance of transparency rendering. We report results for compositing from two deep images or saving the resulting deep image before compositing, as well as for an iterated pairwise merge of multiple deep images. Our results show a 2 to 6 fold improvement by combining efficient memory layout with fast register based merging.
[1]
Tom Duff.
Deep Compositing Using Lie Algebras
,
2017,
ACM Trans. Graph..
[2]
Dylan Lacewell,et al.
Improved deep image compositing using subpixel masks
,
2015,
DigiPro.
[3]
Tom Duff,et al.
Compositing digital images
,
1984,
SIGGRAPH.
[4]
João Luiz Dihl Comba,et al.
Memory-Efficient Order-Independent Transparency with Dynamic Fragment Buffer
,
2012,
2012 25th SIBGRAPI Conference on Graphics, Patterns and Images.
[5]
Geoff Leach,et al.
Fast sorting for exact OIT of complex scenes
,
2014,
The Visual Computer.
[6]
Geoff Leach,et al.
Efficient layered fragment buffer techniques
,
2012
.
[7]
Geoff Leach,et al.
Backwards Memory Allocation and Improved OIT
,
2013,
PG.