title: Why does the Processing `fill()` with alpha never completely fill?
body: <p>Let's say we have the following code:</p>
  
  <pre><code>void setup() {
      background(0);
      size(200, 200);
      fill(255);        
      rect(75, 75, 50, 50);
  }  
  
  void draw() {
      fill(0, 2);
      rect(0, 0, width, height);
  }
  </code></pre>
  
  <p>Even after waiting 'forever,' the white 50x50 rectangle is still visible, albeit faded. Why doesn't the <code>fill(0, 2)</code> eventually cover this up?</p>
  
  <p>I suppose this question is twofold:</p>
  
  <ul>
  <li><strong>Why doesn't it eventually fade to black</strong>, as in why does drawing another dark rectangle on top of the white one not erase it eventually (I'm thinking along the lines of putting tinted windows over each other; eventually even the brightest light won't shine through), and</li>
  <li><strong>Why doesn't it eventually fade to black</strong>, as in why is this the behavior intended by the Processing community?</li>
  </ul>