Android OpenGL сочетание SurfaceTexture (внешнее изображение) и обычной текстуры

Я хотел бы смешать предварительный просмотр камеры SurfaceTexture с некоторой наложенной текстурой. Я использую эти шейдеры для обработки:

    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" + "}";

Моя цель - смешать t_camera и t_overlayer. Когда я показываю t_camera или t_overlayer отдельно, это работает (показывает предварительный просмотр камеры или текстуру). Но когда я раскомментирую t_overlayer, то t_camera становится черным (как-то плохо сэмплировано). Моя текстура наложения 512x512 и CLAMPT_TO_EDGE. Эта проблема возникает, например, только на: эмуляторе Android, HTC Evo 3D. Но на SGS3, HTC One X, работает просто отлично.

Что случилось? В Evo 3D отсутствует какое-то расширение или как?

Ответы на вопрос(8)

Ваш ответ на вопрос