android opengl纹理加载线程

时间:2011-11-01 22:52:57

标签: android multithreading opengl-es

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

1 个答案:

答案 0 :(得分:3)

是的,您可以在上下文之间共享纹理(只要您的驱动程序支持它)。像这样创建你的后台加载上下文(意思是你想用rendering_context共享对象):

eglCreateContext(display, config, rendering_context, attrs);

然后在你的背景环境中做这样的事情之后:

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

然后,您可以从渲染上下文中绑定并使用tex