title: Generating vertex normals for smooth shading with crease angle in Three.js
body: <p>I have several objects in Three.js's <a href="https://github.com/mrdoob/three.js/wiki/JSON-Model-format-3.1" rel="nofollow">JSON Model Format</a>. It specifies vertex positions, and faces -- sometimes triangles, sometimes quads, sometimes with material indices and sometimes not.</p>
  
  <p>However none of these files have vertex normals specified.</p>
  
  <p>I want an algorithm that can calculate such normals over a set of mesh faces. I'd like to specify an angular limit beyond which a crease is shown (normals are not shared by adjacent faces at a vertex.)</p>
  
  <p>Before coding this myself I wondered, does this exist either in Three.js already or somewhere else that's usable?</p>