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

}

阅读更多
想对作者说点什么?

博主推荐

换一批

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