title: Why would glShadeModel(GL_FLAT) not work?
body: <p>To my understanding, <code>GL_FLAT</code> is supposed to make a face a single color. I can't get <code>GL_FLAT</code> to actually work though; it's as though my program is only using <code>GL_SMOOTH</code>. I'm using light sources, but both look the same.</p>
  
  <p><img src="https://i.stack.imgur.com/hSvRM.png" alt="enter image description here"></p>
  
  <p>The triangle should be just one color. Here's my scene rendering code. I no where mention <code>GL_SMOOTH</code>, and I've tried <code>GL_FLAT</code> everywhere (inits, main, before light/material definitions, before drawing, while drawing, after drawing, etc.)</p>
  
  <pre><code>glClear(GL_COLOR_BUFFER_BIT);
  glEnable(GL_LIGHTING);
  
  //Light
  glEnable(GL_LIGHT1);
  
  //Define Light source ...
  //Define Material ...
  
  //Draw Triangle
  glShadeModel(GL_FLAT);
  
  glNormal3f(0,0,1);
  glBegin(GL_POLYGON);
  glVertex3f( -.5, -.5, 0);
  glVertex3f( 0, .5, 0);
  glVertex3f( .5, -.5, 0);
  glEnd();
  
  glFlush();
  </code></pre>
  
  <p>That's it. Everything else in the program is the bare minimum it needs to run. Is <code>GL_FLAT</code> broken or something? </p>