mrdoob/three.js — pull request #3210 by bhouston (2013-03-20 01:03:19+00:00)
Title: Simplified Object3D.updateMatrix() via utilizing Matrix4.compose()

Object3D.updateMatrix() was creating a matrix by putting together position, rotation (either Euler or Quaternion) and scale. This functionality is already available in Matrix4.compose(). Thus I have simplified Object3D.updateMatrix to use Matrix4.compose. This will ensure we only have one method that performs the composition, and we can focus on optimizing only one code path rather than two.

Also I have modified and renamed Matrix4.setRotationFromQuaternion and Matrix4.setRotationFromEuler to be "make" functions as they were destructive of scale. I have modified them to be fully destructive by setting the rest of the matrix to identity.

I also optimized Matrix4.compose() significantly as it is now critical to Object3D.updateMatrix() performance.

I have updated the documentation and examples as applicable.