2011-11-01 86 views
3

我正在處理一個應用程序,它需要在特定時間爲幀動畫加載紋理,而渲染線程需要繼續運行,並且需要在bg線程中加載紋理。有沒有辦法在Android中做到這一點?我能夠在ios中通過在使用相同sharegroup的另一個線程上創建單獨的opengl上下文,但不確定在android上是否有類似的工具?android opengl紋理加載線程

回答

3

是的,您可以在上下文之間共享紋理(只要您的驅動程序支持它)。創建你這樣的背景下加載上下文(這意味着你要共享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