The "normal" source-over blend equation is
outColor = srcAlpha * srcColor + (1 - srcAlpha) * dstColor
This equation does not consider the destination alpha, and as such produces poor results when the destination alpha is not 1.0.
For example, consider the case of a 50%-opaque yellow source color over a destination that is fully transparent, but has a red color. [Edit: e.g. the RGBA buffer has values of [255, 0, 0, 255]
in each channel.] The above equation results in 50% yellow blended with 50% red, tainting the yellow even though the background is fully transparent.
What is a blend equation that works with destination alpha, such that a source image with semi-transparent pixels blended over a fully-transparent target remains unchanged?