RGBA:代表Red(红色)Green(绿色)Blue(蓝色)和Alpha的色彩空间。
源颜色:新图的颜色(rgba)。
目标颜色:已有图片的颜色(rgba)。
混合:将源颜色和目标颜色分别乘上一个系数(源颜色的系数为源因子,目标颜色的系数为目标因子),然后进行相加得到新颜色。
公式:
颜色分量定义:
“源颜色”:Rs, Gs, Bs, As
“目标颜色”:Rd, Gd, Bd, Ad
“源因子”:Sr, Sg, Sb, Sa
“目标因子”:Dr, Dg, Db, Da
计算公式:
(Rs*Sr+Rd*Dr, Gs*Sg+Gd*Dg, Bs*Sb+Bd*Db, As*Sa+Ad*Da)
cocos中参数
常数 | 相关因子 | 融合因子结果 | 分析 |
---|---|---|---|
GL_ZERO | 源因子或目的因子 | (0,0,0,0) | 全部不用 |
GL_ONE | 源因子或目的因子 | (1,1,1,1) | 全部使用 |
GL_DST_COLOR | 源因子 | (Rd,Gd,Bd,Ad) | 使用目标颜色 |
GL_SRC_COLOR | 目的因子 | (Rs,Gs,Bs,As) | 使用源颜色 |
GL_ONE_MINUS_DST_COLOR | 源因子 | (1,1,1,1)-(Rd,Gd,Bd,Ad) | 减去目标颜色 |
GL_ONE_MINUS_SRC_COLOR | 目的因子 | (1,1,1,1)-(Rs,Gs,Bs,As) | 减去源颜色 |
GL_SRC_ALPHA | 源因子或目的因子 | (As,As,As,As) | 使用源颜色的透明度 |
GL_DST_ALPHA | 源因子或目的因子 | (Ad,Ad,Ad,Ad) | 使用目标颜色的透明度 |
GL_ONE_MINUS_SRC_ALPHA | 源因子或目的因子 | (1,1,1,1)-(As,As,As,As) | 减去源颜色的透明度 |
GL_ONE_MINUS_DST_ALPHA | 源因子或目的因子 | (1,1,1,1)-(Ad,Ad,Ad,Ad) | 减去目标颜色的透明度 |
GL_SRC_ALPHA_SATURATE | 源因子 | (f,f,f,1); f=min(As,1-Ad) |
后续会更新上本人使用之后图片效果上去