title: Is the number of color attachments bounded by API
body: <p>The OpenGL specification requires that a framebuffer supports at least 8 color attachments. Now, OpenGL uses compile-time constants (at least on my system), for stuff like <code>GL_COLOR_ATTACHMENTi</code> and <code>GL_DEPTH_ATTACHMENT</code> attachment follows 32 units after <code>GL_COLOR_ATTACHMENT0</code>. Doesn't this mean that regardless of how beefy the hardware is, it will never be possible to use more than 32 color attachments? To clarify, this compiles perfectly with GLEW on Ubuntu 16.04:</p>
  
  <pre><code>static_assert(GL_COLOR_ATTACHMENT0 + 32==GL_DEPTH_ATTACHMENT,"");
  </code></pre>
  
  <p>and since it is static_assert, this would be true for any hardware configuration (unless the driver installer modify the header files, which would result in non-portable binaries). Wouldn't separate functions for different attachment classes would have been better as it removes the possibility of colliding constants?</p>