title: scale factors of GL_SRC_ALPHA in glBlendFunc
body: <p><a href="https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glBlendFunc.xhtml" rel="nofollow noreferrer">Kronos web-page</a> says that blending methods specified by <code>GL_SRC_ALPHA, GL_ONE, etc.</code> define four scale factors for each of the three color channels plus the alpha channel. In particular, scale factors for <code>GL_SRC_ALPHA</code> are computed as follows:</p>
  
  <p><a href="https://i.stack.imgur.com/2iYMY.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/2iYMY.png" alt="enter image description here"></a></p>
  
  <p>Where <code>A_s0</code> is alpha value of the source, and <code>kA</code> is computed as follows:
  <a href="https://i.stack.imgur.com/8Ouks.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/8Ouks.png" alt="enter image description here"></a>, where m_c is the number of respective red, green, blue, or alpha bitplanes.</p>
  
  <ol>
  <li><strong>I was wondering what are these bitplanes?</strong></li>
  <li><strong>Why is kA computed according to the aforementioned formula?</strong></li>
  </ol>
  
  <p>For instance, it is clear for me what happens when there is 1 source with <code>GL_SRC_ALPHA</code> and 1 destination with <code>GL_ONE_MINUS_SRC_ALPHA</code>, whose blending factors are simply 1 minus the above mentioned values. If kA=1, then the blending is a linear interpolation between colors from source and destination, weighted by their alpha values, i.e. <code>alpha_s * source_color + (1-alpha_s) * destination_color</code>. <strong>How does kA comes into play in here?</strong></p>