Combinação Android OpenGL de SurfaceTexture (imagem externa) e textura comum

Eu gostaria de misturar visualização de câmera SurfaceTexture com alguma textura de sobreposição. Eu estou usando esses shaders para processamento:

    private final String vss = "attribute vec2 vPosition;\n"
        + "attribute vec2 vTexCoord;\n"
        + "varying vec2 texCoord;\n"
        + "void main() {\n" 
        + "  texCoord = vTexCoord;\n"
        + "  gl_Position = vec4 ( vPosition.x, vPosition.y, 0.0, 1.0 );\n"
        + "}";

private final String fss = "#extension GL_OES_EGL_image_external : require\n"
        + "precision mediump float;\n"
        + "uniform samplerExternalOES sTexture;\n"
        + "uniform sampler2D filterTexture;\n"
        + "varying vec2 texCoord;\n"
        + "void main() {\n"
        +"  vec4 t_camera = texture2D(sTexture,texCoord);\n"
        //+"  vec4 t_overlayer = texture2D(filterTexture, texCoord);\n" 
        //+ "  gl_FragColor = t_overlayer;\n" + "}";
        + "  gl_FragColor = t_camera;\n" + "}";

Meu objetivo é misturar t_camera e t_overlayer. Quando mostro t_camera ou t_overlayer separadamente, ele funciona (mostrando a visualização ou a textura da câmera). Mas quando eu descomentei t_overlayer, então t_camera ficou preta (de alguma forma mal provada). A textura do meu overlayer é 512x512 e CLAMPT_TO_EDGE. Este problema ocorre apenas por exemplo em: Android Emulator, HTC Evo 3D. Mas no SGS3, HTC One X, funciona muito bem.

O que está errado? É Evo 3D faltando alguma extensão ou o que?

questionAnswers(8)

yourAnswerToTheQuestion