marcus at mc.pp.se
Fri Jan 10 14:36:24 CET 2014
Could someone please explain what the deal is with commit 264ba4a9?
The message says "Keep dst alpha unchanged when blending colours", and
I can see that the code change does just that, but... WHY?
Now the resulting alpha is incorrect. Let's say that the old pixel
was completely transparent (R=G=B=A=0.0). On this we want to plot a
fully opaque green pixel (R=B=0.0, G=A=1.0). With the code change,
the result becomes a pixel with G=1.0 and R=B=A=0.0, which is clearly
wrong; the alpha should be 1.0. If this green pixel were to appear
above a red pixel for example, then then the full colour components of
that red pixel would be added to the green pixel on display (because
A=0.0), resulting in a yellow pixel, not a green one as intended...
More information about the Scummvm-devel