Exibindo o fluxo da câmera em um GLSurfaceView via SurfaceTexture

Estou tentando exibir o fluxo da câmera em um GLSurfaceView por meio de um SurfaceTexture transmitido para os shaders do OpenGL ES 2.0.

Eu tomei inspiração dissopostar.

A imagem está completa, mas não é exibida corretamente no meu tablet. A tela parece dividida em 2x2 partes. A imagem é exibida na parte superior esquerda, enquanto as outras três partes são pretas.

Eu suspeito que o problema vem do meu uso da matriz de transformação retornada pela seqüência documentadaAqui

updateTexImage();
getTransformMatrix(...);

Eu transmito esta matriz no shader de vértice para gerar as coordenadas de textura para o shader de fragmento.

shader de vértice:

attribute vec3 aPosition;
uniform mat4 uMvpTransform;
// Matrix retrieved by getTransformMatrix(...);
uniform mat4 uTexMatTransform;
varying vec2 vTexCoord;

void main(void)
{
  gl_Position = uMvpTransform *vec4(aPosition.xyz, 1);
  vec4 l_tex =  uTexMatTransform*vec4(aPosition.xyz, 1);
  vTexCoord=l_tex.xy;
}

shader de fragmento:

#extension GL_OES_EGL_image_external : require
varying mediump vec2 vTexCoord;
uniform samplerExternalOES uSampler; 

void main(void) 
{ 
    mediump vec4 l_tex = texture2D(uSampler, vTexCoord);
    gl_FragColor=l_tex;
}

A textura é anexada ao seguinte quadrado:

 // Image container
 GLfloat l_vertices[] = {
  -1.0f, 1.0f,  0.0f,
  -1.0f, -1.0f,  0.0f,
  1.0f,  -1.0f,  0.0f,
  1.0f,  1.0f,  0.0f };

Alguém conseguiu algo parecido?

Editado em 3 de novembro de 2012:

Correção do shader de vértice:

attribute vec3 aPosition;
attribute vec2 aTexCoord;
uniform mat4 uMvpTransform;
// Matrix retrieved by getTransformMatrix(...);
uniform mat4 uTexMatTransform;
varying vec2 vTexCoord;

void main(void)
{
  gl_Position = uMvpTransform *vec4(aPosition.xyz, 1);
  vec4 l_tex =  uTexMatTransform*vec4(aTexCoord.xy,0, 1);
  vTexCoord=l_tex.xy;
}

com:

// Texture
GLfloat l_texCoord[] = {
   0.0f, 1.0f,
   0.0f, 0.0f,
   1.0f,  0.0f,
   1.0f,  1.0f

};

questionAnswers(2)

yourAnswerToTheQuestion