cocos2dx愉快的加载shader

逛cocos China看到的shader导致内存不断上升解决方案

getorcreatewithName的创建方式每次都会创建新的。最好先找找是否有缓存的可以拿来用

void loadShaders(const char * vert, const char * frag, Sprite*_sprite)
{

auto glprogram=GLProgramCache::getInstance()->getGLProgram("mytest");


if (!glprogram)
{
glprogram= GLProgram::createWithFilenames(vert, frag);
GLProgramCache::getInstance()->addGLProgram(glprogram, "mytest");
}
    auto glprogramstate = GLProgramState::create(glprogram);
    if (glprogramstate)
{
_sprite->setGLProgramState(glprogramstate);
}

}

阅读更多
个人分类: cocos2dx-3.16
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭