title: Low polygon cone - smooth shading at the tip
body: <p>If you subdivide a cylinder into an 8-sided prism, calculating vertex normals based on their position ("smooth shading"), it looks pretty good.</p>
  
  <p>If you subdivide a cone into an 8-sided pyramid, calculating normals based on their position, you get stuck on the tip of the cone (technically the vertex of the cone, but let's call it the tip to avoid confusion with the mesh vertices).</p>
  
  <p><img src="https://i.stack.imgur.com/lKJuB.png" alt="8-sided cylinder vs cone"></p>
  
  <p>For each triangular face, you want to match the normals along both edges.  But because you can only specify one normal at each vertex of a triangle, you can match one edge or the other, but not both.  You can compromise by choosing a tip normal that is the average of the two edges, but now none of your edges look good.  Here is a detail of what choosing the average normal for each tip vertex looks like.</p>
  
  <p><img src="https://i.stack.imgur.com/OWgtI.png" alt="face detail with tip averaging"></p>
  
  <p>In a perfect world, the GPU could rasterize a true quad, not just triangles.  Then we could specify each face with a degenerate quad, allowing us to specify a different normal for the two adjoining edges of each triangle.  But all we have to work with are triangles...  We can cut the cone into multiple "stacks", so that the edge discontinuities are only visible at the tip of the cone rather than along the whole thing, but there will still be a tip!</p>
  
  <p>Anybody have any tricks for smooth-shaded low-poly cones?</p>