我正在开发一个应用,需要在运行时的某个时间加载帧动画所需的纹理,同时渲染线程需要继续运行,并且我需要在后台线程中加载纹理。在Android上是否有这样做的方法? 我能够在iOS上通过创建另一个线程上使用相同共享组的分离opengl上下文来实现,但不确定Android上是否有类似的功能?
是的,您可以在上下文之间共享纹理(只要您的驱动程序支持)。像这样创建您的后台加载上下文(意味着您想与渲染上下文共享对象):
eglCreateContext(display, config, rendering_context, attrs);
在您的后台上下文中进行像这样的操作之后:
glGenTextures(1, &tex);
glBindTexture(GL_TEXTURE_2D, tex);
glTexImage2D(...);
tex
。