Uso de SurfaceTexture en combinación con RenderScript

Quiero hacer el procesamiento de imágenes de cámara en la GPU en android.

En mi configuración actual, utilizo SurfaceTexture para capturar fotogramas del flujo de imágenes de cámara como una textura de OpenGL ES. Esta es una manera eficiente de obtener la corriente de cámara accesible en mis shaders. ( Http://developer.android.com/reference/android/graphics/SurfaceTexture.html )

Ahora me gustaría comenzar a usar la nueva API de RenderScript en lugar del uso directo de OenGL ES. ( Http://developer.android.com/guide/topics/renderscript/index.html )

Pero para crear un SurfaceTexture, necesito pasar la identificación de la textura del openGl al constructor. Desafortunadamente, el ID de textura no está disponible (RenderScript utiliza la clase de asignación para cargar texturas, que no expone la ID de textura). Así que no soy capaz de crear una SurfaceTexture cuando se utiliza RenderScript.

He leído toda la documentación sobre renderscript (que todavía es muy escasa) y miró las muestras, pero no tienen información sobre el tema.

Así que mi pregunta es: ¿Es posible utilizar SurfaceTexture en combinación con RenderScript, o hay alguna otra manera eficiente de utilizar la secuencia de cámara en vivo en un script RenderScript Graphics?

    One Solution collect form web for “Uso de SurfaceTexture en combinación con RenderScript”

    Si entiendo correctamente, ya utilizas SurfaceTexture . A continuación, puede registrar una devolución de llamada con setOnFrameAvailableListener .

    Veo dos soluciones:

    1. Implements posee RSTextureView , que hereda de SurfaceTexture.OnFrameAvailableListener . Registre su vista como la SurfaceTexture llamada SurfaceTexture . Cada vez que la vista de la superficie es actualizada por el flujo de la cámara, su RSTextureView será notificado y puede manejarlo de la manera que desee.

    2. Otra solución sería implementar su propio RenderScriptGL (todavía heredando de SurfaceTexture.OnFrameAvailableListener ) y llamar a setSurfaceTexture cuando se llama al callback.

    Debería poder combinar RenderScript con SurfaceTexture con al menos una de estas dos soluciones.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.