title: Transforming vertex normals in three.js
body: <p>I'm having difficulties with vertex normals in THREE.js. (For reference I'm using revision 58.) For various reasons I'd like to first calculate the face vertex normals when I setup my geometry, then be free to transform it, merge and whatnot.</p>
  
  <p>While I realize the normals depend on the vertices which are transformed when you apply a matrix, I thought geometry.applyMatrix was able to transform them as well. However, while the following works fine:</p>
  
  <pre><code>geometry.applyMatrix(new THREE.Matrix4().makeScale(1, -1, 1));
  geometry.computeFaceNormals();
  geometry.computeVertexNormals();
  </code></pre>
  
  <p>...the following order of operations yields reversed vertex normals:</p>
  
  <pre><code>geometry.computeFaceNormals();
  geometry.computeVertexNormals();
  geometry.applyMatrix(new THREE.Matrix4().makeScale(1, -1, 1));
  </code></pre>
  
  <p>So I'm simply wondering, is this working as intended? Do I need to first do all the transformations on the geometry before I calculate the vertex normals?</p>