Quiero hacer el procesamiento de imágenes de la cámara en la GPU en Android.Uso de SurfaceTexture en combinación con RenderScript
En mi configuración actual uso una Textura de superficie para capturar fotogramas de la secuencia de imagen de la cámara como una textura OpenGL ES. Esta es una manera eficiente de hacer que la secuencia de la cámara sea accesible en mis sombreadores. (http://developer.android.com/reference/android/graphics/SurfaceTexture.html)
Ahora me gustaría comenzar a utilizar la nueva API de RenderScript en lugar de utilizar directamente OenGL ES. (http://developer.android.com/guide/topics/renderscript/index.html)
Pero para crear una textura de superficie, necesito pasar el ID de la textura de openGl al constructor. Desafortunadamente, el ID de textura no está disponible (RenderScript usa la clase de asignación para cargar texturas, lo que no expone la ID de textura). Así que no puedo crear una textura de superficie cuando uso RenderScript.
He leído toda la documentación en renderscript (que todavía es bastante escasa) y miré las muestras, pero no tienen información sobre el tema.
Así que mi pregunta es: ¿Es posible utilizar en combinación con SurfaceTexture RenderScript, o hay alguna otra forma eficiente de utilizar la secuencia de cámara en vivo en un script RenderScript Gráficos?
Agradezco la respuesta, pero desde que publiqué esta pregunta, decidí usar GLSL para mi aplicación. Esto se debe a que no encontré una manera fácil de hacerlo funcionar, y más recientemente porque la sección de gráficos Renderscript se depreciará en 4.1 (Jelly Bean). Por lo tanto, no probé esto por mi cuenta. Entonces, para otros seguidores de este hilo: acepto esta respuesta ya que parece razonable, pero no la implementé. – Arjan