我正在开发一个应用程序,它需要在执行时的某些时间为帧动画加载纹理,渲染线程需要继续运行,我需要在bg线程中加载纹理。在android中有没有办法做到这一点?我能够在ios中通过在另一个使用相同sharegroup的线程上创建一个单独的opengl上下文,但我不确定android上是否有类似的工具?
答案 0 :(得分:3)
是的,您可以在上下文之间共享纹理(只要您的驱动程序支持它)。像这样创建你的后台加载上下文(意思是你想用rendering_context共享对象):
eglCreateContext(display, config, rendering_context, attrs);
然后在你的背景环境中做这样的事情之后:
glGenTextures(1, &tex);
glBindTexture(GL_TEXTURE_2D, tex);
glTexImage2D(...);
然后,您可以从渲染上下文中绑定并使用tex
。