title: Is gl_FragData[0] always a color buffer?
body: <p>From the few examples I have seen around the net, gl_FragData[0] is assumed to be a color buffer. I tried to find the meaning of each index into gl_FragData and came across this passage from OpenGL Shading language book (orange book)</p>
  
  <blockquote>
    <p>gl_FragData is an array that can be assigned values that are written
    into one or more offscreen buffers. The size of this array is
    implementation dependent and can be queried with glGet with the
    symbolic constant GL_MAX_DRAW_BUFFERS. The offscreen buffers that are
    modified as a result of writing values into gl_FragData within a
    fragment shader are specified with glDrawBuffers. The value written
    into gl_FragData[0] updates the first buffer in the list specified in
    the call to glDrawBuffers, the value written into gl_FragData[1]
    updates the second buffer in the list, and so on.</p>
  </blockquote>
  
  <p>It's not specified that 0th value of gl_FragData is always color buffer. If there is such specification, where can I find it? If not, what is a normal practice when writing to gl_FragData?</p>