title: Providing normals with triangle strips and fans for OpenGL Gouraud shading
body: <p>Im new in Open GL and Im a bit confused about Gouraud shading. Im mostly dealing with coplanar triangles.
  What I understood is that in Gouraud shading I have to find the normal for each of the three vertices and then before pushing the vertex I have to push the its normal.</p>
  
  <pre>
  
      glNormal3d(nx1.x, nx1.y, nx1.z);
      glVertex3d(x1.x, x1.y, x1.z);
  
  </pre>
  
  <p>The normals are obtained by averaging the the face normals of the adjacent triangles.
  Now, lets assume that I want to draw a cone, with an n-gon as base. For the base, I use a triangle_fan and all triangles have the same normal right? So, how I push the normals? I compute only one normal and I use it for all triangles? Or I have anyway to compute the normal for each vertex? I wanted to use Gouraud shading also for the top part of the cone (these triangles are also defined as triangle_fan), but seems to not work, why? I changed single triangle to be able to use Gouraud. </p>
  
  <p>Now, I want to create a cylinder, with both n-gons as top and bottom faces. For the lateral face I use triangle_strips and for the base I use triangle fan. So, the lateral face like:</p>
  
  <pre>
  
      *--------*
      |\       |
      | \      |
      |  \     |
      |   \    |
      |    \   |
      |     \  |
      |      \ |
      |       \|
      *--------*   
  </pre>
  
  <p>Now, I have the same question as above. For Gouraud shading in the bases, is it enough to use a single normal? For the Gourdaud shading of the lateral triangles, two triangles have the same normal, should I use the same for both?</p>