Soft Stacking

Smoke-Head example, step 0 Smoke-Head example, step 2 Smoke-Head example, step 5



In this paper, we present a continuous approach to ordering 2D images when compositing. Previous methods for stacking image layers require them to appear in a single (though possibly different) order at every point in the image. Our soft stacking approach removes this restriction -- allowing layers to stack as if they were volumes of fog, appearing partially in front of and partially in back of other layers within the same pixel, and moving smoothly through other layers across the image. Our approach involves augmenting each pixel with stacking coefficients -- a necessary and sufficient representation for sub-pixel stacking complexity. These stacking coefficients arise naturally when considering sub-pixel stacking complexity, much as continuous (alpha) transparency arises when considering sub-pixel coverage complexity.

While the number of stacking coefficients required to represent all possible sub-pixel stacking arrangements is factorial in the number of layers in the stack, in many practical situations only a small subset of the stacking coefficients are nonzero. We use this sparsity as the basis of a prototype that allows artists to interactively paint stacking adjustments into composites. Additionally, we demonstrate how to generate optimally-stacked images under a generalized notion of stacking consistency.


James McCann and Nancy S. Pollard. Soft Stacking. To appear in Computer Graphics Forum (Eurographics), May 2012.
soft stacking paper thumbnail
Full-size figures and source data
soft stacking figures package


Eurographics video
soft stacking expository movie


Brush-based Stacking [source on github]

Optimization-based Stacking is built as a Preshack module (see dist/ss_examples/ss_examples.hack) [source on github]

Copyright notice