From 21189375b734e2503cc0123e3c7bbf060db83973 Mon Sep 17 00:00:00 2001 From: "Mr.doob" Date: Mon, 1 Jul 2013 13:42:57 +0200 Subject: [PATCH] Updated builds. --- build/three.js | 104 ++++++++++++++++++++------------------------- build/three.min.js | 16 +++---- 2 files changed, 52 insertions(+), 68 deletions(-) diff --git a/build/three.js b/build/three.js index 2e898dcfa3..40075843b8 100644 --- a/build/three.js +++ b/build/three.js @@ -16,9 +16,6 @@ self.console = self.console || { }; -self.Int32Array = self.Int32Array || Array; -self.Float32Array = self.Float32Array || Array; - String.prototype.trim = String.prototype.trim || function () { return this.replace( /^\s+|\s+$/g, '' ); @@ -4847,6 +4844,51 @@ THREE.Matrix4.prototype = { }, + decompose: function () { + + var vector = new THREE.Vector3(); + var matrix = new THREE.Matrix4(); + + return function ( position, quaternion, scale ) { + + var te = this.elements; + + var sx = vector.set( te[0], te[1], te[2] ).length(); + var sy = vector.set( te[4], te[5], te[6] ).length(); + var sz = vector.set( te[8], te[9], te[10] ).length(); + + position.x = te[12]; + position.y = te[13]; + position.z = te[14]; + + // scale the rotation part + + matrix.elements.set( this.elements ); // at this point matrix is incomplete so we can't use .copy() + + matrix.elements[0] /= sx; + matrix.elements[1] /= sx; + matrix.elements[2] /= sx; + + matrix.elements[4] /= sy; + matrix.elements[5] /= sy; + matrix.elements[6] /= sy; + + matrix.elements[8] /= sz; + matrix.elements[9] /= sz; + matrix.elements[10] /= sz; + + quaternion.setFromRotationMatrix( matrix ); + + scale.x = sx; + scale.y = sy; + scale.z = sz; + + return this; + + }; + + }(), + makeFrustum: function ( left, right, bottom, top, near, far ) { var te = this.elements; @@ -4936,62 +4978,6 @@ THREE.Matrix4.prototype = { }; -THREE.extend( THREE.Matrix4.prototype, { - - decompose: function () { - - var x = new THREE.Vector3(); - var y = new THREE.Vector3(); - var z = new THREE.Vector3(); - var matrix = new THREE.Matrix4(); - - return function ( position, quaternion, scale ) { - - var te = this.elements; - - // grab the axis vectors - x.set( te[0], te[1], te[2] ); - y.set( te[4], te[5], te[6] ); - z.set( te[8], te[9], te[10] ); - - position = ( position instanceof THREE.Vector3 ) ? position : new THREE.Vector3(); - quaternion = ( quaternion instanceof THREE.Quaternion ) ? quaternion : new THREE.Quaternion(); - scale = ( scale instanceof THREE.Vector3 ) ? scale : new THREE.Vector3(); - - scale.x = x.length(); - scale.y = y.length(); - scale.z = z.length(); - - position.x = te[12]; - position.y = te[13]; - position.z = te[14]; - - // scale the rotation part - - matrix.copy( this ); - - matrix.elements[0] /= scale.x; - matrix.elements[1] /= scale.x; - matrix.elements[2] /= scale.x; - - matrix.elements[4] /= scale.y; - matrix.elements[5] /= scale.y; - matrix.elements[6] /= scale.y; - - matrix.elements[8] /= scale.z; - matrix.elements[9] /= scale.z; - matrix.elements[10] /= scale.z; - - quaternion.setFromRotationMatrix( matrix ); - - return [ position, quaternion, scale ]; - - }; - - }() - -} ); - /** * @author bhouston / http://exocortex.com */ diff --git a/build/three.min.js b/build/three.min.js index 05cc5623ef..8afe6166d3 100644 --- a/build/three.min.js +++ b/build/three.min.js @@ -1,6 +1,5 @@ // three.js - http://github.com/mrdoob/three.js -'use strict';var THREE=THREE||{REVISION:"59dev"};self.console=self.console||{info:function(){},log:function(){},debug:function(){},warn:function(){},error:function(){}};self.Int32Array=self.Int32Array||Array;self.Float32Array=self.Float32Array||Array;String.prototype.trim=String.prototype.trim||function(){return this.replace(/^\s+|\s+$/g,"")}; -THREE.extend=function(a,b){if(Object.keys)for(var c=Object.keys(b),d=0,e=c.length;db;b++)k.deleteFramebuffer(a.__webglFramebuffer[b]),k.deleteRenderbuffer(a.__webglRenderbuffer[b]);else k.deleteFramebuffer(a.__webglFramebuffer),k.deleteRenderbuffer(a.__webglRenderbuffer);D.info.memory.textures--},uc=function(a){a=a.target;a.removeEventListener("dispose",uc);vc(a)},vc=function(a){var b=a.program;if(void 0!== b){a.program=void 0;var c,d,e=!1,a=0;for(c=V.length;a