title: what do texture2D().r and texture2D().a mean?
body: <p>I am using <code>OpenGL ES</code> in Android programming, when I transform YUV(NV21) to RGB in shader, like:</p>
  
  <pre><code>vec3 yuv = vec3(
          (texture2D(u_TextureY, vTextureCoord).r - 0.0625),
          texture2D(u_TextureUV, vTextureCoord).a - 0.5,
          texture2D(u_TextureUV, vTextureCoord).r - 0.5
      );
  </code></pre>
  
  <p>then I'll get YUV data that seperating from <code>u_TextureY</code> and <code>u_TextureUV</code>.</p>
  
  <p>I know that NV21 format is like: YYYYYY...UVUV... BUT how can I transform YUYV422 to RGB?
  So, my problem is what do "r" and "a" mean in <code>texture2D(u_TextureY, vTextureCoord).r</code> and .a ? then I can find the way to do YUYV422->RGB.</p>