【发布时间】:2013-06-03 08:58:18
【问题描述】:
我想要两个线程。一个线程使用 FBO 写入纹理,另一个线程使用它渲染到屏幕。 这可以在 Windows 等上完成,但我该如何在 Android 上完成呢? 我正在使用 GL ES 2,并且正在使用 Textureview 我已阅读有关 egl 图像扩展的信息,但我不知道如何使用它们 http://www.khronos.org/registry/egl/extensions/KHR/EGL_KHR_image.txt http://www.khronos.org/registry/egl/extensions/KHR/EGL_KHR_image_base.txt 我读到 egl 扩展并非在所有平台上都得到完全支持。可以在安卓上使用吗? 我不能使用不能保证正常工作的东西。
这是我在这个链接上读到的: http://www.khronos.org/message_boards/showthread.php/7319-EGLImage-on-Android-NDK
- 在 Android 4.0 中添加了新的 TextureView 类后,EGL 图像扩展就不再是必需的了。使用 TextureView 在 OpenGL ES 和 Canvas API 之间传输纹理图像。
我正在使用 TextureView。如何使用它来“传输纹理图像”?
我还在某处读到 egl 将纹理定义为默认共享。这是什么意思?如果纹理已经被定义为共享,我该如何在不同的上下文中使用它?
我不想在另一个线程中使相同的上下文成为当前的,因为我希望在不阻塞渲染到屏幕的情况下完成纹理加载。这有意义吗? 我对 OpenGL 没有太多经验。
显然,firefox 使用了与我尝试使用相同的东西 http://snorp.net/2011/12/16/android-direct-texture.html 但我不明白我应该怎么做。
我使用的是 Java,而不是 NDK。
【问题讨论】:
标签: android opengl-es opengl-es-2.0 textures