大佬教程收集整理的这篇文章主要介绍了cocos2dx[3.2](15)——颜色混合BlendFunc,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
原文:点此
混合方式 | 解释 | 因子值 | ||||
GL_ZERO | 全部不用 | (0,0) | ||||
GL_ONE | 全部使用 | (1,1,1) | ||||
GL_SRC_COLOR | 使用源颜色 | (Rs,As) | ||||
GL_DST_COLOR | 使用目标颜色 | (Rd,Ad) | ||||
GL_ONE_MINUS_SRC_COLOR | 减去源颜色 | (1-Rs,1-Gs,1-Bs,1-As) | ||||
GL_ONE_MINUS_DST_COLOR | 减去目标颜色 | (1-Rd,1-Gd,1-Bd,1-Ad) | ||||
GL_SRC_ALPHA | 使用源颜色的透明度 | (As,As,0)"> GL_DST_ALPHA | 使用目标颜色的透明度 | (Ad,Ad,0)"> GL_ONE_MINUS_SRC_ALPHA | 减去源颜色的透明度 | (1-As,1-As,1-As) |
GL_ONE_MINUS_DST_ALPHA | 减去目标颜色的透明度 | (1-Ad,1-Ad,1-Ad) |
const
BlendFuncBlendFunc::DISABLE={GL_ONE,GL_ZERO};
BlendFuncBlendFunc::ALPHA_PREMULTIPLIED={GL_ONE,GL_ONE_MINUS_SRC_ALPHA};
BlendFuncBlendFunc::ALPHA_NON_PREMULTIPLIED={GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA};
4.3、混合方式举例
6
7
8
9
10
11
12
13
14
15
16
//目标图片,已存在于屏幕上
sp1->setPosition(mysize/3);
this
->addChild(sp1);
//源图片,新图片
Sprite*sp2=Sprite::create(
"green.jpg"
);
sp2->setPosition(mysize/3.0*2.0);
->addChild(sp2);
//混合方式,新图片渲染时的混合方式
//{源因子,混合因子}
:1.1em!important; outline:0px!important; overflow:visible!important; position:static!important; right:auto!important; top:auto!important; vertical-align:baseline!important; width:auto!important; font-family:Consolas,GL_ONE};
sp2->setBlendFunc(cbl);
4.4、如下图所示
大佬总结
以上是大佬教程为你收集整理的cocos2dx[3.2](15)——颜色混合BlendFunc全部内容,希望文章能够帮你解决cocos2dx[3.2](15)——颜色混合BlendFunc所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。