2013-07-03 40 views

回答

2

雅。我們遇到了同樣的問題。無論將自定義着色器添加到「shadercache」中,只要應用程序轉到背景並從其恢復,就無法工作。只要嘗試重置您的自定義着色器並在其位置添加新的着色器。

欲瞭解更多信息,請查看CCShaderCache::reloadDefaultShaders()這就是所謂的被稱爲應用程序的簡歷。

CCGLProgram * program = CCShaderCache::sharedShaderCache()->programForKey("customshader"); 
    //reset the old 
    if(program) 
     program->reset(); 

{ 
    CCGLProgram * p = new CCGLProgram(); 
    ..... 
    ..... 
    p->updateUniforms(); 
    //add new shader 
    CCShaderCache::sharedShaderCache()->addProgram(p, "customshader"); 
    p->release(); 

} 
相關問題