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);
}

}

猜你喜欢

转载自blog.csdn.net/qq_35158695/article/details/80351118
今日推荐