|
@@ -32,13 +32,13 @@ G*ia+u*H+K*wa+ta*ya;this.n43=G*ea+u*M+K*sa+ta*E;this.n44=G*D+u*oa+K*R+ta*e;retur
|
|
|
a;this.n21*=a;this.n22*=a;this.n23*=a;this.n24*=a;this.n31*=a;this.n32*=a;this.n33*=a;this.n34*=a;this.n41*=a;this.n42*=a;this.n43*=a;this.n44*=a;return this},multiplyVector3:function(a){var b=a.x,c=a.y,d=a.z,g=1/(this.n41*b+this.n42*c+this.n43*d+this.n44);a.x=(this.n11*b+this.n12*c+this.n13*d+this.n14)*g;a.y=(this.n21*b+this.n22*c+this.n23*d+this.n24)*g;a.z=(this.n31*b+this.n32*c+this.n33*d+this.n34)*g;return a},multiplyVector4:function(a){var b=a.x,c=a.y,d=a.z,g=a.w;a.x=this.n11*b+this.n12*c+this.n13*
|
|
|
d+this.n14*g;a.y=this.n21*b+this.n22*c+this.n23*d+this.n24*g;a.z=this.n31*b+this.n32*c+this.n33*d+this.n34*g;a.w=this.n41*b+this.n42*c+this.n43*d+this.n44*g;return a},rotateAxis:function(a){var b=a.x,c=a.y,d=a.z;a.x=b*this.n11+c*this.n12+d*this.n13;a.y=b*this.n21+c*this.n22+d*this.n23;a.z=b*this.n31+c*this.n32+d*this.n33;a.normalize();return a},crossVector:function(a){var b=new THREE.Vector4;b.x=this.n11*a.x+this.n12*a.y+this.n13*a.z+this.n14*a.w;b.y=this.n21*a.x+this.n22*a.y+this.n23*a.z+this.n24*
|
|
|
a.w;b.z=this.n31*a.x+this.n32*a.y+this.n33*a.z+this.n34*a.w;b.w=a.w?this.n41*a.x+this.n42*a.y+this.n43*a.z+this.n44*a.w:1;return b},determinant:function(){var a=this.n11,b=this.n12,c=this.n13,d=this.n14,g=this.n21,f=this.n22,h=this.n23,i=this.n24,p=this.n31,q=this.n32,k=this.n33,n=this.n34,w=this.n41,x=this.n42,G=this.n43,u=this.n44;return d*h*q*w-c*i*q*w-d*f*k*w+b*i*k*w+c*f*n*w-b*h*n*w-d*h*p*x+c*i*p*x+d*g*k*x-a*i*k*x-c*g*n*x+a*h*n*x+d*f*p*G-b*i*p*G-d*g*q*G+a*i*q*G+b*g*n*G-a*f*n*G-c*f*p*u+b*h*p*u+
|
|
|
-c*g*q*u-a*h*q*u-b*g*k*u+a*f*k*u},transpose:function(){var a;a=this.n21;this.n21=this.n12;this.n12=a;a=this.n31;this.n31=this.n13;this.n13=a;a=this.n32;this.n32=this.n23;this.n23=a;a=this.n41;this.n41=this.n14;this.n14=a;a=this.n42;this.n42=this.n24;this.n24=a;a=this.n43;this.n43=this.n34;this.n43=a;return this},clone:function(){var a=new THREE.Matrix4;a.n11=this.n11;a.n12=this.n12;a.n13=this.n13;a.n14=this.n14;a.n21=this.n21;a.n22=this.n22;a.n23=this.n23;a.n24=this.n24;a.n31=this.n31;a.n32=this.n32;
|
|
|
+c*g*q*u-a*h*q*u-b*g*k*u+a*f*k*u},transpose:function(){var a;a=this.n21;this.n21=this.n12;this.n12=a;a=this.n31;this.n31=this.n13;this.n13=a;a=this.n32;this.n32=this.n23;this.n23=a;a=this.n41;this.n41=this.n14;this.n14=a;a=this.n42;this.n42=this.n24;this.n24=a;a=this.n43;this.n43=this.n34;this.n34=a;return this},clone:function(){var a=new THREE.Matrix4;a.n11=this.n11;a.n12=this.n12;a.n13=this.n13;a.n14=this.n14;a.n21=this.n21;a.n22=this.n22;a.n23=this.n23;a.n24=this.n24;a.n31=this.n31;a.n32=this.n32;
|
|
|
a.n33=this.n33;a.n34=this.n34;a.n41=this.n41;a.n42=this.n42;a.n43=this.n43;a.n44=this.n44;return a},flatten:function(){this.flat[0]=this.n11;this.flat[1]=this.n21;this.flat[2]=this.n31;this.flat[3]=this.n41;this.flat[4]=this.n12;this.flat[5]=this.n22;this.flat[6]=this.n32;this.flat[7]=this.n42;this.flat[8]=this.n13;this.flat[9]=this.n23;this.flat[10]=this.n33;this.flat[11]=this.n43;this.flat[12]=this.n14;this.flat[13]=this.n24;this.flat[14]=this.n34;this.flat[15]=this.n44;return this.flat},flattenToArray:function(a){a[0]=
|
|
|
this.n11;a[1]=this.n21;a[2]=this.n31;a[3]=this.n41;a[4]=this.n12;a[5]=this.n22;a[6]=this.n32;a[7]=this.n42;a[8]=this.n13;a[9]=this.n23;a[10]=this.n33;a[11]=this.n43;a[12]=this.n14;a[13]=this.n24;a[14]=this.n34;a[15]=this.n44;return a},flattenToArrayOffset:function(a,b){a[b]=this.n11;a[b+1]=this.n21;a[b+2]=this.n31;a[b+3]=this.n41;a[b+4]=this.n12;a[b+5]=this.n22;a[b+6]=this.n32;a[b+7]=this.n42;a[b+8]=this.n13;a[b+9]=this.n23;a[b+10]=this.n33;a[b+11]=this.n43;a[b+12]=this.n14;a[b+13]=this.n24;a[b+14]=
|
|
|
this.n34;a[b+15]=this.n44;return a},setTranslation:function(a,b,c){this.set(1,0,0,a,0,1,0,b,0,0,1,c,0,0,0,1);return this},setScale:function(a,b,c){this.set(a,0,0,0,0,b,0,0,0,0,c,0,0,0,0,1);return this},setRotationX:function(a){var b=Math.cos(a),a=Math.sin(a);this.set(1,0,0,0,0,b,-a,0,0,a,b,0,0,0,0,1);return this},setRotationY:function(a){var b=Math.cos(a),a=Math.sin(a);this.set(b,0,a,0,0,1,0,0,-a,0,b,0,0,0,0,1);return this},setRotationZ:function(a){var b=Math.cos(a),a=Math.sin(a);this.set(b,-a,0,
|
|
|
0,a,b,0,0,0,0,1,0,0,0,0,1);return this},setRotationAxis:function(a,b){var c=Math.cos(b),d=Math.sin(b),g=1-c,f=a.x,h=a.y,i=a.z,p=g*f,q=g*h;this.set(p*f+c,p*h-d*i,p*i+d*h,0,p*h+d*i,q*h+c,q*i-d*f,0,p*i-d*h,q*i+d*f,g*i*i+c,0,0,0,0,1);return this},setPosition:function(a){this.n14=a.x;this.n24=a.y;this.n34=a.z;return this},getPosition:function(){return THREE.Matrix4.__v1.set(this.n14,this.n24,this.n34)},getColumnX:function(){return THREE.Matrix4.__v1.set(this.n11,this.n21,this.n31)},getColumnY:function(){return THREE.Matrix4.__v1.set(this.n12,
|
|
|
this.n22,this.n32)},getColumnZ:function(){return THREE.Matrix4.__v1.set(this.n13,this.n23,this.n33)},getInverse:function(a){var b=a.n11,c=a.n12,d=a.n13,g=a.n14,f=a.n21,h=a.n22,i=a.n23,p=a.n24,q=a.n31,k=a.n32,n=a.n33,w=a.n34,x=a.n41,G=a.n42,u=a.n43,K=a.n44;this.n11=i*w*G-p*n*G+p*k*u-h*w*u-i*k*K+h*n*K;this.n12=g*n*G-d*w*G-g*k*u+c*w*u+d*k*K-c*n*K;this.n13=d*p*G-g*i*G+g*h*u-c*p*u-d*h*K+c*i*K;this.n14=g*i*k-d*p*k-g*h*n+c*p*n+d*h*w-c*i*w;this.n21=p*n*x-i*w*x-p*q*u+f*w*u+i*q*K-f*n*K;this.n22=d*w*x-g*n*x+
|
|
|
-g*q*u-b*w*u-d*q*K+b*n*K;this.n23=g*i*x-d*p*x-g*f*u+b*p*u+d*f*K-b*i*K;this.n24=d*p*q-g*i*q+g*f*n-b*p*n-d*f*w+b*i*w;this.n31=h*w*x-p*k*x+p*q*G-f*w*G-h*q*K+f*k*K;this.n32=g*k*x-c*w*x-g*q*G+b*w*G+c*q*K-b*k*K;this.n33=d*p*x-g*h*x+g*f*G-b*p*G-c*f*K+b*h*K;this.n34=g*h*q-c*p*q-g*f*k+b*p*k+c*f*w-b*h*w;this.n41=i*k*x-h*n*x-i*q*G+f*n*G+h*q*u-f*k*u;this.n42=c*n*x-d*k*x+d*q*G-b*n*G-c*q*u+b*k*u;this.n43=d*h*x-c*i*x-d*f*G+b*i*G+c*f*u-b*h*u;this.n44=c*i*q-d*h*q+d*f*k-b*i*k-c*f*n+b*h*n;this.multiplyScalar(1/a.determinant());
|
|
|
+g*q*u-b*w*u-d*q*K+b*n*K;this.n23=g*i*x-d*p*x-g*f*u+b*p*u+d*f*K-b*i*K;this.n24=d*p*q-g*i*q+g*f*n-b*p*n-d*f*w+b*i*w;this.n31=h*w*x-p*k*x+p*q*G-f*w*G-h*q*K+f*k*K;this.n32=g*k*x-c*w*x-g*q*G+b*w*G+c*q*K-b*k*K;this.n33=c*p*x-g*h*x+g*f*G-b*p*G-c*f*K+b*h*K;this.n34=g*h*q-c*p*q-g*f*k+b*p*k+c*f*w-b*h*w;this.n41=i*k*x-h*n*x-i*q*G+f*n*G+h*q*u-f*k*u;this.n42=c*n*x-d*k*x+d*q*G-b*n*G-c*q*u+b*k*u;this.n43=d*h*x-c*i*x-d*f*G+b*i*G+c*f*u-b*h*u;this.n44=c*i*q-d*h*q+d*f*k-b*i*k-c*f*n+b*h*n;this.multiplyScalar(1/a.determinant());
|
|
|
return this},setRotationFromEuler:function(a,b){var c=a.x,d=a.y,g=a.z,f=Math.cos(c),c=Math.sin(c),h=Math.cos(d),d=Math.sin(d),i=Math.cos(g),g=Math.sin(g);switch(b){case "YXZ":var p=h*i,q=h*g,k=d*i,n=d*g;this.n11=p+n*c;this.n12=k*c-q;this.n13=f*d;this.n21=f*g;this.n22=f*i;this.n23=-c;this.n31=q*c-k;this.n32=n+p*c;this.n33=f*h;break;case "ZXY":p=h*i;q=h*g;k=d*i;n=d*g;this.n11=p-n*c;this.n12=-f*g;this.n13=k+q*c;this.n21=q+k*c;this.n22=f*i;this.n23=n-p*c;this.n31=-f*d;this.n32=c;this.n33=f*h;break;case "ZYX":p=
|
|
|
f*i;q=f*g;k=c*i;n=c*g;this.n11=h*i;this.n12=k*d-q;this.n13=p*d+n;this.n21=h*g;this.n22=n*d+p;this.n23=q*d-k;this.n31=-d;this.n32=c*h;this.n33=f*h;break;case "YZX":p=f*h;q=f*d;k=c*h;n=c*d;this.n11=h*i;this.n12=n-p*g;this.n13=k*g+q;this.n21=g;this.n22=f*i;this.n23=-c*i;this.n31=-d*i;this.n32=q*g+k;this.n33=p-n*g;break;case "XZY":p=f*h;q=f*d;k=c*h;n=c*d;this.n11=h*i;this.n12=-g;this.n13=d*i;this.n21=p*g+n;this.n22=f*i;this.n23=q*g-k;this.n31=k*g-q;this.n32=c*i;this.n33=n*g+p;break;default:p=f*i,q=f*
|
|
|
g,k=c*i,n=c*g,this.n11=h*i,this.n12=-h*g,this.n13=d,this.n21=q+k*d,this.n22=p-n*d,this.n23=-c*h,this.n31=n-p*d,this.n32=k+q*d,this.n33=f*h}return this},setRotationFromQuaternion:function(a){var b=a.x,c=a.y,d=a.z,g=a.w,f=b+b,h=c+c,i=d+d,a=b*f,p=b*h;b*=i;var q=c*h;c*=i;d*=i;f*=g;h*=g;g*=i;this.n11=1-(q+d);this.n12=p-g;this.n13=b+h;this.n21=p+g;this.n22=1-(a+d);this.n23=c-f;this.n31=b-h;this.n32=c+f;this.n33=1-(a+q);return this},scale:function(a){var b=a.x,c=a.y,a=a.z;this.n11*=b;this.n12*=c;this.n13*=
|
|
@@ -179,9 +179,9 @@ return!1}function h(a,b,c){var d,g,f,h,l=a.vertices;h=l.length;var I=a.colors,i=
|
|
|
1]=g.g,n[f+2]=g.b;if(p){I=0;for(i=p.length;I<i;I++)if(l=p[I],l.boundTo===void 0||l.boundTo==="vertices")if(f=0,g=l.value.length,l.size===1)for(d=0;d<g;d++)h=j[d][1],l.array[d]=l.value[h];else if(l.size===2)for(d=0;d<g;d++)h=j[d][1],h=l.value[h],l.array[f]=h.x,l.array[f+1]=h.y,f+=2;else if(l.size===3)if(l.type==="c")for(d=0;d<g;d++)h=j[d][1],h=l.value[h],l.array[f]=h.r,l.array[f+1]=h.g,l.array[f+2]=h.b,f+=3;else for(d=0;d<g;d++)h=j[d][1],h=l.value[h],l.array[f]=h.x,l.array[f+1]=h.y,l.array[f+2]=h.z,
|
|
|
f+=3;else if(l.size===4)for(d=0;d<g;d++)h=j[d][1],h=l.value[h],l.array[f]=h.x,l.array[f+1]=h.y,l.array[f+2]=h.z,l.array[f+3]=h.w,f+=4}}else{if(o)for(d=0;d<h;d++)g=l[d].position,f=d*3,r[f]=g.x,r[f+1]=g.y,r[f+2]=g.z;if(k)for(d=0;d<i;d++)g=I[d],f=d*3,n[f]=g.r,n[f+1]=g.g,n[f+2]=g.b;if(p){I=0;for(i=p.length;I<i;I++)if(l=p[I],l.needsUpdate&&(l.boundTo===void 0||l.boundTo==="vertices"))if(g=l.value.length,f=0,l.size===1)for(d=0;d<g;d++)l.array[d]=l.value[d];else if(l.size===2)for(d=0;d<g;d++)h=l.value[d],
|
|
|
l.array[f]=h.x,l.array[f+1]=h.y,f+=2;else if(l.size===3)if(l.type==="c")for(d=0;d<g;d++)h=l.value[d],l.array[f]=h.r,l.array[f+1]=h.g,l.array[f+2]=h.b,f+=3;else for(d=0;d<g;d++)h=l.value[d],l.array[f]=h.x,l.array[f+1]=h.y,l.array[f+2]=h.z,f+=3;else if(l.size===4)for(d=0;d<g;d++)h=l.value[d],l.array[f]=h.x,l.array[f+1]=h.y,l.array[f+2]=h.z,l.array[f+3]=h.w,f+=4}}if(o||c.sortParticles)e.bindBuffer(e.ARRAY_BUFFER,a.__webglVertexBuffer),e.bufferData(e.ARRAY_BUFFER,r,b);if(k||c.sortParticles)e.bindBuffer(e.ARRAY_BUFFER,
|
|
|
-a.__webglColorBuffer),e.bufferData(e.ARRAY_BUFFER,n,b);if(p){I=0;for(i=p.length;I<i;I++)if(l=p[I],l.needsUpdate||c.sortParticles)e.bindBuffer(e.ARRAY_BUFFER,l.buffer),e.bufferData(e.ARRAY_BUFFER,l.array,b)}}function i(a,b){return b.z-a.z}function p(a,b,e,c,d,f,g,h){var i,n,r,k;b?(n=a.length-1,k=b=-1):(n=0,b=a.length,k=1);for(var j=n;j!==b;j+=k)if(i=a[j],i.render){n=i.object;r=i.buffer;if(h)i=h;else{i=i[e];if(!i)continue;g&&E.setBlending(i.blending);E.setDepthTest(i.depthTest);ta(i.depthWrite);O(i.polygonOffset,
|
|
|
-i.polygonOffsetFactor,i.polygonOffsetUnits)}E.setObjectFaces(n);E.renderBuffer(c,d,f,i,r,n)}}function q(a,b,e,c,d,f,g){for(var h,i,n=0,r=a.length;n<r;n++)if(h=a[n],i=h.object,i.visible){if(g)h=g;else{h=h[b];if(!h)continue;f&&E.setBlending(h.blending);E.setDepthTest(h.depthTest);ta(h.depthWrite);O(h.polygonOffset,h.polygonOffsetFactor,h.polygonOffsetUnits)}E.renderImmediateObject(e,c,d,h,i)}}function k(a,b,e){a.push({buffer:b,object:e,opaque:null,transparent:null})}function n(a){for(var b in a.attributes)if(a.attributes[b].needsUpdate)return!0;
|
|
|
-return!1}function w(a){for(var b in a.attributes)a.attributes[b].needsUpdate=!1}function x(a,b){for(var e=a.length-1;e>=0;e--)a[e].object===b&&a.splice(e,1)}function G(a,b){for(var e=a.length-1;e>=0;e--)a[e]===b&&a.splice(e,1)}function u(a,b,c,d,f){d.program||E.initMaterial(d,b,c,f);if(d.morphTargets&&!f.__webglMorphTargetInfluences){f.__webglMorphTargetInfluences=new Float32Array(E.maxMorphTargets);for(var g=0,h=E.maxMorphTargets;g<h;g++)f.__webglMorphTargetInfluences[g]=0}var l=!1,g=d.program,h=
|
|
|
+a.__webglColorBuffer),e.bufferData(e.ARRAY_BUFFER,n,b);if(p){I=0;for(i=p.length;I<i;I++)if(l=p[I],l.needsUpdate||c.sortParticles)e.bindBuffer(e.ARRAY_BUFFER,l.buffer),e.bufferData(e.ARRAY_BUFFER,l.array,b)}}function i(a,b){return b.z-a.z}function p(a,b,c,e,d,f,g,h){var i,n,r,k;b?(n=a.length-1,k=b=-1):(n=0,b=a.length,k=1);for(var j=n;j!==b;j+=k)if(i=a[j],i.render){n=i.object;r=i.buffer;if(h)i=h;else{i=i[c];if(!i)continue;g&&E.setBlending(i.blending);E.setDepthTest(i.depthTest);ta(i.depthWrite);O(i.polygonOffset,
|
|
|
+i.polygonOffsetFactor,i.polygonOffsetUnits)}E.setObjectFaces(n);E.renderBuffer(e,d,f,i,r,n)}}function q(a,b,c,e,d,f,g){for(var h,i,n=0,r=a.length;n<r;n++)if(h=a[n],i=h.object,i.visible){if(g)h=g;else{h=h[b];if(!h)continue;f&&E.setBlending(h.blending);E.setDepthTest(h.depthTest);ta(h.depthWrite);O(h.polygonOffset,h.polygonOffsetFactor,h.polygonOffsetUnits)}E.renderImmediateObject(c,e,d,h,i)}}function k(a,b,c){a.push({buffer:b,object:c,opaque:null,transparent:null})}function n(a){for(var b in a.attributes)if(a.attributes[b].needsUpdate)return!0;
|
|
|
+return!1}function w(a){for(var b in a.attributes)a.attributes[b].needsUpdate=!1}function x(a,b){for(var c=a.length-1;c>=0;c--)a[c].object===b&&a.splice(c,1)}function G(a,b){for(var c=a.length-1;c>=0;c--)a[c]===b&&a.splice(c,1)}function u(a,b,c,d,f){d.program||E.initMaterial(d,b,c,f);if(d.morphTargets&&!f.__webglMorphTargetInfluences){f.__webglMorphTargetInfluences=new Float32Array(E.maxMorphTargets);for(var g=0,h=E.maxMorphTargets;g<h;g++)f.__webglMorphTargetInfluences[g]=0}var l=!1,g=d.program,h=
|
|
|
g.uniforms,i=d.uniforms;g!==va&&(e.useProgram(g),va=g,l=!0);if(d.id!==ua)ua=d.id,l=!0;if(l){e.uniformMatrix4fv(h.projectionMatrix,!1,a._projectionMatrixArray);if(c&&d.fog)if(i.fogColor.value=c.color,c instanceof THREE.Fog)i.fogNear.value=c.near,i.fogFar.value=c.far;else if(c instanceof THREE.FogExp2)i.fogDensity.value=c.density;if(d instanceof THREE.MeshPhongMaterial||d instanceof THREE.MeshLambertMaterial||d.lights){for(var n,r,k=0,j=0,o=0,p,q,w,x=La,u=x.directional.colors,G=x.directional.positions,
|
|
|
t=x.point.colors,H=x.point.positions,K=x.point.distances,v=0,T=0,c=n=w=0,l=b.length;c<l;c++)if(n=b[c],r=n.color,p=n.position,q=n.intensity,w=n.distance,n instanceof THREE.AmbientLight)E.gammaInput?(k+=r.r*r.r,j+=r.g*r.g,o+=r.b*r.b):(k+=r.r,j+=r.g,o+=r.b);else if(n instanceof THREE.DirectionalLight)w=v*3,E.gammaInput?(u[w]=r.r*r.r*q*q,u[w+1]=r.g*r.g*q*q,u[w+2]=r.b*r.b*q*q):(u[w]=r.r*q,u[w+1]=r.g*q,u[w+2]=r.b*q),G[w]=p.x,G[w+1]=p.y,G[w+2]=p.z,v+=1;else if(n instanceof THREE.SpotLight)w=v*3,E.gammaInput?
|
|
|
(u[w]=r.r*r.r*q*q,u[w+1]=r.g*r.g*q*q,u[w+2]=r.b*r.b*q*q):(u[w]=r.r*q,u[w+1]=r.g*q,u[w+2]=r.b*q),r=1/p.length(),G[w]=p.x*r,G[w+1]=p.y*r,G[w+2]=p.z*r,v+=1;else if(n instanceof THREE.PointLight)n=T*3,E.gammaInput?(t[n]=r.r*r.r*q*q,t[n+1]=r.g*r.g*q*q,t[n+2]=r.b*r.b*q*q):(t[n]=r.r*q,t[n+1]=r.g*q,t[n+2]=r.b*q),H[n]=p.x,H[n+1]=p.y,H[n+2]=p.z,K[T]=w,T+=1;c=v*3;for(l=u.length;c<l;c++)u[c]=0;c=T*3;for(l=t.length;c<l;c++)t[c]=0;x.point.length=T;x.directional.length=v;x.ambient[0]=k;x.ambient[1]=j;x.ambient[2]=
|