如何在加载新活动时阻止opengl上下文丢失

时间:2016-03-23 18:03:22

标签: android opengl-es 3d

我正在开发一个3D android应用程序,我需要在两个不同的活动中进行渲染(一个活动中的正常渲染和另一个活动中的VR渲染)。我发现,一旦我从一个活动转移到另一个活动,我的三维模型数据(顶点,索引)就会丢失。如果我回到第一个活动,我必须从文件重新加载整个数据。这个具体问题有没有解决方法?这也是我可以保存模型以获得最快加载速度的最佳格式。

1 个答案:

答案 0 :(得分:2)

您可以使用GLSurfaceView.setPreserveEGLContextOnPause。虽然不保证支持保留EGL上下文,但它在现代Android设备上广泛使用。

至于模型加载速度 - 你会危险地进入'基于意见'的领域。但是,正如您的GLES缓冲区所期望的那样,模型格式可以直接从磁盘流式传输,无需任何修改 - 因此,这可能是您加载速度最快的解决方案。但是,许多开发人员使用其他格式(例如FBX / OBJ /等),因为它们更灵活,可直接从DCC工具导出。