android - 当设备进入锁定模式并恢复时,着色器在 Android 设备中无法工作

标签 android opengl-es shader cocos2d-x

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

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

最佳答案

是的。我们有同样的问题。一旦应用程序进入后台并从其恢复,无论添加到“着色器缓存”的自定义着色器都不起作用。只需尝试重置您的自定义着色器并在其位置添加新的着色器即可。

有关更多信息,请检查 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();

}

关于android - 当设备进入锁定模式并恢复时,着色器在 Android 设备中无法工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17451870/

相关文章:

android - 放弃音频焦点不会恢复其他应用程序的音乐流

iphone - OpenGL,具有不透明度且没有可见重叠的图元

iPhone OpenGL - 如何渐变淡出纹理?

3d - 在 Three.js 中从后处理中排除对象/图层

iOS Metal 计算管道比搜索任务的 CPU 实现慢

Android - 获取 facebook 个人资料图片

java - 如何设置Layout的View

android - 我如何设计带有点的 android 搜索栏

opengl - 是否有用于OpenGL阴影语言的 Lint 工具?

c++ - OpenGL (ES) 图像处理 C++