Android:从其他线程访问OpenGL
我正在使用Android上的NDK for OpenGL,我试图解决应用程序失去焦点时与GL相关的怪癖。我知道我可以设置一个标志告诉系统我想保持上下文,但这是不可靠的 我已经设置好从文件重新加载着色器,并在应用程序恢复时从本地内存重新上载顶点数据,但纹理给我带来了一些问题。我将代码设置为在onPause中从GL中提取纹理,然后在创建新上下文时将其推回。后来我意识到它不起作用,因为我试图在不同的线程上访问GL数据 是否有任何可靠的黑客可以让我访问这里的总账数据?或者甚至将上下文切换到另一个线程Android:从其他线程访问OpenGL,android,c++,opengl-es-2.0,Android,C++,Opengl Es 2.0,我正在使用Android上的NDK for OpenGL,我试图解决应用程序失去焦点时与GL相关的怪癖。我知道我可以设置一个标志告诉系统我想保持上下文,但这是不可靠的 我已经设置好从文件重新加载着色器,并在应用程序恢复时从本地内存重新上载顶点数据,但纹理给我带来了一些问题。我将代码设置为在onPause中从GL中提取纹理,然后在创建新上下文时将其推回。后来我意识到它不起作用,因为我试图在不同的线程上访问GL数据 是否有任何可靠的黑客可以让我访问这里的总账数据?或者甚至将上下文切换到另一个线程 作
作为这个问题的延伸,在上下文被破坏之前,是否有任何方式可以得到通知?所以我只需要在绝对必要的时候做这个?我最后做的是设置一个布尔值,告诉GL线程它将被放到后台。然后我让它反复暂停onPause线程5ms,直到GL线程指示它已经完成 不是很优雅,应用程序也不会转换出来,但它可以工作