cocos2dx 3.x中灰度精灵的用法

cocos2dx 3.x中灰度精灵的用法,第1张

概述std::string shader = FileUtils::getInstance()->getStringFromFile("example_greyScale.fsh"); GLProgramCache::getInstance()->addGLProgram(GLProgram::createWithByteArrays(ccPositionTextureColor_noMVP_vert
std::string shader = fileUtils::getInstance()->getStringFromfile("example_greyScale.fsh");

GLProgramCache::getInstance()->addGLProgram(GLProgram::createWithByteArrays(ccpositionTexturecolor_noMVP_vert,shader.c_str()),"grey_effect");

//以上两句只需要用一次就可以


auto sprite = Sprite::create("CloseSelected.png");

//保存原来的精灵着色器,并命名为“normal_effect

GLProgramCache::getInstance()->addGLProgram(sprite->getGLProgram(),"normal_effect");

//设置精灵着色器为灰度着色器

sprite->setGLProgram(GLProgramCache::getInstance()->getGLProgram("grey_effect"));
addChild(sprite);
sprite->setLocalZOrder(-1);

sprite->setposition(visibleSize.wIDth/2+100,visibleSize.height/2);


设置灰色精灵变回正常的话需要先保存原来的shader的GLProgram。也是一句代码。

sprite->setGLProgram(GLProgramCache::getInstance()->getGLProgram("normal_effect"));


example_greyScale.fsh这个文件可以在test资源文件中找到。然后放到工程资源目录下就可以了。

总结

以上是内存溢出为你收集整理的cocos2dx 3.x中灰度精灵的用法全部内容,希望文章能够帮你解决cocos2dx 3.x中灰度精灵的用法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1052785.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存