当设备进入锁定模式并恢复时,着色器在Android设备中不起作用

时间:2013-07-03 15:18:02

标签: android opengl-es shader cocos2d-x

我第一次在Samsung GT-N8000上使用cocos2d-2.0-x-2.0.4开发Android应用程序,所以如果有人对此主题有所了解,请帮助我。

此设备上的着色器一切正常但我在设备进入锁定模式并解锁时发现错误。

1 个答案:

答案 0 :(得分:2)

雅。我们遇到了同样的问题。无论添加到'shadercache'中的自定义着色器,一旦应用程序进入后台并从其中恢复,就无法正常工作。只需尝试重置自定义着色器并在其位置添加新着色器。

有关详细信息,请查看名为app resume的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();

}