|
@@ -121,10 +121,12 @@ Object.assign( Matrix4.prototype, {
|
|
|
|
|
|
extractRotation: function () {
|
|
extractRotation: function () {
|
|
|
|
|
|
- var v1 = new Vector3();
|
|
|
|
|
|
+ var v1;
|
|
|
|
|
|
return function extractRotation( m ) {
|
|
return function extractRotation( m ) {
|
|
|
|
|
|
|
|
+ if ( v1 === undefined ) v1 = new Vector3();
|
|
|
|
+
|
|
var te = this.elements;
|
|
var te = this.elements;
|
|
var me = m.elements;
|
|
var me = m.elements;
|
|
|
|
|
|
@@ -317,12 +319,18 @@ Object.assign( Matrix4.prototype, {
|
|
|
|
|
|
lookAt: function () {
|
|
lookAt: function () {
|
|
|
|
|
|
- var x = new Vector3();
|
|
|
|
- var y = new Vector3();
|
|
|
|
- var z = new Vector3();
|
|
|
|
|
|
+ var x, y, z;
|
|
|
|
|
|
return function lookAt( eye, target, up ) {
|
|
return function lookAt( eye, target, up ) {
|
|
|
|
|
|
|
|
+ if ( x === undefined ) {
|
|
|
|
+
|
|
|
|
+ x = new Vector3();
|
|
|
|
+ y = new Vector3();
|
|
|
|
+ z = new Vector3();
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
var te = this.elements;
|
|
var te = this.elements;
|
|
|
|
|
|
z.subVectors( eye, target );
|
|
z.subVectors( eye, target );
|
|
@@ -434,10 +442,12 @@ Object.assign( Matrix4.prototype, {
|
|
|
|
|
|
applyToBufferAttribute: function () {
|
|
applyToBufferAttribute: function () {
|
|
|
|
|
|
- var v1 = new Vector3();
|
|
|
|
|
|
+ var v1;
|
|
|
|
|
|
return function applyToBufferAttribute( attribute ) {
|
|
return function applyToBufferAttribute( attribute ) {
|
|
|
|
|
|
|
|
+ if ( v1 === undefined ) v1 = new Vector3();
|
|
|
|
+
|
|
for ( var i = 0, l = attribute.count; i < l; i ++ ) {
|
|
for ( var i = 0, l = attribute.count; i < l; i ++ ) {
|
|
|
|
|
|
v1.x = attribute.getX( i );
|
|
v1.x = attribute.getX( i );
|
|
@@ -754,11 +764,17 @@ Object.assign( Matrix4.prototype, {
|
|
|
|
|
|
decompose: function () {
|
|
decompose: function () {
|
|
|
|
|
|
- var vector = new Vector3();
|
|
|
|
- var matrix = new Matrix4();
|
|
|
|
|
|
+ var vector, matrix;
|
|
|
|
|
|
return function decompose( position, quaternion, scale ) {
|
|
return function decompose( position, quaternion, scale ) {
|
|
|
|
|
|
|
|
+ if ( vector === undefined ) {
|
|
|
|
+
|
|
|
|
+ vector = new Vector3();
|
|
|
|
+ matrix = new Matrix4();
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
var te = this.elements;
|
|
var te = this.elements;
|
|
|
|
|
|
var sx = vector.set( te[ 0 ], te[ 1 ], te[ 2 ] ).length();
|
|
var sx = vector.set( te[ 0 ], te[ 1 ], te[ 2 ] ).length();
|