android opengl纹理加载线程

问题描述:

我正在处理一个应用程序,它需要在特定时间为帧动画加载纹理,而渲染线程需要继续运行,并且需要在bg线程中加载纹理。有没有办法在Android中做到这一点?我能够在ios中通过在使用相同sharegroup的另一个线程上创建单独的opengl上下文,但不确定在android上是否有类似的工具?android opengl纹理加载线程

是的,您可以在上下文之间共享纹理(只要您的驱动程序支持它)。创建你这样的背景下加载上下文(这意味着你要共享rendering_context对象):那么在你的背景情况下做这样的事情后

eglCreateContext(display, config, rendering_context, attrs); 

glGenTextures(1, &tex); 
glBindTexture(GL_TEXTURE_2D, tex); 
glTexImage2D(...); 

然后可以结合和使用tex从你的渲染上下文。

+0

好的感谢您的快速反应,我不是超级熟悉android上的opengl,eglCreateContext是从ndk或java调用的方法吗?这就是我所要做的,创建上下文并加载纹理,然后杀死线程?谢谢 – marchinram

+0

eglCreateContext()是如何在C/C++中创建上下文的。我无法告诉你关于Java的信息,但可能有类似的东西。所以你所要做的就是创建上下文,并为共享上下文传递渲染上下文。然后开始制作纹理,并使用相同的GLuint在渲染环境中使用它们。 – Chris