我有一个使用OpenGL ES 1.1的Android java应用程序,我遇到了以下问题:当应用程序最小化时,在activity上调用onPause()。在这一点上,我想保留一个GL纹理(我渲染的东西),并将其保存在内存中,而openGL上下文被销毁。然后,当应用程序恢复时,我可以恢复我的纹理。但是,检索openGL纹理需要GL命令,这些命令只能由渲染线程完成,在停止之前,渲染线程可能会有更多的渲染迭代次数。
有没有一种已知的方法来
到目前为止,我已经跟踪(),并能够通过使用两个QML引擎实现屏幕上和屏幕外的渲染。问题是,任何调用glReadPixels (QOpenGLFramebufferObject->toImage)的保存方法都会阻止屏幕上的呈现。我已经学会了一种解决这一问题的方法,就是使用像素缓冲对象(pbo)来实现异步传输;我已经在我的桌面平台上实现了这一点,但我需要一个嵌入式平台的解决方案,该平台具有OpenGL ES 2.0和QT5.7.1是否有其他方法可以使用帧、缓冲区、对象或纹理来实现这个目
我目前正在一个基于ARM的嵌入式Linux系统上设计一些支持OpenGL ES 2.0的应用程序,使用C++,我希望与另一个应用程序"B“共享一个应用程序"A”的呈现面(由OpenGLES2或EGL创建的由于我是OpenGL ES 2的初学者(更重要的是,由于缓冲区位于GPU的内存上,我无法控制或访问),所以我首先考虑映射共享内存对象(例如,长度为width*height*colorComponentCount的uint8_t数组,使用POSIX shm_open()等)。在这两个进程
我目前正在渲染一个场景的深度到一个纹理。我想在任意给定的点x,y得到纹理的值。我尝试使用glReadPixels,但它似乎不起作用,而且它也不是最优的解决方案。如果可能的话,我正在考虑一种直接从内存中读取纹理数据的方法。除了在帧缓冲区上实际渲染一个带有深度纹理的四边形之外,你有没有想过在任何给定的x,y上获得这个值?顺便说一句,我在安卓系统上使用的是OpenGL ES 2.0。GL_FRAMEBUF