* `CanvasRenderer` and `SVGRenderer` basic lighting support (`*ColorStroke`/`*ColorFill` only)
* `Renderer` > `Projector`. `CanvasRenderer`, `SVGRenderer` and `DOMRenderer` do not extend anymore
* Interactivity base code (hdi folder). To be refactored... ([mindlapse](http://github.com/mindlapse))
* Added `computeCentroids` method to `Geometry`
* Included `Stats.js` directly in the `/examples` folder to avoid the need of internet for playing around
Old Vector and Matrix constructor functions would create all methods and
make assignments with each call. A lot of speed-ups can be made by using
shared properties through the prototype chain. Since methods and
initialized properties are shared among all instances they're only
created once.
Some tests can be seen at examples/performance-test.html
Some results:
Chrome
//6.4 times faster
performance-test.html:25 Vector2 x 5000000: 213ms
performance-test.html:30 Vector2Orig x 5000000: 1366ms
//8.3 times faster
performance-test.html:37 Vector3 x 5000000: 241ms
performance-test.html:42 Vector3Orig x 5000000: 2015ms
//3.8 times faster
performance-test.html:49 Vector4 x 5000000: 278ms
performance-test.html:54 Vector4Orig x 5000000: 1059ms
//7.5 times faster
performance-test.html:61 Matrix4 x 5000000: 937ms
performance-test.html:66 Matrix4Orig x 5000000: 7004ms
Firefox
//6.8 times faster
Vector2 x 50000: 45ms
Vector2Orig x 50000: 307ms
//11.5 times faster
Vector3 x 50000: 48ms
Vector3Orig x 50000: 550ms
//3.8 times faster
Vector4 x 50000: 61ms
Vector4Orig x 50000: 234ms
//9.4 times faster
Matrix4 x 50000: 199ms
Matrix4Orig x 50000: 1878ms
where "Orig" are old versions of the objects.
Running these tests multiple times can yeild different results due to
browser cache. However the results are always kind of similar in terms
of speedup.
Added THREE namespace
Camera.x -> Camera.position.x
Camera.target.x -> Camera.target.position.x
ColorMaterial -> ColorFillMaterial
FaceColorMaterial -> FaceColorFillMaterial
Materials are now multipass (use array)
Added ColorStrokeMaterial and FaceColorStrokeMaterial
geometry.faces.a are now indexes instead of links