如何在Android中与OpenGL共享Renderscript分配

Mar*_*ddu 6 android renderscript opengl-es-2.0

我有一个Renderscript,它处理输出中给出的分配图像.我想在我的OpenGL程序中将此Allocation用作纹理,但我不知道如何从分配中获取纹理ID.

另一方面,我知道我可以使用图形Renderscript,但由于它已被弃用,我想必须有其他方法来实现相同的结果.

R. *_*ams 6

创建分配时指定USAGE_IO_OUTPUT.假设您在脚本中生成纹理数据,您还可以添加USAGE_SCRIPT.然后你可以打电话

Allocation.setSurface(theGLSurface)

将分配链接到纹理.每次要使用需要调用的脚本内容更新纹理时.

Allocation.ioSend()

这将移动数据而不制作额外的副本.

  • 所以,我想我必须做一个`Allocation.setSurface(new Surface(new SurfaceTexture(textureID)))`以便将输出的分配绑定到纹理ID.我正在运行脚本,然后将纹理渲染到屏幕上,但我看不到渲染中的任何变化,因为脚本从未运行过 (2认同)