alpha_blend
pd[i].Red = alpha_blend(ps[i].Red, pd[i].Red, a);
pd[i].Green = alpha_blend(ps[i].Green, pd[i].Green, a);
pd[i].Blue = alpha_blend(ps[i].Blue, pd[i].Blue, a);
dst[i] = alpha_blend(src[i], dst[i], a);
dst[i+1] = alpha_blend(src[i+1], dst[i+1], a);
dst[i+2] = alpha_blend(src[i+2], dst[i+2], a);
dst[i] = alpha_blend(src[i], dst[i], a);
dst[i+1] = alpha_blend(src[i+1], dst[i+1], a);
dst[i+2] = alpha_blend(src[i+2], dst[i+2], a);