Buenas:
estoy dibujando unos sprites en pantalla.
Para ello tengo un buffer con el fondo (24 bits, canales r,g,b entrelazados) y un buffer con el sprite (24 bits tambien entrelazado), luego tengo otro buffer igual de grande con el canal alpha del sprite, un blur sobre lo que seria su mascara para que los bordes sean suaves.
Bien, estoy teniendo problemas con el blending.
en teoria (corregidme si me equivoco)
la formula seria
r= ( rojo de overlay & rojo de Mascara) | (rojo de fondo & (255-rojo de mascara));
g= ( verde de overlay & verde de Mascara) | (verde de fondo & (255-verde de mascara));
b= ( azul de overlay & azul de Mascara) | (azul de fondo & (255-azul de mascara));
es asi? por que haciendolo asi me esta dando fallos en el gradiente. Y salen extrañas rayas.
overlay : verde completo liso con una banda blanca
mascara: Es un gradiente de blanco a negro de izquierda superior a derecha inferior
fondo: el visible, la mayor parte en rojo.