|
@@ -1,44 +1,44 @@
|
|
|
// threejs.org/license
|
|
|
-(function(h,qa){"object"===typeof exports&&"undefined"!==typeof module?qa(exports):"function"===typeof define&&define.amd?define(["exports"],qa):qa(h.THREE=h.THREE||{})})(this,function(h){function qa(){}function C(a,b){this.x=a||0;this.y=b||0}function ca(a,b,c,d,e,f,g,k,l,m){Object.defineProperty(this,"id",{value:Xd++});this.uuid=h.Math.generateUUID();this.sourceFile=this.name="";this.image=void 0!==a?a:ca.DEFAULT_IMAGE;this.mipmaps=[];this.mapping=void 0!==b?b:ca.DEFAULT_MAPPING;this.wrapS=void 0!==
|
|
|
-c?c:1001;this.wrapT=void 0!==d?d:1001;this.magFilter=void 0!==e?e:1006;this.minFilter=void 0!==f?f:1008;this.anisotropy=void 0!==l?l:1;this.format=void 0!==g?g:1023;this.type=void 0!==k?k:1009;this.offset=new C(0,0);this.repeat=new C(1,1);this.generateMipmaps=!0;this.premultiplyAlpha=!1;this.flipY=!0;this.unpackAlignment=4;this.encoding=void 0!==m?m:3E3;this.version=0;this.onUpdate=null}function ha(a,b,c,d){this.x=a||0;this.y=b||0;this.z=c||0;this.w=void 0!==d?d:1}function yb(a,b,c){this.uuid=h.Math.generateUUID();
|
|
|
+(function(h,qa){"object"===typeof exports&&"undefined"!==typeof module?qa(exports):"function"===typeof define&&define.amd?define(["exports"],qa):qa(h.THREE=h.THREE||{})})(this,function(h){function qa(){}function C(a,b){this.x=a||0;this.y=b||0}function ca(a,b,c,d,e,f,g,k,l,n){Object.defineProperty(this,"id",{value:Xd++});this.uuid=h.Math.generateUUID();this.sourceFile=this.name="";this.image=void 0!==a?a:ca.DEFAULT_IMAGE;this.mipmaps=[];this.mapping=void 0!==b?b:ca.DEFAULT_MAPPING;this.wrapS=void 0!==
|
|
|
+c?c:1001;this.wrapT=void 0!==d?d:1001;this.magFilter=void 0!==e?e:1006;this.minFilter=void 0!==f?f:1008;this.anisotropy=void 0!==l?l:1;this.format=void 0!==g?g:1023;this.type=void 0!==k?k:1009;this.offset=new C(0,0);this.repeat=new C(1,1);this.generateMipmaps=!0;this.premultiplyAlpha=!1;this.flipY=!0;this.unpackAlignment=4;this.encoding=void 0!==n?n:3E3;this.version=0;this.onUpdate=null}function ha(a,b,c,d){this.x=a||0;this.y=b||0;this.z=c||0;this.w=void 0!==d?d:1}function yb(a,b,c){this.uuid=h.Math.generateUUID();
|
|
|
this.width=a;this.height=b;this.scissor=new ha(0,0,a,b);this.scissorTest=!1;this.viewport=new ha(0,0,a,b);c=c||{};void 0===c.minFilter&&(c.minFilter=1006);this.texture=new ca(void 0,void 0,c.wrapS,c.wrapT,c.magFilter,c.minFilter,c.format,c.type,c.anisotropy,c.encoding);this.depthBuffer=void 0!==c.depthBuffer?c.depthBuffer:!0;this.stencilBuffer=void 0!==c.stencilBuffer?c.stencilBuffer:!0;this.depthTexture=void 0!==c.depthTexture?c.depthTexture:null}function zb(a,b,c){yb.call(this,a,b,c);this.activeMipMapLevel=
|
|
|
-this.activeCubeFace=0}function da(a,b,c,d){this._x=a||0;this._y=b||0;this._z=c||0;this._w=void 0!==d?d:1}function q(a,b,c){this.x=a||0;this.y=b||0;this.z=c||0}function H(){this.elements=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);0<arguments.length&&console.error("THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.")}function Ra(a,b,c,d,e,f,g,k,l,m){a=void 0!==a?a:[];ca.call(this,a,void 0!==b?b:301,c,d,e,f,g,k,l,m);this.flipY=!1}function Ab(a,b,c){var d=a[0];if(0>=
|
|
|
+this.activeCubeFace=0}function da(a,b,c,d){this._x=a||0;this._y=b||0;this._z=c||0;this._w=void 0!==d?d:1}function q(a,b,c){this.x=a||0;this.y=b||0;this.z=c||0}function H(){this.elements=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);0<arguments.length&&console.error("THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.")}function Ra(a,b,c,d,e,f,g,k,l,n){a=void 0!==a?a:[];ca.call(this,a,void 0!==b?b:301,c,d,e,f,g,k,l,n);this.flipY=!1}function Ab(a,b,c){var d=a[0];if(0>=
|
|
|
d||0<d)return a;var e=b*c,f=Yd[e];void 0===f&&(f=new Float32Array(e),Yd[e]=f);if(0!==b)for(d.toArray(f,0),d=1,e=0;d!==b;++d)e+=c,a[d].toArray(f,e);return f}function Zd(a,b){var c=$d[b];void 0===c&&(c=new Int32Array(b),$d[b]=c);for(var d=0;d!==b;++d)c[d]=a.allocTextureUnit();return c}function ze(a,b){a.uniform1f(this.addr,b)}function Ae(a,b){a.uniform1i(this.addr,b)}function Be(a,b){void 0===b.x?a.uniform2fv(this.addr,b):a.uniform2f(this.addr,b.x,b.y)}function Ce(a,b){void 0!==b.x?a.uniform3f(this.addr,
|
|
|
b.x,b.y,b.z):void 0!==b.r?a.uniform3f(this.addr,b.r,b.g,b.b):a.uniform3fv(this.addr,b)}function De(a,b){void 0===b.x?a.uniform4fv(this.addr,b):a.uniform4f(this.addr,b.x,b.y,b.z,b.w)}function Ee(a,b){a.uniformMatrix2fv(this.addr,!1,b.elements||b)}function Fe(a,b){a.uniformMatrix3fv(this.addr,!1,b.elements||b)}function Ge(a,b){a.uniformMatrix4fv(this.addr,!1,b.elements||b)}function He(a,b,c){var d=c.allocTextureUnit();a.uniform1i(this.addr,d);c.setTexture2D(b||ae,d)}function Ie(a,b,c){var d=c.allocTextureUnit();
|
|
|
a.uniform1i(this.addr,d);c.setTextureCube(b||be,d)}function ce(a,b){a.uniform2iv(this.addr,b)}function de(a,b){a.uniform3iv(this.addr,b)}function ee(a,b){a.uniform4iv(this.addr,b)}function Je(a){switch(a){case 5126:return ze;case 35664:return Be;case 35665:return Ce;case 35666:return De;case 35674:return Ee;case 35675:return Fe;case 35676:return Ge;case 35678:return He;case 35680:return Ie;case 5124:case 35670:return Ae;case 35667:case 35671:return ce;case 35668:case 35672:return de;case 35669:case 35673:return ee}}
|
|
|
function Ke(a,b){a.uniform1fv(this.addr,b)}function Le(a,b){a.uniform1iv(this.addr,b)}function Me(a,b){a.uniform2fv(this.addr,Ab(b,this.size,2))}function Ne(a,b){a.uniform3fv(this.addr,Ab(b,this.size,3))}function Oe(a,b){a.uniform4fv(this.addr,Ab(b,this.size,4))}function Pe(a,b){a.uniformMatrix2fv(this.addr,!1,Ab(b,this.size,4))}function Qe(a,b){a.uniformMatrix3fv(this.addr,!1,Ab(b,this.size,9))}function Re(a,b){a.uniformMatrix4fv(this.addr,!1,Ab(b,this.size,16))}function Se(a,b,c){var d=b.length,
|
|
|
e=Zd(c,d);a.uniform1iv(this.addr,e);for(a=0;a!==d;++a)c.setTexture2D(b[a]||ae,e[a])}function Te(a,b,c){var d=b.length,e=Zd(c,d);a.uniform1iv(this.addr,e);for(a=0;a!==d;++a)c.setTextureCube(b[a]||be,e[a])}function Ue(a){switch(a){case 5126:return Ke;case 35664:return Me;case 35665:return Ne;case 35666:return Oe;case 35674:return Pe;case 35675:return Qe;case 35676:return Re;case 35678:return Se;case 35680:return Te;case 5124:case 35670:return Le;case 35667:case 35671:return ce;case 35668:case 35672:return de;
|
|
|
-case 35669:case 35673:return ee}}function Ve(a,b,c){this.id=a;this.addr=c;this.setValue=Je(b.type)}function We(a,b,c){this.id=a;this.addr=c;this.size=b.size;this.setValue=Ue(b.type)}function fe(a){this.id=a;this.seq=[];this.map={}}function Sa(a,b,c){this.seq=[];this.map={};this.renderer=c;c=a.getProgramParameter(b,a.ACTIVE_UNIFORMS);for(var d=0;d!==c;++d){var e=a.getActiveUniform(b,d),f=a.getUniformLocation(b,e.name),g=this,k=e.name,l=k.length;for(td.lastIndex=0;;){var m=td.exec(k),r=td.lastIndex,
|
|
|
-p=m[1],n=m[3];"]"===m[2]&&(p|=0);if(void 0===n||"["===n&&r+2===l){k=g;e=void 0===n?new Ve(p,e,f):new We(p,e,f);k.seq.push(e);k.map[e.id]=e;break}else n=g.map[p],void 0===n&&(n=new fe(p),p=g,g=n,p.seq.push(g),p.map[g.id]=g),g=n}}}function M(a,b,c){return void 0===b&&void 0===c?this.set(a):this.setRGB(a,b,c)}function ec(a,b){this.min=void 0!==a?a:new C(Infinity,Infinity);this.max=void 0!==b?b:new C(-Infinity,-Infinity)}function Xe(a,b){var c,d,e,f,g,k,l,m,r,p,n=a.context,h=a.state,t,w,F,v,x,I;this.render=
|
|
|
-function(y,E,G){if(0!==b.length){y=new q;var D=G.w/G.z,L=.5*G.z,ea=.5*G.w,Q=16/G.w,ba=new C(Q*D,Q),ya=new q(1,1,0),$a=new C(1,1),Fa=new ec;Fa.min.set(0,0);Fa.max.set(G.z-16,G.w-16);if(void 0===v){var Q=new Float32Array([-1,-1,0,0,1,-1,1,0,1,1,1,1,-1,1,0,1]),N=new Uint16Array([0,1,2,0,2,3]);t=n.createBuffer();w=n.createBuffer();n.bindBuffer(n.ARRAY_BUFFER,t);n.bufferData(n.ARRAY_BUFFER,Q,n.STATIC_DRAW);n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,w);n.bufferData(n.ELEMENT_ARRAY_BUFFER,N,n.STATIC_DRAW);x=n.createTexture();
|
|
|
-I=n.createTexture();h.bindTexture(n.TEXTURE_2D,x);n.texImage2D(n.TEXTURE_2D,0,n.RGB,16,16,0,n.RGB,n.UNSIGNED_BYTE,null);n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE);n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE);n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST);n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST);h.bindTexture(n.TEXTURE_2D,I);n.texImage2D(n.TEXTURE_2D,0,n.RGBA,16,16,0,n.RGBA,n.UNSIGNED_BYTE,null);n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,
|
|
|
-n.CLAMP_TO_EDGE);n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE);n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST);n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST);var Q=F={vertexShader:"uniform lowp int renderType;\nuniform vec3 screenPosition;\nuniform vec2 scale;\nuniform float rotation;\nuniform sampler2D occlusionMap;\nattribute vec2 position;\nattribute vec2 uv;\nvarying vec2 vUV;\nvarying float vVisibility;\nvoid main() {\nvUV = uv;\nvec2 pos = position;\nif ( renderType == 2 ) {\nvec4 visibility = texture2D( occlusionMap, vec2( 0.1, 0.1 ) );\nvisibility += texture2D( occlusionMap, vec2( 0.5, 0.1 ) );\nvisibility += texture2D( occlusionMap, vec2( 0.9, 0.1 ) );\nvisibility += texture2D( occlusionMap, vec2( 0.9, 0.5 ) );\nvisibility += texture2D( occlusionMap, vec2( 0.9, 0.9 ) );\nvisibility += texture2D( occlusionMap, vec2( 0.5, 0.9 ) );\nvisibility += texture2D( occlusionMap, vec2( 0.1, 0.9 ) );\nvisibility += texture2D( occlusionMap, vec2( 0.1, 0.5 ) );\nvisibility += texture2D( occlusionMap, vec2( 0.5, 0.5 ) );\nvVisibility = visibility.r / 9.0;\nvVisibility *= 1.0 - visibility.g / 9.0;\nvVisibility *= visibility.b / 9.0;\nvVisibility *= 1.0 - visibility.a / 9.0;\npos.x = cos( rotation ) * position.x - sin( rotation ) * position.y;\npos.y = sin( rotation ) * position.x + cos( rotation ) * position.y;\n}\ngl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );\n}",
|
|
|
-fragmentShader:"uniform lowp int renderType;\nuniform sampler2D map;\nuniform float opacity;\nuniform vec3 color;\nvarying vec2 vUV;\nvarying float vVisibility;\nvoid main() {\nif ( renderType == 0 ) {\ngl_FragColor = vec4( 1.0, 0.0, 1.0, 0.0 );\n} else if ( renderType == 1 ) {\ngl_FragColor = texture2D( map, vUV );\n} else {\nvec4 texture = texture2D( map, vUV );\ntexture.a *= opacity * vVisibility;\ngl_FragColor = texture;\ngl_FragColor.rgb *= color;\n}\n}"},N=n.createProgram(),O=n.createShader(n.FRAGMENT_SHADER),
|
|
|
-R=n.createShader(n.VERTEX_SHADER),S="precision "+a.getPrecision()+" float;\n";n.shaderSource(O,S+Q.fragmentShader);n.shaderSource(R,S+Q.vertexShader);n.compileShader(O);n.compileShader(R);n.attachShader(N,O);n.attachShader(N,R);n.linkProgram(N);v=N;r=n.getAttribLocation(v,"position");p=n.getAttribLocation(v,"uv");c=n.getUniformLocation(v,"renderType");d=n.getUniformLocation(v,"map");e=n.getUniformLocation(v,"occlusionMap");f=n.getUniformLocation(v,"opacity");g=n.getUniformLocation(v,"color");k=n.getUniformLocation(v,
|
|
|
-"scale");l=n.getUniformLocation(v,"rotation");m=n.getUniformLocation(v,"screenPosition")}n.useProgram(v);h.initAttributes();h.enableAttribute(r);h.enableAttribute(p);h.disableUnusedAttributes();n.uniform1i(e,0);n.uniform1i(d,1);n.bindBuffer(n.ARRAY_BUFFER,t);n.vertexAttribPointer(r,2,n.FLOAT,!1,16,0);n.vertexAttribPointer(p,2,n.FLOAT,!1,16,8);n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,w);h.disable(n.CULL_FACE);h.setDepthWrite(!1);N=0;for(O=b.length;N<O;N++)if(Q=16/G.w,ba.set(Q*D,Q),R=b[N],y.set(R.matrixWorld.elements[12],
|
|
|
-R.matrixWorld.elements[13],R.matrixWorld.elements[14]),y.applyMatrix4(E.matrixWorldInverse),y.applyProjection(E.projectionMatrix),ya.copy(y),$a.x=G.x+ya.x*L+L-8,$a.y=G.y+ya.y*ea+ea-8,!0===Fa.containsPoint($a)){h.activeTexture(n.TEXTURE0);h.bindTexture(n.TEXTURE_2D,null);h.activeTexture(n.TEXTURE1);h.bindTexture(n.TEXTURE_2D,x);n.copyTexImage2D(n.TEXTURE_2D,0,n.RGB,$a.x,$a.y,16,16,0);n.uniform1i(c,0);n.uniform2f(k,ba.x,ba.y);n.uniform3f(m,ya.x,ya.y,ya.z);h.disable(n.BLEND);h.enable(n.DEPTH_TEST);n.drawElements(n.TRIANGLES,
|
|
|
-6,n.UNSIGNED_SHORT,0);h.activeTexture(n.TEXTURE0);h.bindTexture(n.TEXTURE_2D,I);n.copyTexImage2D(n.TEXTURE_2D,0,n.RGBA,$a.x,$a.y,16,16,0);n.uniform1i(c,1);h.disable(n.DEPTH_TEST);h.activeTexture(n.TEXTURE1);h.bindTexture(n.TEXTURE_2D,x);n.drawElements(n.TRIANGLES,6,n.UNSIGNED_SHORT,0);R.positionScreen.copy(ya);R.customUpdateCallback?R.customUpdateCallback(R):R.updateLensFlares();n.uniform1i(c,2);h.enable(n.BLEND);for(var S=0,Ye=R.lensFlares.length;S<Ye;S++){var U=R.lensFlares[S];.001<U.opacity&&.001<
|
|
|
-U.scale&&(ya.x=U.x,ya.y=U.y,ya.z=U.z,Q=U.size*U.scale/G.w,ba.x=Q*D,ba.y=Q,n.uniform3f(m,ya.x,ya.y,ya.z),n.uniform2f(k,ba.x,ba.y),n.uniform1f(l,U.rotation),n.uniform1f(f,U.opacity),n.uniform3f(g,U.color.r,U.color.g,U.color.b),h.setBlending(U.blending,U.blendEquation,U.blendSrc,U.blendDst),a.setTexture2D(U.texture,1),n.drawElements(n.TRIANGLES,6,n.UNSIGNED_SHORT,0))}}h.enable(n.CULL_FACE);h.enable(n.DEPTH_TEST);h.setDepthWrite(!0);a.resetGLState()}}}function Ze(a,b){var c,d,e,f,g,k,l,m,r,p,n,h,t,w,
|
|
|
+case 35669:case 35673:return ee}}function Ve(a,b,c){this.id=a;this.addr=c;this.setValue=Je(b.type)}function We(a,b,c){this.id=a;this.addr=c;this.size=b.size;this.setValue=Ue(b.type)}function fe(a){this.id=a;this.seq=[];this.map={}}function Sa(a,b,c){this.seq=[];this.map={};this.renderer=c;c=a.getProgramParameter(b,a.ACTIVE_UNIFORMS);for(var d=0;d!==c;++d){var e=a.getActiveUniform(b,d),f=a.getUniformLocation(b,e.name),g=this,k=e.name,l=k.length;for(td.lastIndex=0;;){var n=td.exec(k),r=td.lastIndex,
|
|
|
+p=n[1],m=n[3];"]"===n[2]&&(p|=0);if(void 0===m||"["===m&&r+2===l){k=g;e=void 0===m?new Ve(p,e,f):new We(p,e,f);k.seq.push(e);k.map[e.id]=e;break}else m=g.map[p],void 0===m&&(m=new fe(p),p=g,g=m,p.seq.push(g),p.map[g.id]=g),g=m}}}function M(a,b,c){return void 0===b&&void 0===c?this.set(a):this.setRGB(a,b,c)}function dc(a,b){this.min=void 0!==a?a:new C(Infinity,Infinity);this.max=void 0!==b?b:new C(-Infinity,-Infinity)}function Xe(a,b){var c,d,e,f,g,k,l,n,r,p,m=a.context,h=a.state,t,w,F,v,x,I;this.render=
|
|
|
+function(y,E,G){if(0!==b.length){y=new q;var D=G.w/G.z,L=.5*G.z,ea=.5*G.w,Q=16/G.w,ba=new C(Q*D,Q),ya=new q(1,1,0),$a=new C(1,1),Fa=new dc;Fa.min.set(0,0);Fa.max.set(G.z-16,G.w-16);if(void 0===v){var Q=new Float32Array([-1,-1,0,0,1,-1,1,0,1,1,1,1,-1,1,0,1]),N=new Uint16Array([0,1,2,0,2,3]);t=m.createBuffer();w=m.createBuffer();m.bindBuffer(m.ARRAY_BUFFER,t);m.bufferData(m.ARRAY_BUFFER,Q,m.STATIC_DRAW);m.bindBuffer(m.ELEMENT_ARRAY_BUFFER,w);m.bufferData(m.ELEMENT_ARRAY_BUFFER,N,m.STATIC_DRAW);x=m.createTexture();
|
|
|
+I=m.createTexture();h.bindTexture(m.TEXTURE_2D,x);m.texImage2D(m.TEXTURE_2D,0,m.RGB,16,16,0,m.RGB,m.UNSIGNED_BYTE,null);m.texParameteri(m.TEXTURE_2D,m.TEXTURE_WRAP_S,m.CLAMP_TO_EDGE);m.texParameteri(m.TEXTURE_2D,m.TEXTURE_WRAP_T,m.CLAMP_TO_EDGE);m.texParameteri(m.TEXTURE_2D,m.TEXTURE_MAG_FILTER,m.NEAREST);m.texParameteri(m.TEXTURE_2D,m.TEXTURE_MIN_FILTER,m.NEAREST);h.bindTexture(m.TEXTURE_2D,I);m.texImage2D(m.TEXTURE_2D,0,m.RGBA,16,16,0,m.RGBA,m.UNSIGNED_BYTE,null);m.texParameteri(m.TEXTURE_2D,m.TEXTURE_WRAP_S,
|
|
|
+m.CLAMP_TO_EDGE);m.texParameteri(m.TEXTURE_2D,m.TEXTURE_WRAP_T,m.CLAMP_TO_EDGE);m.texParameteri(m.TEXTURE_2D,m.TEXTURE_MAG_FILTER,m.NEAREST);m.texParameteri(m.TEXTURE_2D,m.TEXTURE_MIN_FILTER,m.NEAREST);var Q=F={vertexShader:"uniform lowp int renderType;\nuniform vec3 screenPosition;\nuniform vec2 scale;\nuniform float rotation;\nuniform sampler2D occlusionMap;\nattribute vec2 position;\nattribute vec2 uv;\nvarying vec2 vUV;\nvarying float vVisibility;\nvoid main() {\nvUV = uv;\nvec2 pos = position;\nif ( renderType == 2 ) {\nvec4 visibility = texture2D( occlusionMap, vec2( 0.1, 0.1 ) );\nvisibility += texture2D( occlusionMap, vec2( 0.5, 0.1 ) );\nvisibility += texture2D( occlusionMap, vec2( 0.9, 0.1 ) );\nvisibility += texture2D( occlusionMap, vec2( 0.9, 0.5 ) );\nvisibility += texture2D( occlusionMap, vec2( 0.9, 0.9 ) );\nvisibility += texture2D( occlusionMap, vec2( 0.5, 0.9 ) );\nvisibility += texture2D( occlusionMap, vec2( 0.1, 0.9 ) );\nvisibility += texture2D( occlusionMap, vec2( 0.1, 0.5 ) );\nvisibility += texture2D( occlusionMap, vec2( 0.5, 0.5 ) );\nvVisibility = visibility.r / 9.0;\nvVisibility *= 1.0 - visibility.g / 9.0;\nvVisibility *= visibility.b / 9.0;\nvVisibility *= 1.0 - visibility.a / 9.0;\npos.x = cos( rotation ) * position.x - sin( rotation ) * position.y;\npos.y = sin( rotation ) * position.x + cos( rotation ) * position.y;\n}\ngl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );\n}",
|
|
|
+fragmentShader:"uniform lowp int renderType;\nuniform sampler2D map;\nuniform float opacity;\nuniform vec3 color;\nvarying vec2 vUV;\nvarying float vVisibility;\nvoid main() {\nif ( renderType == 0 ) {\ngl_FragColor = vec4( 1.0, 0.0, 1.0, 0.0 );\n} else if ( renderType == 1 ) {\ngl_FragColor = texture2D( map, vUV );\n} else {\nvec4 texture = texture2D( map, vUV );\ntexture.a *= opacity * vVisibility;\ngl_FragColor = texture;\ngl_FragColor.rgb *= color;\n}\n}"},N=m.createProgram(),O=m.createShader(m.FRAGMENT_SHADER),
|
|
|
+R=m.createShader(m.VERTEX_SHADER),S="precision "+a.getPrecision()+" float;\n";m.shaderSource(O,S+Q.fragmentShader);m.shaderSource(R,S+Q.vertexShader);m.compileShader(O);m.compileShader(R);m.attachShader(N,O);m.attachShader(N,R);m.linkProgram(N);v=N;r=m.getAttribLocation(v,"position");p=m.getAttribLocation(v,"uv");c=m.getUniformLocation(v,"renderType");d=m.getUniformLocation(v,"map");e=m.getUniformLocation(v,"occlusionMap");f=m.getUniformLocation(v,"opacity");g=m.getUniformLocation(v,"color");k=m.getUniformLocation(v,
|
|
|
+"scale");l=m.getUniformLocation(v,"rotation");n=m.getUniformLocation(v,"screenPosition")}m.useProgram(v);h.initAttributes();h.enableAttribute(r);h.enableAttribute(p);h.disableUnusedAttributes();m.uniform1i(e,0);m.uniform1i(d,1);m.bindBuffer(m.ARRAY_BUFFER,t);m.vertexAttribPointer(r,2,m.FLOAT,!1,16,0);m.vertexAttribPointer(p,2,m.FLOAT,!1,16,8);m.bindBuffer(m.ELEMENT_ARRAY_BUFFER,w);h.disable(m.CULL_FACE);h.setDepthWrite(!1);N=0;for(O=b.length;N<O;N++)if(Q=16/G.w,ba.set(Q*D,Q),R=b[N],y.set(R.matrixWorld.elements[12],
|
|
|
+R.matrixWorld.elements[13],R.matrixWorld.elements[14]),y.applyMatrix4(E.matrixWorldInverse),y.applyProjection(E.projectionMatrix),ya.copy(y),$a.x=G.x+ya.x*L+L-8,$a.y=G.y+ya.y*ea+ea-8,!0===Fa.containsPoint($a)){h.activeTexture(m.TEXTURE0);h.bindTexture(m.TEXTURE_2D,null);h.activeTexture(m.TEXTURE1);h.bindTexture(m.TEXTURE_2D,x);m.copyTexImage2D(m.TEXTURE_2D,0,m.RGB,$a.x,$a.y,16,16,0);m.uniform1i(c,0);m.uniform2f(k,ba.x,ba.y);m.uniform3f(n,ya.x,ya.y,ya.z);h.disable(m.BLEND);h.enable(m.DEPTH_TEST);m.drawElements(m.TRIANGLES,
|
|
|
+6,m.UNSIGNED_SHORT,0);h.activeTexture(m.TEXTURE0);h.bindTexture(m.TEXTURE_2D,I);m.copyTexImage2D(m.TEXTURE_2D,0,m.RGBA,$a.x,$a.y,16,16,0);m.uniform1i(c,1);h.disable(m.DEPTH_TEST);h.activeTexture(m.TEXTURE1);h.bindTexture(m.TEXTURE_2D,x);m.drawElements(m.TRIANGLES,6,m.UNSIGNED_SHORT,0);R.positionScreen.copy(ya);R.customUpdateCallback?R.customUpdateCallback(R):R.updateLensFlares();m.uniform1i(c,2);h.enable(m.BLEND);for(var S=0,Ye=R.lensFlares.length;S<Ye;S++){var U=R.lensFlares[S];.001<U.opacity&&.001<
|
|
|
+U.scale&&(ya.x=U.x,ya.y=U.y,ya.z=U.z,Q=U.size*U.scale/G.w,ba.x=Q*D,ba.y=Q,m.uniform3f(n,ya.x,ya.y,ya.z),m.uniform2f(k,ba.x,ba.y),m.uniform1f(l,U.rotation),m.uniform1f(f,U.opacity),m.uniform3f(g,U.color.r,U.color.g,U.color.b),h.setBlending(U.blending,U.blendEquation,U.blendSrc,U.blendDst),a.setTexture2D(U.texture,1),m.drawElements(m.TRIANGLES,6,m.UNSIGNED_SHORT,0))}}h.enable(m.CULL_FACE);h.enable(m.DEPTH_TEST);h.setDepthWrite(!0);a.resetGLState()}}}function Ze(a,b){var c,d,e,f,g,k,l,n,r,p,m,h,t,w,
|
|
|
F,v,x;function I(a,b){return a.renderOrder!==b.renderOrder?a.renderOrder-b.renderOrder:a.z!==b.z?b.z-a.z:b.id-a.id}var y=a.context,E=a.state,G,D,L,ea,Q=new q,ba=new da,ya=new q;this.render=function(q,Fa){if(0!==b.length){if(void 0===L){var N=new Float32Array([-.5,-.5,0,0,.5,-.5,1,0,.5,.5,1,1,-.5,.5,0,1]),O=new Uint16Array([0,1,2,0,2,3]);G=y.createBuffer();D=y.createBuffer();y.bindBuffer(y.ARRAY_BUFFER,G);y.bufferData(y.ARRAY_BUFFER,N,y.STATIC_DRAW);y.bindBuffer(y.ELEMENT_ARRAY_BUFFER,D);y.bufferData(y.ELEMENT_ARRAY_BUFFER,
|
|
|
O,y.STATIC_DRAW);var N=y.createProgram(),O=y.createShader(y.VERTEX_SHADER),R=y.createShader(y.FRAGMENT_SHADER);y.shaderSource(O,["precision "+a.getPrecision()+" float;","uniform mat4 modelViewMatrix;\nuniform mat4 projectionMatrix;\nuniform float rotation;\nuniform vec2 scale;\nuniform vec2 uvOffset;\nuniform vec2 uvScale;\nattribute vec2 position;\nattribute vec2 uv;\nvarying vec2 vUV;\nvoid main() {\nvUV = uvOffset + uv * uvScale;\nvec2 alignedPosition = position * scale;\nvec2 rotatedPosition;\nrotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\nrotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\nvec4 finalPosition;\nfinalPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\nfinalPosition.xy += rotatedPosition;\nfinalPosition = projectionMatrix * finalPosition;\ngl_Position = finalPosition;\n}"].join("\n"));
|
|
|
y.shaderSource(R,["precision "+a.getPrecision()+" float;","uniform vec3 color;\nuniform sampler2D map;\nuniform float opacity;\nuniform int fogType;\nuniform vec3 fogColor;\nuniform float fogDensity;\nuniform float fogNear;\nuniform float fogFar;\nuniform float alphaTest;\nvarying vec2 vUV;\nvoid main() {\nvec4 texture = texture2D( map, vUV );\nif ( texture.a < alphaTest ) discard;\ngl_FragColor = vec4( color * texture.xyz, texture.a * opacity );\nif ( fogType > 0 ) {\nfloat depth = gl_FragCoord.z / gl_FragCoord.w;\nfloat fogFactor = 0.0;\nif ( fogType == 1 ) {\nfogFactor = smoothstep( fogNear, fogFar, depth );\n} else {\nconst float LOG2 = 1.442695;\nfogFactor = exp2( - fogDensity * fogDensity * depth * depth * LOG2 );\nfogFactor = 1.0 - clamp( fogFactor, 0.0, 1.0 );\n}\ngl_FragColor = mix( gl_FragColor, vec4( fogColor, gl_FragColor.w ), fogFactor );\n}\n}"].join("\n"));
|
|
|
-y.compileShader(O);y.compileShader(R);y.attachShader(N,O);y.attachShader(N,R);y.linkProgram(N);L=N;v=y.getAttribLocation(L,"position");x=y.getAttribLocation(L,"uv");c=y.getUniformLocation(L,"uvOffset");d=y.getUniformLocation(L,"uvScale");e=y.getUniformLocation(L,"rotation");f=y.getUniformLocation(L,"scale");g=y.getUniformLocation(L,"color");k=y.getUniformLocation(L,"map");l=y.getUniformLocation(L,"opacity");m=y.getUniformLocation(L,"modelViewMatrix");r=y.getUniformLocation(L,"projectionMatrix");p=
|
|
|
-y.getUniformLocation(L,"fogType");n=y.getUniformLocation(L,"fogDensity");h=y.getUniformLocation(L,"fogNear");t=y.getUniformLocation(L,"fogFar");w=y.getUniformLocation(L,"fogColor");F=y.getUniformLocation(L,"alphaTest");N=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");N.width=8;N.height=8;O=N.getContext("2d");O.fillStyle="white";O.fillRect(0,0,8,8);ea=new ca(N);ea.needsUpdate=!0}y.useProgram(L);E.initAttributes();E.enableAttribute(v);E.enableAttribute(x);E.disableUnusedAttributes();
|
|
|
-E.disable(y.CULL_FACE);E.enable(y.BLEND);y.bindBuffer(y.ARRAY_BUFFER,G);y.vertexAttribPointer(v,2,y.FLOAT,!1,16,0);y.vertexAttribPointer(x,2,y.FLOAT,!1,16,8);y.bindBuffer(y.ELEMENT_ARRAY_BUFFER,D);y.uniformMatrix4fv(r,!1,Fa.projectionMatrix.elements);E.activeTexture(y.TEXTURE0);y.uniform1i(k,0);O=N=0;(R=q.fog)?(y.uniform3f(w,R.color.r,R.color.g,R.color.b),R&&R.isFog?(y.uniform1f(h,R.near),y.uniform1f(t,R.far),y.uniform1i(p,1),O=N=1):R&&R.isFogExp2&&(y.uniform1f(n,R.density),y.uniform1i(p,2),O=N=2)):
|
|
|
-(y.uniform1i(p,0),O=N=0);for(var R=0,S=b.length;R<S;R++){var C=b[R];C.modelViewMatrix.multiplyMatrices(Fa.matrixWorldInverse,C.matrixWorld);C.z=-C.modelViewMatrix.elements[14]}b.sort(I);for(var U=[],R=0,S=b.length;R<S;R++){var C=b[R],V=C.material;!1!==V.visible&&(y.uniform1f(F,V.alphaTest),y.uniformMatrix4fv(m,!1,C.modelViewMatrix.elements),C.matrixWorld.decompose(Q,ba,ya),U[0]=ya.x,U[1]=ya.y,C=0,q.fog&&V.fog&&(C=O),N!==C&&(y.uniform1i(p,C),N=C),null!==V.map?(y.uniform2f(c,V.map.offset.x,V.map.offset.y),
|
|
|
+y.compileShader(O);y.compileShader(R);y.attachShader(N,O);y.attachShader(N,R);y.linkProgram(N);L=N;v=y.getAttribLocation(L,"position");x=y.getAttribLocation(L,"uv");c=y.getUniformLocation(L,"uvOffset");d=y.getUniformLocation(L,"uvScale");e=y.getUniformLocation(L,"rotation");f=y.getUniformLocation(L,"scale");g=y.getUniformLocation(L,"color");k=y.getUniformLocation(L,"map");l=y.getUniformLocation(L,"opacity");n=y.getUniformLocation(L,"modelViewMatrix");r=y.getUniformLocation(L,"projectionMatrix");p=
|
|
|
+y.getUniformLocation(L,"fogType");m=y.getUniformLocation(L,"fogDensity");h=y.getUniformLocation(L,"fogNear");t=y.getUniformLocation(L,"fogFar");w=y.getUniformLocation(L,"fogColor");F=y.getUniformLocation(L,"alphaTest");N=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");N.width=8;N.height=8;O=N.getContext("2d");O.fillStyle="white";O.fillRect(0,0,8,8);ea=new ca(N);ea.needsUpdate=!0}y.useProgram(L);E.initAttributes();E.enableAttribute(v);E.enableAttribute(x);E.disableUnusedAttributes();
|
|
|
+E.disable(y.CULL_FACE);E.enable(y.BLEND);y.bindBuffer(y.ARRAY_BUFFER,G);y.vertexAttribPointer(v,2,y.FLOAT,!1,16,0);y.vertexAttribPointer(x,2,y.FLOAT,!1,16,8);y.bindBuffer(y.ELEMENT_ARRAY_BUFFER,D);y.uniformMatrix4fv(r,!1,Fa.projectionMatrix.elements);E.activeTexture(y.TEXTURE0);y.uniform1i(k,0);O=N=0;(R=q.fog)?(y.uniform3f(w,R.color.r,R.color.g,R.color.b),R&&R.isFog?(y.uniform1f(h,R.near),y.uniform1f(t,R.far),y.uniform1i(p,1),O=N=1):R&&R.isFogExp2&&(y.uniform1f(m,R.density),y.uniform1i(p,2),O=N=2)):
|
|
|
+(y.uniform1i(p,0),O=N=0);for(var R=0,S=b.length;R<S;R++){var C=b[R];C.modelViewMatrix.multiplyMatrices(Fa.matrixWorldInverse,C.matrixWorld);C.z=-C.modelViewMatrix.elements[14]}b.sort(I);for(var U=[],R=0,S=b.length;R<S;R++){var C=b[R],V=C.material;!1!==V.visible&&(y.uniform1f(F,V.alphaTest),y.uniformMatrix4fv(n,!1,C.modelViewMatrix.elements),C.matrixWorld.decompose(Q,ba,ya),U[0]=ya.x,U[1]=ya.y,C=0,q.fog&&V.fog&&(C=O),N!==C&&(y.uniform1i(p,C),N=C),null!==V.map?(y.uniform2f(c,V.map.offset.x,V.map.offset.y),
|
|
|
y.uniform2f(d,V.map.repeat.x,V.map.repeat.y)):(y.uniform2f(c,0,0),y.uniform2f(d,1,1)),y.uniform1f(l,V.opacity),y.uniform3f(g,V.color.r,V.color.g,V.color.b),y.uniform1f(e,V.rotation),y.uniform2fv(f,U),E.setBlending(V.blending,V.blendEquation,V.blendSrc,V.blendDst),E.setDepthTest(V.depthTest),E.setDepthWrite(V.depthWrite),V.map?a.setTexture2D(V.map,0):a.setTexture2D(ea,0),y.drawElements(y.TRIANGLES,6,y.UNSIGNED_SHORT,0))}E.enable(y.CULL_FACE);a.resetGLState()}}}function T(){Object.defineProperty(this,
|
|
|
"id",{value:ge++});this.uuid=h.Math.generateUUID();this.name="";this.type="Material";this.lights=this.fog=!0;this.blending=1;this.side=0;this.shading=2;this.vertexColors=0;this.opacity=1;this.transparent=!1;this.blendSrc=204;this.blendDst=205;this.blendEquation=100;this.blendEquationAlpha=this.blendDstAlpha=this.blendSrcAlpha=null;this.depthFunc=3;this.depthWrite=this.depthTest=!0;this.clippingPlanes=null;this.clipShadows=!1;this.colorWrite=!0;this.precision=null;this.polygonOffset=!1;this.alphaTest=
|
|
|
this.polygonOffsetUnits=this.polygonOffsetFactor=0;this.premultipliedAlpha=!1;this.overdraw=0;this._needsUpdate=this.visible=!0}function Ea(a){T.call(this);this.type="ShaderMaterial";this.defines={};this.uniforms={};this.vertexShader="void main() {\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}";this.fragmentShader="void main() {\n\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\n}";this.linewidth=1;this.wireframe=!1;this.wireframeLinewidth=1;this.morphNormals=this.morphTargets=
|
|
|
this.skinning=this.clipping=this.lights=this.fog=!1;this.extensions={derivatives:!1,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1};this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv2:[0,0]};this.index0AttributeName=void 0;void 0!==a&&(void 0!==a.attributes&&console.error("THREE.ShaderMaterial: attributes should now be defined in THREE.BufferGeometry instead."),this.setValues(a))}function Ta(a){T.call(this);this.type="MeshDepthMaterial";this.depthPacking=3200;this.morphTargets=this.skinning=
|
|
|
!1;this.displacementMap=this.alphaMap=this.map=null;this.displacementScale=1;this.displacementBias=0;this.wireframe=!1;this.wireframeLinewidth=1;this.lights=this.fog=!1;this.setValues(a)}function Ha(a,b){this.min=void 0!==a?a:new q(Infinity,Infinity,Infinity);this.max=void 0!==b?b:new q(-Infinity,-Infinity,-Infinity)}function Ba(a,b){this.center=void 0!==a?a:new q;this.radius=void 0!==b?b:0}function za(){this.elements=new Float32Array([1,0,0,0,1,0,0,0,1]);0<arguments.length&&console.error("THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.")}
|
|
|
-function ta(a,b){this.normal=void 0!==a?a:new q(1,0,0);this.constant=void 0!==b?b:0}function fc(a,b,c,d,e,f){this.planes=[void 0!==a?a:new ta,void 0!==b?b:new ta,void 0!==c?c:new ta,void 0!==d?d:new ta,void 0!==e?e:new ta,void 0!==f?f:new ta]}function he(a,b,c,d){function e(b,c,d,e){var f=b.geometry,g;g=F;var k=b.customDepthMaterial;d&&(g=v,k=b.customDistanceMaterial);k?g=k:(k=!1,c.morphTargets&&(f&&f.isBufferGeometry?k=f.morphAttributes&&f.morphAttributes.position&&0<f.morphAttributes.position.length:
|
|
|
+function ta(a,b){this.normal=void 0!==a?a:new q(1,0,0);this.constant=void 0!==b?b:0}function ec(a,b,c,d,e,f){this.planes=[void 0!==a?a:new ta,void 0!==b?b:new ta,void 0!==c?c:new ta,void 0!==d?d:new ta,void 0!==e?e:new ta,void 0!==f?f:new ta]}function he(a,b,c,d){function e(b,c,d,e){var f=b.geometry,g;g=F;var k=b.customDepthMaterial;d&&(g=v,k=b.customDistanceMaterial);k?g=k:(k=!1,c.morphTargets&&(f&&f.isBufferGeometry?k=f.morphAttributes&&f.morphAttributes.position&&0<f.morphAttributes.position.length:
|
|
|
f&&f.isGeometry&&(k=f.morphTargets&&0<f.morphTargets.length)),b=b.isSkinnedMesh&&c.skinning,f=0,k&&(f|=1),b&&(f|=2),g=g[f]);a.localClippingEnabled&&!0===c.clipShadows&&0!==c.clippingPlanes.length&&(f=g.uuid,k=c.uuid,b=x[f],void 0===b&&(b={},x[f]=b),f=b[k],void 0===f&&(f=g.clone(),b[k]=f),g=f);g.visible=c.visible;g.wireframe=c.wireframe;k=c.side;ba.renderSingleSided&&2==k&&(k=0);ba.renderReverseSided&&(0===k?k=1:1===k&&(k=0));g.side=k;g.clipShadows=c.clipShadows;g.clippingPlanes=c.clippingPlanes;g.wireframeLinewidth=
|
|
|
-c.wireframeLinewidth;g.linewidth=c.linewidth;d&&void 0!==g.uniforms.lightPos&&g.uniforms.lightPos.value.copy(e);return g}function f(a,b,c){if(!1!==a.visible){0!==(a.layers.mask&b.layers.mask)&&(a.isMesh||a.isLine||a.isPoints)&&a.castShadow&&(!1===a.frustumCulled||!0===l.intersectsObject(a))&&!0===a.material.visible&&(a.modelViewMatrix.multiplyMatrices(c.matrixWorldInverse,a.matrixWorld),w.push(a));a=a.children;for(var d=0,e=a.length;d<e;d++)f(a[d],b,c)}}var g=a.context,k=a.state,l=new fc,m=new H,
|
|
|
-r=b.shadows,p=new C,n=new C(d.maxTextureSize,d.maxTextureSize),u=new q,t=new q,w=[],F=Array(4),v=Array(4),x={},I=[new q(1,0,0),new q(-1,0,0),new q(0,0,1),new q(0,0,-1),new q(0,1,0),new q(0,-1,0)],y=[new q(0,1,0),new q(0,1,0),new q(0,1,0),new q(0,1,0),new q(0,0,1),new q(0,0,-1)],E=[new ha,new ha,new ha,new ha,new ha,new ha];b=new Ta;b.depthPacking=3201;b.clipping=!0;d=Bb.distanceRGBA;for(var G=h.UniformsUtils.clone(d.uniforms),D=0;4!==D;++D){var L=0!==(D&1),ea=0!==(D&2),Q=b.clone();Q.morphTargets=
|
|
|
+c.wireframeLinewidth;g.linewidth=c.linewidth;d&&void 0!==g.uniforms.lightPos&&g.uniforms.lightPos.value.copy(e);return g}function f(a,b,c){if(!1!==a.visible){0!==(a.layers.mask&b.layers.mask)&&(a.isMesh||a.isLine||a.isPoints)&&a.castShadow&&(!1===a.frustumCulled||!0===l.intersectsObject(a))&&!0===a.material.visible&&(a.modelViewMatrix.multiplyMatrices(c.matrixWorldInverse,a.matrixWorld),w.push(a));a=a.children;for(var d=0,e=a.length;d<e;d++)f(a[d],b,c)}}var g=a.context,k=a.state,l=new ec,n=new H,
|
|
|
+r=b.shadows,p=new C,m=new C(d.maxTextureSize,d.maxTextureSize),u=new q,t=new q,w=[],F=Array(4),v=Array(4),x={},I=[new q(1,0,0),new q(-1,0,0),new q(0,0,1),new q(0,0,-1),new q(0,1,0),new q(0,-1,0)],y=[new q(0,1,0),new q(0,1,0),new q(0,1,0),new q(0,1,0),new q(0,0,1),new q(0,0,-1)],E=[new ha,new ha,new ha,new ha,new ha,new ha];b=new Ta;b.depthPacking=3201;b.clipping=!0;d=Bb.distanceRGBA;for(var G=h.UniformsUtils.clone(d.uniforms),D=0;4!==D;++D){var L=0!==(D&1),ea=0!==(D&2),Q=b.clone();Q.morphTargets=
|
|
|
L;Q.skinning=ea;F[D]=Q;L=new Ea({defines:{USE_SHADOWMAP:""},uniforms:G,vertexShader:d.vertexShader,fragmentShader:d.fragmentShader,morphTargets:L,skinning:ea,clipping:!0});v[D]=L}var ba=this;this.enabled=!1;this.autoUpdate=!0;this.needsUpdate=!1;this.type=1;this.renderSingleSided=this.renderReverseSided=!0;this.render=function(b,d){if(!1!==ba.enabled&&(!1!==ba.autoUpdate||!1!==ba.needsUpdate)&&0!==r.length){k.clearColor(1,1,1,1);k.disable(g.BLEND);k.setDepthTest(!0);k.setScissorTest(!1);for(var h,
|
|
|
-x,q=0,F=r.length;q<F;q++){var v=r[q],G=v.shadow;if(void 0===G)console.warn("THREE.WebGLShadowMap:",v,"has no shadow.");else{var D=G.camera;p.copy(G.mapSize);p.min(n);if(v&&v.isPointLight){h=6;x=!0;var L=p.x,Q=p.y;E[0].set(2*L,Q,L,Q);E[1].set(0,Q,L,Q);E[2].set(3*L,Q,L,Q);E[3].set(L,Q,L,Q);E[4].set(3*L,0,L,Q);E[5].set(L,0,L,Q);p.x*=4;p.y*=2}else h=1,x=!1;null===G.map&&(G.map=new yb(p.x,p.y,{minFilter:1003,magFilter:1003,format:1023}),D.updateProjectionMatrix());G&&G.isSpotLightShadow&&G.update(v);L=
|
|
|
-G.map;G=G.matrix;t.setFromMatrixPosition(v.matrixWorld);D.position.copy(t);a.setRenderTarget(L);a.clear();for(L=0;L<h;L++){x?(u.copy(D.position),u.add(I[L]),D.up.copy(y[L]),D.lookAt(u),k.viewport(E[L])):(u.setFromMatrixPosition(v.target.matrixWorld),D.lookAt(u));D.updateMatrixWorld();D.matrixWorldInverse.getInverse(D.matrixWorld);G.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1);G.multiply(D.projectionMatrix);G.multiply(D.matrixWorldInverse);m.multiplyMatrices(D.projectionMatrix,D.matrixWorldInverse);
|
|
|
-l.setFromMatrix(m);w.length=0;f(b,d,D);for(var Q=0,ea=w.length;Q<ea;Q++){var C=w[Q],B=c.update(C),z=C.material;if(z&&z.isMultiMaterial)for(var Ua=B.groups,z=z.materials,ud=0,Ca=Ua.length;ud<Ca;ud++){var Pa=Ua[ud],La=z[Pa.materialIndex];!0===La.visible&&(La=e(C,La,x,t),a.renderBufferDirect(D,null,B,La,C,Pa))}else La=e(C,z,x,t),a.renderBufferDirect(D,null,B,La,C,null)}}}}h=a.getClearColor();x=a.getClearAlpha();a.setClearColor(h,x);ba.needsUpdate=!1}}}function Va(a,b){this.origin=void 0!==a?a:new q;
|
|
|
+x,q=0,F=r.length;q<F;q++){var v=r[q],G=v.shadow;if(void 0===G)console.warn("THREE.WebGLShadowMap:",v,"has no shadow.");else{var D=G.camera;p.copy(G.mapSize);p.min(m);if(v&&v.isPointLight){h=6;x=!0;var L=p.x,Q=p.y;E[0].set(2*L,Q,L,Q);E[1].set(0,Q,L,Q);E[2].set(3*L,Q,L,Q);E[3].set(L,Q,L,Q);E[4].set(3*L,0,L,Q);E[5].set(L,0,L,Q);p.x*=4;p.y*=2}else h=1,x=!1;null===G.map&&(G.map=new yb(p.x,p.y,{minFilter:1003,magFilter:1003,format:1023}),D.updateProjectionMatrix());G&&G.isSpotLightShadow&&G.update(v);L=
|
|
|
+G.map;G=G.matrix;t.setFromMatrixPosition(v.matrixWorld);D.position.copy(t);a.setRenderTarget(L);a.clear();for(L=0;L<h;L++){x?(u.copy(D.position),u.add(I[L]),D.up.copy(y[L]),D.lookAt(u),k.viewport(E[L])):(u.setFromMatrixPosition(v.target.matrixWorld),D.lookAt(u));D.updateMatrixWorld();D.matrixWorldInverse.getInverse(D.matrixWorld);G.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1);G.multiply(D.projectionMatrix);G.multiply(D.matrixWorldInverse);n.multiplyMatrices(D.projectionMatrix,D.matrixWorldInverse);
|
|
|
+l.setFromMatrix(n);w.length=0;f(b,d,D);for(var Q=0,ea=w.length;Q<ea;Q++){var C=w[Q],B=c.update(C),z=C.material;if(z&&z.isMultiMaterial)for(var Ua=B.groups,z=z.materials,ud=0,Ca=Ua.length;ud<Ca;ud++){var Pa=Ua[ud],La=z[Pa.materialIndex];!0===La.visible&&(La=e(C,La,x,t),a.renderBufferDirect(D,null,B,La,C,Pa))}else La=e(C,z,x,t),a.renderBufferDirect(D,null,B,La,C,null)}}}}h=a.getClearColor();x=a.getClearAlpha();a.setClearColor(h,x);ba.needsUpdate=!1}}}function Va(a,b){this.origin=void 0!==a?a:new q;
|
|
|
this.direction=void 0!==b?b:new q}function Wa(a,b,c,d){this._x=a||0;this._y=b||0;this._z=c||0;this._order=d||Wa.DefaultOrder}function Sc(){this.mask=1}function z(){Object.defineProperty(this,"id",{value:ie++});this.uuid=h.Math.generateUUID();this.name="";this.type="Object3D";this.parent=null;this.children=[];this.up=z.DefaultUp.clone();var a=new q,b=new Wa,c=new da,d=new q(1,1,1);b.onChange(function(){c.setFromEuler(b,!1)});c.onChange(function(){b.setFromQuaternion(c,void 0,!1)});Object.defineProperties(this,
|
|
|
{position:{enumerable:!0,value:a},rotation:{enumerable:!0,value:b},quaternion:{enumerable:!0,value:c},scale:{enumerable:!0,value:d},modelViewMatrix:{value:new H},normalMatrix:{value:new za}});this.matrix=new H;this.matrixWorld=new H;this.matrixAutoUpdate=z.DefaultMatrixAutoUpdate;this.matrixWorldNeedsUpdate=!1;this.layers=new Sc;this.visible=!0;this.receiveShadow=this.castShadow=!1;this.frustumCulled=!0;this.renderOrder=0;this.userData={};this.onBeforeRender=function(){};this.onAfterRender=function(){}}
|
|
|
function bb(a,b){this.start=void 0!==a?a:new q;this.end=void 0!==b?b:new q}function Ga(a,b,c){this.a=void 0!==a?a:new q;this.b=void 0!==b?b:new q;this.c=void 0!==c?c:new q}function pa(a,b,c,d,e,f){this.a=a;this.b=b;this.c=c;this.normal=d&&d.isVector3?d:new q;this.vertexNormals=Array.isArray(d)?d:[];this.color=e&&e.isColor?e:new M;this.vertexColors=Array.isArray(e)?e:[];this.materialIndex=void 0!==f?f:0}function Ia(a){T.call(this);this.type="MeshBasicMaterial";this.color=new M(16777215);this.aoMap=
|
|
@@ -46,102 +46,102 @@ this.map=null;this.aoMapIntensity=1;this.envMap=this.alphaMap=this.specularMap=n
|
|
|
a?a.length/b:0;this.normalized=!0===c;this.dynamic=!1;this.updateRange={offset:0,count:-1};this.version=0}function Tc(a,b){return new B(new Uint16Array(a),b)}function Uc(a,b){return new B(new Uint32Array(a),b)}function ia(a,b){return new B(new Float32Array(a),b)}function P(){Object.defineProperty(this,"id",{value:Vc++});this.uuid=h.Math.generateUUID();this.name="";this.type="Geometry";this.vertices=[];this.colors=[];this.faces=[];this.faceVertexUvs=[[]];this.morphTargets=[];this.morphNormals=[];this.skinWeights=
|
|
|
[];this.skinIndices=[];this.lineDistances=[];this.boundingSphere=this.boundingBox=null;this.groupsNeedUpdate=this.lineDistancesNeedUpdate=this.colorsNeedUpdate=this.normalsNeedUpdate=this.uvsNeedUpdate=this.verticesNeedUpdate=this.elementsNeedUpdate=!1}function je(){Object.defineProperty(this,"id",{value:Vc++});this.uuid=h.Math.generateUUID();this.name="";this.type="DirectGeometry";this.indices=[];this.vertices=[];this.normals=[];this.colors=[];this.uvs=[];this.uvs2=[];this.groups=[];this.morphTargets=
|
|
|
{};this.skinWeights=[];this.skinIndices=[];this.boundingSphere=this.boundingBox=null;this.groupsNeedUpdate=this.uvsNeedUpdate=this.colorsNeedUpdate=this.normalsNeedUpdate=this.verticesNeedUpdate=!1}function J(){Object.defineProperty(this,"id",{value:Vc++});this.uuid=h.Math.generateUUID();this.name="";this.type="BufferGeometry";this.index=null;this.attributes={};this.morphAttributes={};this.groups=[];this.boundingSphere=this.boundingBox=null;this.drawRange={start:0,count:Infinity}}function va(a,b){z.call(this);
|
|
|
-this.type="Mesh";this.geometry=void 0!==a?a:new J;this.material=void 0!==b?b:new Ia({color:16777215*Math.random()});this.drawMode=0;this.updateMorphTargets()}function cb(a,b,c,d,e,f){function g(a,b,c,d,e,f,g,l,m,C,z){var B=f/m,N=g/C,O=f/2,R=g/2,S=l/2;g=m+1;for(var J=C+1,U=f=0,V=new q,K=0;K<J;K++)for(var M=K*N-R,H=0;H<g;H++)V[a]=(H*B-O)*d,V[b]=M*e,V[c]=S,p[t]=V.x,p[t+1]=V.y,p[t+2]=V.z,V[a]=0,V[b]=0,V[c]=0<l?1:-1,n[t]=V.x,n[t+1]=V.y,n[t+2]=V.z,h[w]=H/m,h[w+1]=1-K/C,t+=3,w+=2,f+=1;for(K=0;K<C;K++)for(H=
|
|
|
-0;H<m;H++)a=v+H+g*(K+1),b=v+(H+1)+g*(K+1),c=v+(H+1)+g*K,r[F]=v+H+g*K,r[F+1]=a,r[F+2]=c,r[F+3]=a,r[F+4]=b,r[F+5]=c,F+=6,U+=6;k.addGroup(x,U,z);x+=U;v+=f}J.call(this);this.type="BoxBufferGeometry";this.parameters={width:a,height:b,depth:c,widthSegments:d,heightSegments:e,depthSegments:f};var k=this;d=Math.floor(d)||1;e=Math.floor(e)||1;f=Math.floor(f)||1;var l=function(a,b,c){return a=0+(a+1)*(b+1)*2+(a+1)*(c+1)*2+(c+1)*(b+1)*2}(d,e,f),m=function(a,b,c){a=0+a*b*2+a*c*2+c*b*2;return 6*a}(d,e,f),r=new (65535<
|
|
|
-m?Uint32Array:Uint16Array)(m),p=new Float32Array(3*l),n=new Float32Array(3*l),h=new Float32Array(2*l),t=0,w=0,F=0,v=0,x=0;g("z","y","x",-1,-1,c,b,a,f,e,0);g("z","y","x",1,-1,c,b,-a,f,e,1);g("x","z","y",1,1,a,c,b,d,f,2);g("x","z","y",1,-1,a,c,-b,d,f,3);g("x","y","z",1,-1,a,b,c,d,e,4);g("x","y","z",-1,-1,a,b,-c,d,e,5);this.setIndex(new B(r,1));this.addAttribute("position",new B(p,3));this.addAttribute("normal",new B(n,3));this.addAttribute("uv",new B(h,2))}function db(a,b,c,d){J.call(this);this.type=
|
|
|
-"PlaneBufferGeometry";this.parameters={width:a,height:b,widthSegments:c,heightSegments:d};var e=a/2,f=b/2;c=Math.floor(c)||1;d=Math.floor(d)||1;var g=c+1,k=d+1,l=a/c,m=b/d;b=new Float32Array(g*k*3);a=new Float32Array(g*k*3);for(var r=new Float32Array(g*k*2),p=0,n=0,h=0;h<k;h++)for(var t=h*m-f,w=0;w<g;w++)b[p]=w*l-e,b[p+1]=-t,a[p+2]=1,r[n]=w/c,r[n+1]=1-h/d,p+=3,n+=2;p=0;e=new (65535<b.length/3?Uint32Array:Uint16Array)(c*d*6);for(h=0;h<d;h++)for(w=0;w<c;w++)f=w+g*(h+1),k=w+1+g*(h+1),l=w+1+g*h,e[p]=
|
|
|
+this.type="Mesh";this.geometry=void 0!==a?a:new J;this.material=void 0!==b?b:new Ia({color:16777215*Math.random()});this.drawMode=0;this.updateMorphTargets()}function cb(a,b,c,d,e,f){function g(a,b,c,d,e,f,g,l,n,C,z){var B=f/n,N=g/C,O=f/2,R=g/2,S=l/2;g=n+1;for(var J=C+1,U=f=0,V=new q,K=0;K<J;K++)for(var M=K*N-R,H=0;H<g;H++)V[a]=(H*B-O)*d,V[b]=M*e,V[c]=S,p[t]=V.x,p[t+1]=V.y,p[t+2]=V.z,V[a]=0,V[b]=0,V[c]=0<l?1:-1,m[t]=V.x,m[t+1]=V.y,m[t+2]=V.z,h[w]=H/n,h[w+1]=1-K/C,t+=3,w+=2,f+=1;for(K=0;K<C;K++)for(H=
|
|
|
+0;H<n;H++)a=v+H+g*(K+1),b=v+(H+1)+g*(K+1),c=v+(H+1)+g*K,r[F]=v+H+g*K,r[F+1]=a,r[F+2]=c,r[F+3]=a,r[F+4]=b,r[F+5]=c,F+=6,U+=6;k.addGroup(x,U,z);x+=U;v+=f}J.call(this);this.type="BoxBufferGeometry";this.parameters={width:a,height:b,depth:c,widthSegments:d,heightSegments:e,depthSegments:f};var k=this;d=Math.floor(d)||1;e=Math.floor(e)||1;f=Math.floor(f)||1;var l=function(a,b,c){return a=0+(a+1)*(b+1)*2+(a+1)*(c+1)*2+(c+1)*(b+1)*2}(d,e,f),n=function(a,b,c){a=0+a*b*2+a*c*2+c*b*2;return 6*a}(d,e,f),r=new (65535<
|
|
|
+n?Uint32Array:Uint16Array)(n),p=new Float32Array(3*l),m=new Float32Array(3*l),h=new Float32Array(2*l),t=0,w=0,F=0,v=0,x=0;g("z","y","x",-1,-1,c,b,a,f,e,0);g("z","y","x",1,-1,c,b,-a,f,e,1);g("x","z","y",1,1,a,c,b,d,f,2);g("x","z","y",1,-1,a,c,-b,d,f,3);g("x","y","z",1,-1,a,b,c,d,e,4);g("x","y","z",-1,-1,a,b,-c,d,e,5);this.setIndex(new B(r,1));this.addAttribute("position",new B(p,3));this.addAttribute("normal",new B(m,3));this.addAttribute("uv",new B(h,2))}function db(a,b,c,d){J.call(this);this.type=
|
|
|
+"PlaneBufferGeometry";this.parameters={width:a,height:b,widthSegments:c,heightSegments:d};var e=a/2,f=b/2;c=Math.floor(c)||1;d=Math.floor(d)||1;var g=c+1,k=d+1,l=a/c,n=b/d;b=new Float32Array(g*k*3);a=new Float32Array(g*k*3);for(var r=new Float32Array(g*k*2),p=0,m=0,h=0;h<k;h++)for(var t=h*n-f,w=0;w<g;w++)b[p]=w*l-e,b[p+1]=-t,a[p+2]=1,r[m]=w/c,r[m+1]=1-h/d,p+=3,m+=2;p=0;e=new (65535<b.length/3?Uint32Array:Uint16Array)(c*d*6);for(h=0;h<d;h++)for(w=0;w<c;w++)f=w+g*(h+1),k=w+1+g*(h+1),l=w+1+g*h,e[p]=
|
|
|
w+g*h,e[p+1]=f,e[p+2]=l,e[p+3]=f,e[p+4]=k,e[p+5]=l,p+=6;this.setIndex(new B(e,1));this.addAttribute("position",new B(b,3));this.addAttribute("normal",new B(a,3));this.addAttribute("uv",new B(r,2))}function ra(){z.call(this);this.type="Camera";this.matrixWorldInverse=new H;this.projectionMatrix=new H}function Da(a,b,c,d){ra.call(this);this.type="PerspectiveCamera";this.fov=void 0!==a?a:50;this.zoom=1;this.near=void 0!==c?c:.1;this.far=void 0!==d?d:2E3;this.focus=10;this.aspect=void 0!==b?b:1;this.view=
|
|
|
null;this.filmGauge=35;this.filmOffset=0;this.updateProjectionMatrix()}function Cb(a,b,c,d,e,f){ra.call(this);this.type="OrthographicCamera";this.zoom=1;this.view=null;this.left=a;this.right=b;this.top=c;this.bottom=d;this.near=void 0!==e?e:.1;this.far=void 0!==f?f:2E3;this.updateProjectionMatrix()}function $e(a,b,c){var d,e,f;return{setMode:function(a){d=a},setIndex:function(c){c.array instanceof Uint32Array&&b.get("OES_element_index_uint")?(e=a.UNSIGNED_INT,f=4):(e=a.UNSIGNED_SHORT,f=2)},render:function(b,
|
|
|
-k){a.drawElements(d,k,e,b*f);c.calls++;c.vertices+=k;d===a.TRIANGLES&&(c.faces+=k/3)},renderInstances:function(g,k,l){var m=b.get("ANGLE_instanced_arrays");null===m?console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays."):(m.drawElementsInstancedANGLE(d,l,e,k*f,g.maxInstancedCount),c.calls++,c.vertices+=l*g.maxInstancedCount,d===a.TRIANGLES&&(c.faces+=g.maxInstancedCount*l/3))}}}function af(a,b,c){var d;return{setMode:function(a){d=
|
|
|
+k){a.drawElements(d,k,e,b*f);c.calls++;c.vertices+=k;d===a.TRIANGLES&&(c.faces+=k/3)},renderInstances:function(g,k,l){var n=b.get("ANGLE_instanced_arrays");null===n?console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays."):(n.drawElementsInstancedANGLE(d,l,e,k*f,g.maxInstancedCount),c.calls++,c.vertices+=l*g.maxInstancedCount,d===a.TRIANGLES&&(c.faces+=g.maxInstancedCount*l/3))}}}function af(a,b,c){var d;return{setMode:function(a){d=
|
|
|
a},render:function(b,f){a.drawArrays(d,b,f);c.calls++;c.vertices+=f;d===a.TRIANGLES&&(c.faces+=f/3)},renderInstances:function(e){var f=b.get("ANGLE_instanced_arrays");if(null===f)console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");else{var g=e.attributes.position,g=g&&g.isInterleavedBufferAttribute?g.data.count:g.count;f.drawArraysInstancedANGLE(d,0,g,e.maxInstancedCount);c.calls++;c.vertices+=g*e.maxInstancedCount;
|
|
|
d===a.TRIANGLES&&(c.faces+=e.maxInstancedCount*g/3)}}}}function bf(){var a={};return{get:function(b){if(void 0!==a[b.id])return a[b.id];var c;switch(b.type){case "DirectionalLight":c={direction:new q,color:new M,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new C};break;case "SpotLight":c={position:new q,direction:new q,color:new M,distance:0,coneCos:0,penumbraCos:0,decay:0,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new C};break;case "PointLight":c={position:new q,color:new M,distance:0,
|
|
|
decay:0,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new C};break;case "HemisphereLight":c={direction:new q,skyColor:new M,groundColor:new M}}return a[b.id]=c}}}function cf(a){a=a.split("\n");for(var b=0;b<a.length;b++)a[b]=b+1+": "+a[b];return a.join("\n")}function ke(a,b,c){var d=a.createShader(b);a.shaderSource(d,c);a.compileShader(d);!1===a.getShaderParameter(d,a.COMPILE_STATUS)&&console.error("THREE.WebGLShader: Shader couldn't compile.");""!==a.getShaderInfoLog(d)&&console.warn("THREE.WebGLShader: gl.getShaderInfoLog()",
|
|
|
b===a.VERTEX_SHADER?"vertex":"fragment",a.getShaderInfoLog(d),cf(c));return d}function le(a){switch(a){case 3E3:return["Linear","( value )"];case 3001:return["sRGB","( value )"];case 3002:return["RGBE","( value )"];case 3004:return["RGBM","( value, 7.0 )"];case 3005:return["RGBM","( value, 16.0 )"];case 3006:return["RGBD","( value, 256.0 )"];case 3007:return["Gamma","( value, float( GAMMA_FACTOR ) )"];default:throw Error("unsupported encoding: "+a);}}function vd(a,b){var c=le(b);return"vec4 "+a+"( vec4 value ) { return "+
|
|
|
c[0]+"ToLinear"+c[1]+"; }"}function df(a,b){var c=le(b);return"vec4 "+a+"( vec4 value ) { return LinearTo"+c[0]+c[1]+"; }"}function ef(a,b){var c;switch(b){case 1:c="Linear";break;case 2:c="Reinhard";break;case 3:c="Uncharted2";break;case 4:c="OptimizedCineon";break;default:throw Error("unsupported toneMapping: "+b);}return"vec3 "+a+"( vec3 color ) { return "+c+"ToneMapping( color ); }"}function ff(a,b,c){a=a||{};return[a.derivatives||b.envMapCubeUV||b.bumpMap||b.normalMap||b.flatShading?"#extension GL_OES_standard_derivatives : enable":
|
|
|
-"",(a.fragDepth||b.logarithmicDepthBuffer)&&c.get("EXT_frag_depth")?"#extension GL_EXT_frag_depth : enable":"",a.drawBuffers&&c.get("WEBGL_draw_buffers")?"#extension GL_EXT_draw_buffers : require":"",(a.shaderTextureLOD||b.envMap)&&c.get("EXT_shader_texture_lod")?"#extension GL_EXT_shader_texture_lod : enable":""].filter(gc).join("\n")}function gf(a){var b=[],c;for(c in a){var d=a[c];!1!==d&&b.push("#define "+c+" "+d)}return b.join("\n")}function gc(a){return""!==a}function me(a,b){return a.replace(/NUM_DIR_LIGHTS/g,
|
|
|
+"",(a.fragDepth||b.logarithmicDepthBuffer)&&c.get("EXT_frag_depth")?"#extension GL_EXT_frag_depth : enable":"",a.drawBuffers&&c.get("WEBGL_draw_buffers")?"#extension GL_EXT_draw_buffers : require":"",(a.shaderTextureLOD||b.envMap)&&c.get("EXT_shader_texture_lod")?"#extension GL_EXT_shader_texture_lod : enable":""].filter(fc).join("\n")}function gf(a){var b=[],c;for(c in a){var d=a[c];!1!==d&&b.push("#define "+c+" "+d)}return b.join("\n")}function fc(a){return""!==a}function me(a,b){return a.replace(/NUM_DIR_LIGHTS/g,
|
|
|
b.numDirLights).replace(/NUM_SPOT_LIGHTS/g,b.numSpotLights).replace(/NUM_POINT_LIGHTS/g,b.numPointLights).replace(/NUM_HEMI_LIGHTS/g,b.numHemiLights)}function wd(a){return a.replace(/#include +<([\w\d.]+)>/g,function(a,c){var d=X[c];if(void 0===d)throw Error("Can not resolve #include <"+c+">");return wd(d)})}function ne(a){return a.replace(/for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g,function(a,c,d,e){a="";for(c=parseInt(c);c<parseInt(d);c++)a+=e.replace(/\[ i \]/g,"[ "+c+
|
|
|
-" ]");return a})}function hf(a,b,c,d){var e=a.context,f=c.extensions,g=c.defines,k=c.__webglShader.vertexShader,l=c.__webglShader.fragmentShader,m="SHADOWMAP_TYPE_BASIC";1===d.shadowMapType?m="SHADOWMAP_TYPE_PCF":2===d.shadowMapType&&(m="SHADOWMAP_TYPE_PCF_SOFT");var r="ENVMAP_TYPE_CUBE",h="ENVMAP_MODE_REFLECTION",n="ENVMAP_BLENDING_MULTIPLY";if(d.envMap){switch(c.envMap.mapping){case 301:case 302:r="ENVMAP_TYPE_CUBE";break;case 306:case 307:r="ENVMAP_TYPE_CUBE_UV";break;case 303:case 304:r="ENVMAP_TYPE_EQUIREC";
|
|
|
-break;case 305:r="ENVMAP_TYPE_SPHERE"}switch(c.envMap.mapping){case 302:case 304:h="ENVMAP_MODE_REFRACTION"}switch(c.combine){case 0:n="ENVMAP_BLENDING_MULTIPLY";break;case 1:n="ENVMAP_BLENDING_MIX";break;case 2:n="ENVMAP_BLENDING_ADD"}}var u=0<a.gammaFactor?a.gammaFactor:1,f=ff(f,d,a.extensions),t=gf(g),w=e.createProgram();c.isRawShaderMaterial?(g=[t,"\n"].filter(gc).join("\n"),m=[f,t,"\n"].filter(gc).join("\n")):(g=["precision "+d.precision+" float;","precision "+d.precision+" int;","#define SHADER_NAME "+
|
|
|
+" ]");return a})}function hf(a,b,c,d){var e=a.context,f=c.extensions,g=c.defines,k=c.__webglShader.vertexShader,l=c.__webglShader.fragmentShader,n="SHADOWMAP_TYPE_BASIC";1===d.shadowMapType?n="SHADOWMAP_TYPE_PCF":2===d.shadowMapType&&(n="SHADOWMAP_TYPE_PCF_SOFT");var r="ENVMAP_TYPE_CUBE",h="ENVMAP_MODE_REFLECTION",m="ENVMAP_BLENDING_MULTIPLY";if(d.envMap){switch(c.envMap.mapping){case 301:case 302:r="ENVMAP_TYPE_CUBE";break;case 306:case 307:r="ENVMAP_TYPE_CUBE_UV";break;case 303:case 304:r="ENVMAP_TYPE_EQUIREC";
|
|
|
+break;case 305:r="ENVMAP_TYPE_SPHERE"}switch(c.envMap.mapping){case 302:case 304:h="ENVMAP_MODE_REFRACTION"}switch(c.combine){case 0:m="ENVMAP_BLENDING_MULTIPLY";break;case 1:m="ENVMAP_BLENDING_MIX";break;case 2:m="ENVMAP_BLENDING_ADD"}}var u=0<a.gammaFactor?a.gammaFactor:1,f=ff(f,d,a.extensions),t=gf(g),w=e.createProgram();c.isRawShaderMaterial?(g=[t,"\n"].filter(fc).join("\n"),n=[f,t,"\n"].filter(fc).join("\n")):(g=["precision "+d.precision+" float;","precision "+d.precision+" int;","#define SHADER_NAME "+
|
|
|
c.__webglShader.name,t,d.supportsVertexTextures?"#define VERTEX_TEXTURES":"","#define GAMMA_FACTOR "+u,"#define MAX_BONES "+d.maxBones,d.map?"#define USE_MAP":"",d.envMap?"#define USE_ENVMAP":"",d.envMap?"#define "+h:"",d.lightMap?"#define USE_LIGHTMAP":"",d.aoMap?"#define USE_AOMAP":"",d.emissiveMap?"#define USE_EMISSIVEMAP":"",d.bumpMap?"#define USE_BUMPMAP":"",d.normalMap?"#define USE_NORMALMAP":"",d.displacementMap&&d.supportsVertexTextures?"#define USE_DISPLACEMENTMAP":"",d.specularMap?"#define USE_SPECULARMAP":
|
|
|
"",d.roughnessMap?"#define USE_ROUGHNESSMAP":"",d.metalnessMap?"#define USE_METALNESSMAP":"",d.alphaMap?"#define USE_ALPHAMAP":"",d.vertexColors?"#define USE_COLOR":"",d.flatShading?"#define FLAT_SHADED":"",d.skinning?"#define USE_SKINNING":"",d.useVertexTexture?"#define BONE_TEXTURE":"",d.morphTargets?"#define USE_MORPHTARGETS":"",d.morphNormals&&!1===d.flatShading?"#define USE_MORPHNORMALS":"",d.doubleSided?"#define DOUBLE_SIDED":"",d.flipSided?"#define FLIP_SIDED":"","#define NUM_CLIPPING_PLANES "+
|
|
|
-d.numClippingPlanes,d.shadowMapEnabled?"#define USE_SHADOWMAP":"",d.shadowMapEnabled?"#define "+m:"",d.sizeAttenuation?"#define USE_SIZEATTENUATION":"",d.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",d.logarithmicDepthBuffer&&a.extensions.get("EXT_frag_depth")?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","attribute vec3 position;",
|
|
|
+d.numClippingPlanes,d.shadowMapEnabled?"#define USE_SHADOWMAP":"",d.shadowMapEnabled?"#define "+n:"",d.sizeAttenuation?"#define USE_SIZEATTENUATION":"",d.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",d.logarithmicDepthBuffer&&a.extensions.get("EXT_frag_depth")?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","attribute vec3 position;",
|
|
|
"attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_COLOR","\tattribute vec3 color;","#endif","#ifdef USE_MORPHTARGETS","\tattribute vec3 morphTarget0;","\tattribute vec3 morphTarget1;","\tattribute vec3 morphTarget2;","\tattribute vec3 morphTarget3;","\t#ifdef USE_MORPHNORMALS","\t\tattribute vec3 morphNormal0;","\t\tattribute vec3 morphNormal1;","\t\tattribute vec3 morphNormal2;","\t\tattribute vec3 morphNormal3;","\t#else","\t\tattribute vec3 morphTarget4;","\t\tattribute vec3 morphTarget5;",
|
|
|
-"\t\tattribute vec3 morphTarget6;","\t\tattribute vec3 morphTarget7;","\t#endif","#endif","#ifdef USE_SKINNING","\tattribute vec4 skinIndex;","\tattribute vec4 skinWeight;","#endif","\n"].filter(gc).join("\n"),m=[f,"precision "+d.precision+" float;","precision "+d.precision+" int;","#define SHADER_NAME "+c.__webglShader.name,t,d.alphaTest?"#define ALPHATEST "+d.alphaTest:"","#define GAMMA_FACTOR "+u,d.useFog&&d.fog?"#define USE_FOG":"",d.useFog&&d.fogExp?"#define FOG_EXP2":"",d.map?"#define USE_MAP":
|
|
|
-"",d.envMap?"#define USE_ENVMAP":"",d.envMap?"#define "+r:"",d.envMap?"#define "+h:"",d.envMap?"#define "+n:"",d.lightMap?"#define USE_LIGHTMAP":"",d.aoMap?"#define USE_AOMAP":"",d.emissiveMap?"#define USE_EMISSIVEMAP":"",d.bumpMap?"#define USE_BUMPMAP":"",d.normalMap?"#define USE_NORMALMAP":"",d.specularMap?"#define USE_SPECULARMAP":"",d.roughnessMap?"#define USE_ROUGHNESSMAP":"",d.metalnessMap?"#define USE_METALNESSMAP":"",d.alphaMap?"#define USE_ALPHAMAP":"",d.vertexColors?"#define USE_COLOR":
|
|
|
-"",d.flatShading?"#define FLAT_SHADED":"",d.doubleSided?"#define DOUBLE_SIDED":"",d.flipSided?"#define FLIP_SIDED":"","#define NUM_CLIPPING_PLANES "+d.numClippingPlanes,d.shadowMapEnabled?"#define USE_SHADOWMAP":"",d.shadowMapEnabled?"#define "+m:"",d.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",d.physicallyCorrectLights?"#define PHYSICALLY_CORRECT_LIGHTS":"",d.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",d.logarithmicDepthBuffer&&a.extensions.get("EXT_frag_depth")?"#define USE_LOGDEPTHBUF_EXT":
|
|
|
+"\t\tattribute vec3 morphTarget6;","\t\tattribute vec3 morphTarget7;","\t#endif","#endif","#ifdef USE_SKINNING","\tattribute vec4 skinIndex;","\tattribute vec4 skinWeight;","#endif","\n"].filter(fc).join("\n"),n=[f,"precision "+d.precision+" float;","precision "+d.precision+" int;","#define SHADER_NAME "+c.__webglShader.name,t,d.alphaTest?"#define ALPHATEST "+d.alphaTest:"","#define GAMMA_FACTOR "+u,d.useFog&&d.fog?"#define USE_FOG":"",d.useFog&&d.fogExp?"#define FOG_EXP2":"",d.map?"#define USE_MAP":
|
|
|
+"",d.envMap?"#define USE_ENVMAP":"",d.envMap?"#define "+r:"",d.envMap?"#define "+h:"",d.envMap?"#define "+m:"",d.lightMap?"#define USE_LIGHTMAP":"",d.aoMap?"#define USE_AOMAP":"",d.emissiveMap?"#define USE_EMISSIVEMAP":"",d.bumpMap?"#define USE_BUMPMAP":"",d.normalMap?"#define USE_NORMALMAP":"",d.specularMap?"#define USE_SPECULARMAP":"",d.roughnessMap?"#define USE_ROUGHNESSMAP":"",d.metalnessMap?"#define USE_METALNESSMAP":"",d.alphaMap?"#define USE_ALPHAMAP":"",d.vertexColors?"#define USE_COLOR":
|
|
|
+"",d.flatShading?"#define FLAT_SHADED":"",d.doubleSided?"#define DOUBLE_SIDED":"",d.flipSided?"#define FLIP_SIDED":"","#define NUM_CLIPPING_PLANES "+d.numClippingPlanes,d.shadowMapEnabled?"#define USE_SHADOWMAP":"",d.shadowMapEnabled?"#define "+n:"",d.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",d.physicallyCorrectLights?"#define PHYSICALLY_CORRECT_LIGHTS":"",d.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",d.logarithmicDepthBuffer&&a.extensions.get("EXT_frag_depth")?"#define USE_LOGDEPTHBUF_EXT":
|
|
|
"",d.envMap&&a.extensions.get("EXT_shader_texture_lod")?"#define TEXTURE_LOD_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;",0!==d.toneMapping?"#define TONE_MAPPING":"",0!==d.toneMapping?X.tonemapping_pars_fragment:"",0!==d.toneMapping?ef("toneMapping",d.toneMapping):"",d.outputEncoding||d.mapEncoding||d.envMapEncoding||d.emissiveMapEncoding?X.encodings_pars_fragment:"",d.mapEncoding?vd("mapTexelToLinear",d.mapEncoding):"",d.envMapEncoding?vd("envMapTexelToLinear",d.envMapEncoding):
|
|
|
-"",d.emissiveMapEncoding?vd("emissiveMapTexelToLinear",d.emissiveMapEncoding):"",d.outputEncoding?df("linearToOutputTexel",d.outputEncoding):"",d.depthPacking?"#define DEPTH_PACKING "+c.depthPacking:"","\n"].filter(gc).join("\n"));k=wd(k,d);k=me(k,d);l=wd(l,d);l=me(l,d);c.isShaderMaterial||(k=ne(k),l=ne(l));l=m+l;k=ke(e,e.VERTEX_SHADER,g+k);l=ke(e,e.FRAGMENT_SHADER,l);e.attachShader(w,k);e.attachShader(w,l);void 0!==c.index0AttributeName?e.bindAttribLocation(w,0,c.index0AttributeName):!0===d.morphTargets&&
|
|
|
-e.bindAttribLocation(w,0,"position");e.linkProgram(w);d=e.getProgramInfoLog(w);r=e.getShaderInfoLog(k);h=e.getShaderInfoLog(l);u=n=!0;if(!1===e.getProgramParameter(w,e.LINK_STATUS))n=!1,console.error("THREE.WebGLProgram: shader error: ",e.getError(),"gl.VALIDATE_STATUS",e.getProgramParameter(w,e.VALIDATE_STATUS),"gl.getProgramInfoLog",d,r,h);else if(""!==d)console.warn("THREE.WebGLProgram: gl.getProgramInfoLog()",d);else if(""===r||""===h)u=!1;u&&(this.diagnostics={runnable:n,material:c,programLog:d,
|
|
|
-vertexShader:{log:r,prefix:g},fragmentShader:{log:h,prefix:m}});e.deleteShader(k);e.deleteShader(l);var q;this.getUniforms=function(){void 0===q&&(q=new Sa(e,w,a));return q};var v;this.getAttributes=function(){if(void 0===v){for(var a={},b=e.getProgramParameter(w,e.ACTIVE_ATTRIBUTES),c=0;c<b;c++){var d=e.getActiveAttrib(w,c).name;a[d]=e.getAttribLocation(w,d)}v=a}return v};this.destroy=function(){e.deleteProgram(w);this.program=void 0};Object.defineProperties(this,{uniforms:{get:function(){console.warn("THREE.WebGLProgram: .uniforms is now .getUniforms().");
|
|
|
+"",d.emissiveMapEncoding?vd("emissiveMapTexelToLinear",d.emissiveMapEncoding):"",d.outputEncoding?df("linearToOutputTexel",d.outputEncoding):"",d.depthPacking?"#define DEPTH_PACKING "+c.depthPacking:"","\n"].filter(fc).join("\n"));k=wd(k,d);k=me(k,d);l=wd(l,d);l=me(l,d);c.isShaderMaterial||(k=ne(k),l=ne(l));l=n+l;k=ke(e,e.VERTEX_SHADER,g+k);l=ke(e,e.FRAGMENT_SHADER,l);e.attachShader(w,k);e.attachShader(w,l);void 0!==c.index0AttributeName?e.bindAttribLocation(w,0,c.index0AttributeName):!0===d.morphTargets&&
|
|
|
+e.bindAttribLocation(w,0,"position");e.linkProgram(w);d=e.getProgramInfoLog(w);r=e.getShaderInfoLog(k);h=e.getShaderInfoLog(l);u=m=!0;if(!1===e.getProgramParameter(w,e.LINK_STATUS))m=!1,console.error("THREE.WebGLProgram: shader error: ",e.getError(),"gl.VALIDATE_STATUS",e.getProgramParameter(w,e.VALIDATE_STATUS),"gl.getProgramInfoLog",d,r,h);else if(""!==d)console.warn("THREE.WebGLProgram: gl.getProgramInfoLog()",d);else if(""===r||""===h)u=!1;u&&(this.diagnostics={runnable:m,material:c,programLog:d,
|
|
|
+vertexShader:{log:r,prefix:g},fragmentShader:{log:h,prefix:n}});e.deleteShader(k);e.deleteShader(l);var q;this.getUniforms=function(){void 0===q&&(q=new Sa(e,w,a));return q};var v;this.getAttributes=function(){if(void 0===v){for(var a={},b=e.getProgramParameter(w,e.ACTIVE_ATTRIBUTES),c=0;c<b;c++){var d=e.getActiveAttrib(w,c).name;a[d]=e.getAttribLocation(w,d)}v=a}return v};this.destroy=function(){e.deleteProgram(w);this.program=void 0};Object.defineProperties(this,{uniforms:{get:function(){console.warn("THREE.WebGLProgram: .uniforms is now .getUniforms().");
|
|
|
return this.getUniforms()}},attributes:{get:function(){console.warn("THREE.WebGLProgram: .attributes is now .getAttributes().");return this.getAttributes()}}});this.id=jf++;this.code=b;this.usedTimes=1;this.program=w;this.vertexShader=k;this.fragmentShader=l;return this}function kf(a,b){function c(a,b){var c;a?a&&a.isTexture?c=a.encoding:a&&a.isWebGLRenderTarget&&(console.warn("THREE.WebGLPrograms.getTextureEncodingFromMap: don't use render targets as textures. Use their .texture property instead."),
|
|
|
c=a.texture.encoding):c=3E3;3E3===c&&b&&(c=3007);return c}var d=[],e={MeshDepthMaterial:"depth",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points"},f="precision supportsVertexTextures map mapEncoding envMap envMapMode envMapEncoding lightMap aoMap emissiveMap emissiveMapEncoding bumpMap normalMap displacementMap specularMap roughnessMap metalnessMap alphaMap combine vertexColors fog useFog fogExp flatShading sizeAttenuation logarithmicDepthBuffer skinning maxBones useVertexTexture morphTargets morphNormals maxMorphTargets maxMorphNormals premultipliedAlpha numDirLights numPointLights numSpotLights numHemiLights shadowMapEnabled shadowMapType toneMapping physicallyCorrectLights alphaTest doubleSided flipSided numClippingPlanes depthPacking".split(" ");
|
|
|
-this.getParameters=function(d,f,l,m,r){var h=e[d.type],n;b.floatVertexTextures&&r&&r.skeleton&&r.skeleton.useVertexTexture?n=1024:(n=Math.floor((b.maxVertexUniforms-20)/4),void 0!==r&&r&&r.isSkinnedMesh&&(n=Math.min(r.skeleton.bones.length,n),n<r.skeleton.bones.length&&console.warn("WebGLRenderer: too many bones - "+r.skeleton.bones.length+", this GPU supports just "+n+" (try OpenGL instead of ANGLE)")));var u=a.getPrecision();null!==d.precision&&(u=b.getMaxPrecision(d.precision),u!==d.precision&&
|
|
|
+this.getParameters=function(d,f,l,n,r){var h=e[d.type],m;b.floatVertexTextures&&r&&r.skeleton&&r.skeleton.useVertexTexture?m=1024:(m=Math.floor((b.maxVertexUniforms-20)/4),void 0!==r&&r&&r.isSkinnedMesh&&(m=Math.min(r.skeleton.bones.length,m),m<r.skeleton.bones.length&&console.warn("WebGLRenderer: too many bones - "+r.skeleton.bones.length+", this GPU supports just "+m+" (try OpenGL instead of ANGLE)")));var u=a.getPrecision();null!==d.precision&&(u=b.getMaxPrecision(d.precision),u!==d.precision&&
|
|
|
console.warn("THREE.WebGLProgram.getParameters:",d.precision,"not supported, using",u,"instead."));var t=a.getCurrentRenderTarget();return{shaderID:h,precision:u,supportsVertexTextures:b.vertexTextures,outputEncoding:c(t?t.texture:null,a.gammaOutput),map:!!d.map,mapEncoding:c(d.map,a.gammaInput),envMap:!!d.envMap,envMapMode:d.envMap&&d.envMap.mapping,envMapEncoding:c(d.envMap,a.gammaInput),envMapCubeUV:!!d.envMap&&(306===d.envMap.mapping||307===d.envMap.mapping),lightMap:!!d.lightMap,aoMap:!!d.aoMap,
|
|
|
-emissiveMap:!!d.emissiveMap,emissiveMapEncoding:c(d.emissiveMap,a.gammaInput),bumpMap:!!d.bumpMap,normalMap:!!d.normalMap,displacementMap:!!d.displacementMap,roughnessMap:!!d.roughnessMap,metalnessMap:!!d.metalnessMap,specularMap:!!d.specularMap,alphaMap:!!d.alphaMap,combine:d.combine,vertexColors:d.vertexColors,fog:!!l,useFog:d.fog,fogExp:l&&l.isFogExp2,flatShading:1===d.shading,sizeAttenuation:d.sizeAttenuation,logarithmicDepthBuffer:b.logarithmicDepthBuffer,skinning:d.skinning,maxBones:n,useVertexTexture:b.floatVertexTextures&&
|
|
|
-r&&r.skeleton&&r.skeleton.useVertexTexture,morphTargets:d.morphTargets,morphNormals:d.morphNormals,maxMorphTargets:a.maxMorphTargets,maxMorphNormals:a.maxMorphNormals,numDirLights:f.directional.length,numPointLights:f.point.length,numSpotLights:f.spot.length,numHemiLights:f.hemi.length,numClippingPlanes:m,shadowMapEnabled:a.shadowMap.enabled&&r.receiveShadow&&0<f.shadows.length,shadowMapType:a.shadowMap.type,toneMapping:a.toneMapping,physicallyCorrectLights:a.physicallyCorrectLights,premultipliedAlpha:d.premultipliedAlpha,
|
|
|
-alphaTest:d.alphaTest,doubleSided:2===d.side,flipSided:1===d.side,depthPacking:void 0!==d.depthPacking?d.depthPacking:!1}};this.getProgramCode=function(a,b){var c=[];b.shaderID?c.push(b.shaderID):(c.push(a.fragmentShader),c.push(a.vertexShader));if(void 0!==a.defines)for(var d in a.defines)c.push(d),c.push(a.defines[d]);for(d=0;d<f.length;d++)c.push(b[f[d]]);return c.join()};this.acquireProgram=function(b,c,e){for(var f,r=0,h=d.length;r<h;r++){var n=d[r];if(n.code===e){f=n;++f.usedTimes;break}}void 0===
|
|
|
-f&&(f=new hf(a,e,b,c),d.push(f));return f};this.releaseProgram=function(a){if(0===--a.usedTimes){var b=d.indexOf(a);d[b]=d[d.length-1];d.pop();a.destroy()}};this.programs=d}function lf(a,b,c){function d(a){var k=a.target;a=f[k.id];null!==a.index&&e(a.index);var l=a.attributes,m;for(m in l)e(l[m]);k.removeEventListener("dispose",d);delete f[k.id];m=b.get(k);m.wireframe&&e(m.wireframe);b["delete"](k);k=b.get(a);k.wireframe&&e(k.wireframe);b["delete"](a);c.memory.geometries--}function e(c){var d;d=c.isInterleavedBufferAttribute?
|
|
|
+emissiveMap:!!d.emissiveMap,emissiveMapEncoding:c(d.emissiveMap,a.gammaInput),bumpMap:!!d.bumpMap,normalMap:!!d.normalMap,displacementMap:!!d.displacementMap,roughnessMap:!!d.roughnessMap,metalnessMap:!!d.metalnessMap,specularMap:!!d.specularMap,alphaMap:!!d.alphaMap,combine:d.combine,vertexColors:d.vertexColors,fog:!!l,useFog:d.fog,fogExp:l&&l.isFogExp2,flatShading:1===d.shading,sizeAttenuation:d.sizeAttenuation,logarithmicDepthBuffer:b.logarithmicDepthBuffer,skinning:d.skinning,maxBones:m,useVertexTexture:b.floatVertexTextures&&
|
|
|
+r&&r.skeleton&&r.skeleton.useVertexTexture,morphTargets:d.morphTargets,morphNormals:d.morphNormals,maxMorphTargets:a.maxMorphTargets,maxMorphNormals:a.maxMorphNormals,numDirLights:f.directional.length,numPointLights:f.point.length,numSpotLights:f.spot.length,numHemiLights:f.hemi.length,numClippingPlanes:n,shadowMapEnabled:a.shadowMap.enabled&&r.receiveShadow&&0<f.shadows.length,shadowMapType:a.shadowMap.type,toneMapping:a.toneMapping,physicallyCorrectLights:a.physicallyCorrectLights,premultipliedAlpha:d.premultipliedAlpha,
|
|
|
+alphaTest:d.alphaTest,doubleSided:2===d.side,flipSided:1===d.side,depthPacking:void 0!==d.depthPacking?d.depthPacking:!1}};this.getProgramCode=function(a,b){var c=[];b.shaderID?c.push(b.shaderID):(c.push(a.fragmentShader),c.push(a.vertexShader));if(void 0!==a.defines)for(var d in a.defines)c.push(d),c.push(a.defines[d]);for(d=0;d<f.length;d++)c.push(b[f[d]]);return c.join()};this.acquireProgram=function(b,c,e){for(var f,r=0,h=d.length;r<h;r++){var m=d[r];if(m.code===e){f=m;++f.usedTimes;break}}void 0===
|
|
|
+f&&(f=new hf(a,e,b,c),d.push(f));return f};this.releaseProgram=function(a){if(0===--a.usedTimes){var b=d.indexOf(a);d[b]=d[d.length-1];d.pop();a.destroy()}};this.programs=d}function lf(a,b,c){function d(a){var k=a.target;a=f[k.id];null!==a.index&&e(a.index);var l=a.attributes,n;for(n in l)e(l[n]);k.removeEventListener("dispose",d);delete f[k.id];n=b.get(k);n.wireframe&&e(n.wireframe);b["delete"](k);k=b.get(a);k.wireframe&&e(k.wireframe);b["delete"](a);c.memory.geometries--}function e(c){var d;d=c.isInterleavedBufferAttribute?
|
|
|
b.get(c.data).__webglBuffer:b.get(c).__webglBuffer;void 0!==d&&(a.deleteBuffer(d),c.isInterleavedBufferAttribute?b["delete"](c.data):b["delete"](c))}var f={};return{get:function(a){var b=a.geometry;if(void 0!==f[b.id])return f[b.id];b.addEventListener("dispose",d);var e;b.isBufferGeometry?e=b:b.isGeometry&&(void 0===b._bufferGeometry&&(b._bufferGeometry=(new J).setFromObject(a)),e=b._bufferGeometry);f[b.id]=e;c.memory.geometries++;return e}}}function mf(a,b,c){function d(c,d){var e=c.isInterleavedBufferAttribute?
|
|
|
c.data:c,l=b.get(e);void 0===l.__webglBuffer?(l.__webglBuffer=a.createBuffer(),a.bindBuffer(d,l.__webglBuffer),a.bufferData(d,e.array,e.dynamic?a.DYNAMIC_DRAW:a.STATIC_DRAW),l.version=e.version):l.version!==e.version&&(a.bindBuffer(d,l.__webglBuffer),!1===e.dynamic||-1===e.updateRange.count?a.bufferSubData(d,0,e.array):0===e.updateRange.count?console.error("THREE.WebGLObjects.updateBuffer: dynamic THREE.BufferAttribute marked as needsUpdate but updateRange.count is 0, ensure you are using set methods or updating manually."):
|
|
|
-(a.bufferSubData(d,e.updateRange.offset*e.array.BYTES_PER_ELEMENT,e.array.subarray(e.updateRange.offset,e.updateRange.offset+e.updateRange.count)),e.updateRange.count=0),l.version=e.version)}var e=new lf(a,b,c);return{getAttributeBuffer:function(a){return a.isInterleavedBufferAttribute?b.get(a.data).__webglBuffer:b.get(a).__webglBuffer},getWireframeAttribute:function(c){var e=b.get(c);if(void 0!==e.wireframe)return e.wireframe;var k=[],l=c.index,m=c.attributes;c=m.position;if(null!==l)for(var l=l.array,
|
|
|
-m=0,r=l.length;m<r;m+=3){var h=l[m+0],n=l[m+1],u=l[m+2];k.push(h,n,n,u,u,h)}else for(l=m.position.array,m=0,r=l.length/3-1;m<r;m+=3)h=m+0,n=m+1,u=m+2,k.push(h,n,n,u,u,h);k=new B(new (65535<c.count?Uint32Array:Uint16Array)(k),1);d(k,a.ELEMENT_ARRAY_BUFFER);return e.wireframe=k},update:function(b){var c=e.get(b);b.geometry.isGeometry&&c.updateFromObject(b);b=c.index;var k=c.attributes;null!==b&&d(b,a.ELEMENT_ARRAY_BUFFER);for(var l in k)d(k[l],a.ARRAY_BUFFER);b=c.morphAttributes;for(l in b)for(var k=
|
|
|
-b[l],m=0,h=k.length;m<h;m++)d(k[m],a.ARRAY_BUFFER);return c}}}function nf(a,b,c,d,e,f,g){function k(a,b){if(a.width>b||a.height>b){var c=b/Math.max(a.width,a.height),d=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");d.width=Math.floor(a.width*c);d.height=Math.floor(a.height*c);d.getContext("2d").drawImage(a,0,0,a.width,a.height,0,0,d.width,d.height);console.warn("THREE.WebGLRenderer: image is too big ("+a.width+"x"+a.height+"). Resized to "+d.width+"x"+d.height,a);return d}return a}
|
|
|
-function l(a){return h.Math.isPowerOfTwo(a.width)&&h.Math.isPowerOfTwo(a.height)}function m(b){return 1003===b||1004===b||1005===b?a.NEAREST:a.LINEAR}function r(b){b=b.target;b.removeEventListener("dispose",r);a:{var c=d.get(b);if(b.image&&c.__image__webglTextureCube)a.deleteTexture(c.__image__webglTextureCube);else{if(void 0===c.__webglInit)break a;a.deleteTexture(c.__webglTexture)}d["delete"](b)}q.textures--}function p(b){b=b.target;b.removeEventListener("dispose",p);var c=d.get(b),e=d.get(b.texture);
|
|
|
-if(b){void 0!==e.__webglTexture&&a.deleteTexture(e.__webglTexture);b.depthTexture&&b.depthTexture.dispose();if(b&&b.isWebGLRenderTargetCube)for(e=0;6>e;e++)a.deleteFramebuffer(c.__webglFramebuffer[e]),c.__webglDepthbuffer&&a.deleteRenderbuffer(c.__webglDepthbuffer[e]);else a.deleteFramebuffer(c.__webglFramebuffer),c.__webglDepthbuffer&&a.deleteRenderbuffer(c.__webglDepthbuffer);d["delete"](b.texture);d["delete"](b)}q.textures--}function n(b,g){var m=d.get(b);if(0<b.version&&m.__version!==b.version){var n=
|
|
|
-b.image;if(void 0===n)console.warn("THREE.WebGLRenderer: Texture marked for update but image is undefined",b);else if(!1===n.complete)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete",b);else{void 0===m.__webglInit&&(m.__webglInit=!0,b.addEventListener("dispose",r),m.__webglTexture=a.createTexture(),q.textures++);c.activeTexture(a.TEXTURE0+g);c.bindTexture(a.TEXTURE_2D,m.__webglTexture);a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,b.flipY);a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,
|
|
|
-b.premultiplyAlpha);a.pixelStorei(a.UNPACK_ALIGNMENT,b.unpackAlignment);var p=k(b.image,e.maxTextureSize);if((1001!==b.wrapS||1001!==b.wrapT||1003!==b.minFilter&&1006!==b.minFilter)&&!1===l(p))if(n=p,n instanceof HTMLImageElement||n instanceof HTMLCanvasElement){var t=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");t.width=h.Math.nearestPowerOfTwo(n.width);t.height=h.Math.nearestPowerOfTwo(n.height);t.getContext("2d").drawImage(n,0,0,t.width,t.height);console.warn("THREE.WebGLRenderer: image is not power of two ("+
|
|
|
-n.width+"x"+n.height+"). Resized to "+t.width+"x"+t.height,n);p=t}else p=n;var n=l(p),t=f(b.format),w=f(b.type);u(a.TEXTURE_2D,b,n);var ea=b.mipmaps;if(b&&b.isDepthTexture){ea=a.DEPTH_COMPONENT;if(1015===b.type){if(!v)throw Error("Float Depth Texture only supported in WebGL2.0");ea=a.DEPTH_COMPONENT32F}else v&&(ea=a.DEPTH_COMPONENT16);1027===b.format&&(ea=a.DEPTH_STENCIL);c.texImage2D(a.TEXTURE_2D,0,ea,p.width,p.height,0,t,w,null)}else if(b&&b.isDataTexture)if(0<ea.length&&n){for(var Q=0,ba=ea.length;Q<
|
|
|
+(a.bufferSubData(d,e.updateRange.offset*e.array.BYTES_PER_ELEMENT,e.array.subarray(e.updateRange.offset,e.updateRange.offset+e.updateRange.count)),e.updateRange.count=0),l.version=e.version)}var e=new lf(a,b,c);return{getAttributeBuffer:function(a){return a.isInterleavedBufferAttribute?b.get(a.data).__webglBuffer:b.get(a).__webglBuffer},getWireframeAttribute:function(c){var e=b.get(c);if(void 0!==e.wireframe)return e.wireframe;var k=[],l=c.index,n=c.attributes;c=n.position;if(null!==l)for(var l=l.array,
|
|
|
+n=0,h=l.length;n<h;n+=3){var p=l[n+0],m=l[n+1],u=l[n+2];k.push(p,m,m,u,u,p)}else for(l=n.position.array,n=0,h=l.length/3-1;n<h;n+=3)p=n+0,m=n+1,u=n+2,k.push(p,m,m,u,u,p);k=new B(new (65535<c.count?Uint32Array:Uint16Array)(k),1);d(k,a.ELEMENT_ARRAY_BUFFER);return e.wireframe=k},update:function(b){var c=e.get(b);b.geometry.isGeometry&&c.updateFromObject(b);b=c.index;var k=c.attributes;null!==b&&d(b,a.ELEMENT_ARRAY_BUFFER);for(var l in k)d(k[l],a.ARRAY_BUFFER);b=c.morphAttributes;for(l in b)for(var k=
|
|
|
+b[l],n=0,h=k.length;n<h;n++)d(k[n],a.ARRAY_BUFFER);return c}}}function nf(a,b,c,d,e,f,g){function k(a,b){if(a.width>b||a.height>b){var c=b/Math.max(a.width,a.height),d=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");d.width=Math.floor(a.width*c);d.height=Math.floor(a.height*c);d.getContext("2d").drawImage(a,0,0,a.width,a.height,0,0,d.width,d.height);console.warn("THREE.WebGLRenderer: image is too big ("+a.width+"x"+a.height+"). Resized to "+d.width+"x"+d.height,a);return d}return a}
|
|
|
+function l(a){return h.Math.isPowerOfTwo(a.width)&&h.Math.isPowerOfTwo(a.height)}function n(b){return 1003===b||1004===b||1005===b?a.NEAREST:a.LINEAR}function r(b){b=b.target;b.removeEventListener("dispose",r);a:{var c=d.get(b);if(b.image&&c.__image__webglTextureCube)a.deleteTexture(c.__image__webglTextureCube);else{if(void 0===c.__webglInit)break a;a.deleteTexture(c.__webglTexture)}d["delete"](b)}q.textures--}function p(b){b=b.target;b.removeEventListener("dispose",p);var c=d.get(b),e=d.get(b.texture);
|
|
|
+if(b){void 0!==e.__webglTexture&&a.deleteTexture(e.__webglTexture);b.depthTexture&&b.depthTexture.dispose();if(b&&b.isWebGLRenderTargetCube)for(e=0;6>e;e++)a.deleteFramebuffer(c.__webglFramebuffer[e]),c.__webglDepthbuffer&&a.deleteRenderbuffer(c.__webglDepthbuffer[e]);else a.deleteFramebuffer(c.__webglFramebuffer),c.__webglDepthbuffer&&a.deleteRenderbuffer(c.__webglDepthbuffer);d["delete"](b.texture);d["delete"](b)}q.textures--}function m(b,g){var n=d.get(b);if(0<b.version&&n.__version!==b.version){var m=
|
|
|
+b.image;if(void 0===m)console.warn("THREE.WebGLRenderer: Texture marked for update but image is undefined",b);else if(!1===m.complete)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete",b);else{void 0===n.__webglInit&&(n.__webglInit=!0,b.addEventListener("dispose",r),n.__webglTexture=a.createTexture(),q.textures++);c.activeTexture(a.TEXTURE0+g);c.bindTexture(a.TEXTURE_2D,n.__webglTexture);a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,b.flipY);a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,
|
|
|
+b.premultiplyAlpha);a.pixelStorei(a.UNPACK_ALIGNMENT,b.unpackAlignment);var p=k(b.image,e.maxTextureSize);if((1001!==b.wrapS||1001!==b.wrapT||1003!==b.minFilter&&1006!==b.minFilter)&&!1===l(p))if(m=p,m instanceof HTMLImageElement||m instanceof HTMLCanvasElement){var t=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");t.width=h.Math.nearestPowerOfTwo(m.width);t.height=h.Math.nearestPowerOfTwo(m.height);t.getContext("2d").drawImage(m,0,0,t.width,t.height);console.warn("THREE.WebGLRenderer: image is not power of two ("+
|
|
|
+m.width+"x"+m.height+"). Resized to "+t.width+"x"+t.height,m);p=t}else p=m;var m=l(p),t=f(b.format),w=f(b.type);u(a.TEXTURE_2D,b,m);var ea=b.mipmaps;if(b&&b.isDepthTexture){ea=a.DEPTH_COMPONENT;if(1015===b.type){if(!v)throw Error("Float Depth Texture only supported in WebGL2.0");ea=a.DEPTH_COMPONENT32F}else v&&(ea=a.DEPTH_COMPONENT16);1027===b.format&&(ea=a.DEPTH_STENCIL);c.texImage2D(a.TEXTURE_2D,0,ea,p.width,p.height,0,t,w,null)}else if(b&&b.isDataTexture)if(0<ea.length&&m){for(var Q=0,ba=ea.length;Q<
|
|
|
ba;Q++)p=ea[Q],c.texImage2D(a.TEXTURE_2D,Q,t,p.width,p.height,0,t,w,p.data);b.generateMipmaps=!1}else c.texImage2D(a.TEXTURE_2D,0,t,p.width,p.height,0,t,w,p.data);else if(b&&b.isCompressedTexture)for(Q=0,ba=ea.length;Q<ba;Q++)p=ea[Q],1023!==b.format&&1022!==b.format?-1<c.getCompressedTextureFormats().indexOf(t)?c.compressedTexImage2D(a.TEXTURE_2D,Q,t,p.width,p.height,0,p.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):c.texImage2D(a.TEXTURE_2D,
|
|
|
-Q,t,p.width,p.height,0,t,w,p.data);else if(0<ea.length&&n){Q=0;for(ba=ea.length;Q<ba;Q++)p=ea[Q],c.texImage2D(a.TEXTURE_2D,Q,t,t,w,p);b.generateMipmaps=!1}else c.texImage2D(a.TEXTURE_2D,0,t,t,w,p);b.generateMipmaps&&n&&a.generateMipmap(a.TEXTURE_2D);m.__version=b.version;if(b.onUpdate)b.onUpdate(b);return}}c.activeTexture(a.TEXTURE0+g);c.bindTexture(a.TEXTURE_2D,m.__webglTexture)}function u(c,g,k){k?(a.texParameteri(c,a.TEXTURE_WRAP_S,f(g.wrapS)),a.texParameteri(c,a.TEXTURE_WRAP_T,f(g.wrapT)),a.texParameteri(c,
|
|
|
-a.TEXTURE_MAG_FILTER,f(g.magFilter)),a.texParameteri(c,a.TEXTURE_MIN_FILTER,f(g.minFilter))):(a.texParameteri(c,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE),a.texParameteri(c,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE),1001===g.wrapS&&1001===g.wrapT||console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping.",g),a.texParameteri(c,a.TEXTURE_MAG_FILTER,m(g.magFilter)),a.texParameteri(c,a.TEXTURE_MIN_FILTER,m(g.minFilter)),1003!==g.minFilter&&
|
|
|
+Q,t,p.width,p.height,0,t,w,p.data);else if(0<ea.length&&m){Q=0;for(ba=ea.length;Q<ba;Q++)p=ea[Q],c.texImage2D(a.TEXTURE_2D,Q,t,t,w,p);b.generateMipmaps=!1}else c.texImage2D(a.TEXTURE_2D,0,t,t,w,p);b.generateMipmaps&&m&&a.generateMipmap(a.TEXTURE_2D);n.__version=b.version;if(b.onUpdate)b.onUpdate(b);return}}c.activeTexture(a.TEXTURE0+g);c.bindTexture(a.TEXTURE_2D,n.__webglTexture)}function u(c,g,k){k?(a.texParameteri(c,a.TEXTURE_WRAP_S,f(g.wrapS)),a.texParameteri(c,a.TEXTURE_WRAP_T,f(g.wrapT)),a.texParameteri(c,
|
|
|
+a.TEXTURE_MAG_FILTER,f(g.magFilter)),a.texParameteri(c,a.TEXTURE_MIN_FILTER,f(g.minFilter))):(a.texParameteri(c,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE),a.texParameteri(c,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE),1001===g.wrapS&&1001===g.wrapT||console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping.",g),a.texParameteri(c,a.TEXTURE_MAG_FILTER,n(g.magFilter)),a.texParameteri(c,a.TEXTURE_MIN_FILTER,n(g.minFilter)),1003!==g.minFilter&&
|
|
|
1006!==g.minFilter&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.",g));!(k=b.get("EXT_texture_filter_anisotropic"))||1015===g.type&&null===b.get("OES_texture_float_linear")||1016===g.type&&null===b.get("OES_texture_half_float_linear")||!(1<g.anisotropy||d.get(g).__currentAnisotropy)||(a.texParameterf(c,k.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(g.anisotropy,e.getMaxAnisotropy())),d.get(g).__currentAnisotropy=
|
|
|
-g.anisotropy)}function t(b,e,g,k){var l=f(e.texture.format),m=f(e.texture.type);c.texImage2D(k,0,l,e.width,e.height,0,l,m,null);a.bindFramebuffer(a.FRAMEBUFFER,b);a.framebufferTexture2D(a.FRAMEBUFFER,g,k,d.get(e.texture).__webglTexture,0);a.bindFramebuffer(a.FRAMEBUFFER,null)}function w(b,c){a.bindRenderbuffer(a.RENDERBUFFER,b);c.depthBuffer&&!c.stencilBuffer?(a.renderbufferStorage(a.RENDERBUFFER,a.DEPTH_COMPONENT16,c.width,c.height),a.framebufferRenderbuffer(a.FRAMEBUFFER,a.DEPTH_ATTACHMENT,a.RENDERBUFFER,
|
|
|
-b)):c.depthBuffer&&c.stencilBuffer?(a.renderbufferStorage(a.RENDERBUFFER,a.DEPTH_STENCIL,c.width,c.height),a.framebufferRenderbuffer(a.FRAMEBUFFER,a.DEPTH_STENCIL_ATTACHMENT,a.RENDERBUFFER,b)):a.renderbufferStorage(a.RENDERBUFFER,a.RGBA4,c.width,c.height);a.bindRenderbuffer(a.RENDERBUFFER,null)}var q=g.memory,v="undefined"!==typeof WebGL2RenderingContext&&a instanceof WebGL2RenderingContext;this.setTexture2D=n;this.setTextureCube=function(b,g){var m=d.get(b);if(6===b.image.length)if(0<b.version&&
|
|
|
-m.__version!==b.version){m.__image__webglTextureCube||(b.addEventListener("dispose",r),m.__image__webglTextureCube=a.createTexture(),q.textures++);c.activeTexture(a.TEXTURE0+g);c.bindTexture(a.TEXTURE_CUBE_MAP,m.__image__webglTextureCube);a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,b.flipY);for(var n=b&&b.isCompressedTexture,h=b.image[0]&&b.image[0].isDataTexture,p=[],t=0;6>t;t++)p[t]=n||h?h?b.image[t].image:b.image[t]:k(b.image[t],e.maxCubemapSize);var w=l(p[0]),v=f(b.format),ba=f(b.type);u(a.TEXTURE_CUBE_MAP,
|
|
|
-b,w);for(t=0;6>t;t++)if(n)for(var C,z=p[t].mipmaps,B=0,N=z.length;B<N;B++)C=z[B],1023!==b.format&&1022!==b.format?-1<c.getCompressedTextureFormats().indexOf(v)?c.compressedTexImage2D(a.TEXTURE_CUBE_MAP_POSITIVE_X+t,B,v,C.width,C.height,0,C.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):c.texImage2D(a.TEXTURE_CUBE_MAP_POSITIVE_X+t,B,v,C.width,C.height,0,v,ba,C.data);else h?c.texImage2D(a.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,v,p[t].width,
|
|
|
-p[t].height,0,v,ba,p[t].data):c.texImage2D(a.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,v,v,ba,p[t]);b.generateMipmaps&&w&&a.generateMipmap(a.TEXTURE_CUBE_MAP);m.__version=b.version;if(b.onUpdate)b.onUpdate(b)}else c.activeTexture(a.TEXTURE0+g),c.bindTexture(a.TEXTURE_CUBE_MAP,m.__image__webglTextureCube)};this.setTextureCubeDynamic=function(b,e){c.activeTexture(a.TEXTURE0+e);c.bindTexture(a.TEXTURE_CUBE_MAP,d.get(b).__webglTexture)};this.setupRenderTarget=function(b){var e=d.get(b),f=d.get(b.texture);b.addEventListener("dispose",
|
|
|
-p);f.__webglTexture=a.createTexture();q.textures++;var g=b&&b.isWebGLRenderTargetCube,k=l(b);if(g){e.__webglFramebuffer=[];for(var m=0;6>m;m++)e.__webglFramebuffer[m]=a.createFramebuffer()}else e.__webglFramebuffer=a.createFramebuffer();if(g){c.bindTexture(a.TEXTURE_CUBE_MAP,f.__webglTexture);u(a.TEXTURE_CUBE_MAP,b.texture,k);for(m=0;6>m;m++)t(e.__webglFramebuffer[m],b,a.COLOR_ATTACHMENT0,a.TEXTURE_CUBE_MAP_POSITIVE_X+m);b.texture.generateMipmaps&&k&&a.generateMipmap(a.TEXTURE_CUBE_MAP);c.bindTexture(a.TEXTURE_CUBE_MAP,
|
|
|
+g.anisotropy)}function t(b,e,g,k){var l=f(e.texture.format),n=f(e.texture.type);c.texImage2D(k,0,l,e.width,e.height,0,l,n,null);a.bindFramebuffer(a.FRAMEBUFFER,b);a.framebufferTexture2D(a.FRAMEBUFFER,g,k,d.get(e.texture).__webglTexture,0);a.bindFramebuffer(a.FRAMEBUFFER,null)}function w(b,c){a.bindRenderbuffer(a.RENDERBUFFER,b);c.depthBuffer&&!c.stencilBuffer?(a.renderbufferStorage(a.RENDERBUFFER,a.DEPTH_COMPONENT16,c.width,c.height),a.framebufferRenderbuffer(a.FRAMEBUFFER,a.DEPTH_ATTACHMENT,a.RENDERBUFFER,
|
|
|
+b)):c.depthBuffer&&c.stencilBuffer?(a.renderbufferStorage(a.RENDERBUFFER,a.DEPTH_STENCIL,c.width,c.height),a.framebufferRenderbuffer(a.FRAMEBUFFER,a.DEPTH_STENCIL_ATTACHMENT,a.RENDERBUFFER,b)):a.renderbufferStorage(a.RENDERBUFFER,a.RGBA4,c.width,c.height);a.bindRenderbuffer(a.RENDERBUFFER,null)}var q=g.memory,v="undefined"!==typeof WebGL2RenderingContext&&a instanceof WebGL2RenderingContext;this.setTexture2D=m;this.setTextureCube=function(b,g){var n=d.get(b);if(6===b.image.length)if(0<b.version&&
|
|
|
+n.__version!==b.version){n.__image__webglTextureCube||(b.addEventListener("dispose",r),n.__image__webglTextureCube=a.createTexture(),q.textures++);c.activeTexture(a.TEXTURE0+g);c.bindTexture(a.TEXTURE_CUBE_MAP,n.__image__webglTextureCube);a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,b.flipY);for(var m=b&&b.isCompressedTexture,h=b.image[0]&&b.image[0].isDataTexture,p=[],t=0;6>t;t++)p[t]=m||h?h?b.image[t].image:b.image[t]:k(b.image[t],e.maxCubemapSize);var w=l(p[0]),v=f(b.format),ba=f(b.type);u(a.TEXTURE_CUBE_MAP,
|
|
|
+b,w);for(t=0;6>t;t++)if(m)for(var C,z=p[t].mipmaps,B=0,N=z.length;B<N;B++)C=z[B],1023!==b.format&&1022!==b.format?-1<c.getCompressedTextureFormats().indexOf(v)?c.compressedTexImage2D(a.TEXTURE_CUBE_MAP_POSITIVE_X+t,B,v,C.width,C.height,0,C.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):c.texImage2D(a.TEXTURE_CUBE_MAP_POSITIVE_X+t,B,v,C.width,C.height,0,v,ba,C.data);else h?c.texImage2D(a.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,v,p[t].width,
|
|
|
+p[t].height,0,v,ba,p[t].data):c.texImage2D(a.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,v,v,ba,p[t]);b.generateMipmaps&&w&&a.generateMipmap(a.TEXTURE_CUBE_MAP);n.__version=b.version;if(b.onUpdate)b.onUpdate(b)}else c.activeTexture(a.TEXTURE0+g),c.bindTexture(a.TEXTURE_CUBE_MAP,n.__image__webglTextureCube)};this.setTextureCubeDynamic=function(b,e){c.activeTexture(a.TEXTURE0+e);c.bindTexture(a.TEXTURE_CUBE_MAP,d.get(b).__webglTexture)};this.setupRenderTarget=function(b){var e=d.get(b),f=d.get(b.texture);b.addEventListener("dispose",
|
|
|
+p);f.__webglTexture=a.createTexture();q.textures++;var g=b&&b.isWebGLRenderTargetCube,k=l(b);if(g){e.__webglFramebuffer=[];for(var n=0;6>n;n++)e.__webglFramebuffer[n]=a.createFramebuffer()}else e.__webglFramebuffer=a.createFramebuffer();if(g){c.bindTexture(a.TEXTURE_CUBE_MAP,f.__webglTexture);u(a.TEXTURE_CUBE_MAP,b.texture,k);for(n=0;6>n;n++)t(e.__webglFramebuffer[n],b,a.COLOR_ATTACHMENT0,a.TEXTURE_CUBE_MAP_POSITIVE_X+n);b.texture.generateMipmaps&&k&&a.generateMipmap(a.TEXTURE_CUBE_MAP);c.bindTexture(a.TEXTURE_CUBE_MAP,
|
|
|
null)}else c.bindTexture(a.TEXTURE_2D,f.__webglTexture),u(a.TEXTURE_2D,b.texture,k),t(e.__webglFramebuffer,b,a.COLOR_ATTACHMENT0,a.TEXTURE_2D),b.texture.generateMipmaps&&k&&a.generateMipmap(a.TEXTURE_2D),c.bindTexture(a.TEXTURE_2D,null);if(b.depthBuffer){e=d.get(b);f=b&&b.isWebGLRenderTargetCube;if(b.depthTexture){if(f)throw Error("target.depthTexture not supported in Cube render targets");if(b&&b.isWebGLRenderTargetCube)throw Error("Depth Texture with cube render targets is not supported!");a.bindFramebuffer(a.FRAMEBUFFER,
|
|
|
-e.__webglFramebuffer);if(!b.depthTexture||!b.depthTexture.isDepthTexture)throw Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");d.get(b.depthTexture).__webglTexture&&b.depthTexture.image.width===b.width&&b.depthTexture.image.height===b.height||(b.depthTexture.image.width=b.width,b.depthTexture.image.height=b.height,b.depthTexture.needsUpdate=!0);n(b.depthTexture,0);e=d.get(b.depthTexture).__webglTexture;if(1026===b.depthTexture.format)a.framebufferTexture2D(a.FRAMEBUFFER,
|
|
|
+e.__webglFramebuffer);if(!b.depthTexture||!b.depthTexture.isDepthTexture)throw Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");d.get(b.depthTexture).__webglTexture&&b.depthTexture.image.width===b.width&&b.depthTexture.image.height===b.height||(b.depthTexture.image.width=b.width,b.depthTexture.image.height=b.height,b.depthTexture.needsUpdate=!0);m(b.depthTexture,0);e=d.get(b.depthTexture).__webglTexture;if(1026===b.depthTexture.format)a.framebufferTexture2D(a.FRAMEBUFFER,
|
|
|
a.DEPTH_ATTACHMENT,a.TEXTURE_2D,e,0);else if(1027===b.depthTexture.format)a.framebufferTexture2D(a.FRAMEBUFFER,a.DEPTH_STENCIL_ATTACHMENT,a.TEXTURE_2D,e,0);else throw Error("Unknown depthTexture format");}else if(f)for(e.__webglDepthbuffer=[],f=0;6>f;f++)a.bindFramebuffer(a.FRAMEBUFFER,e.__webglFramebuffer[f]),e.__webglDepthbuffer[f]=a.createRenderbuffer(),w(e.__webglDepthbuffer[f],b);else a.bindFramebuffer(a.FRAMEBUFFER,e.__webglFramebuffer),e.__webglDepthbuffer=a.createRenderbuffer(),w(e.__webglDepthbuffer,
|
|
|
b);a.bindFramebuffer(a.FRAMEBUFFER,null)}};this.updateRenderTargetMipmap=function(b){var e=b.texture;e.generateMipmaps&&l(b)&&1003!==e.minFilter&&1006!==e.minFilter&&(b=b&&b.isWebGLRenderTargetCube?a.TEXTURE_CUBE_MAP:a.TEXTURE_2D,e=d.get(e).__webglTexture,c.bindTexture(b,e),a.generateMipmap(b),c.bindTexture(b,null))}}function of(){var a={};return{get:function(b){b=b.uuid;var c=a[b];void 0===c&&(c={},a[b]=c);return c},"delete":function(b){delete a[b.uuid]},clear:function(){a={}}}}function pf(a,b,c){function d(b,
|
|
|
-c,d){var e=new Uint8Array(4),f=a.createTexture();a.bindTexture(b,f);a.texParameteri(b,a.TEXTURE_MIN_FILTER,a.NEAREST);a.texParameteri(b,a.TEXTURE_MAG_FILTER,a.NEAREST);for(b=0;b<d;b++)a.texImage2D(c+b,0,a.RGBA,1,1,0,a.RGBA,a.UNSIGNED_BYTE,e);return f}function e(b){!0!==E[b]&&(a.enable(b),E[b]=!0)}function f(b){!1!==E[b]&&(a.disable(b),E[b]=!1)}function g(b,d,g,k,l,m,n,h){0!==b?e(a.BLEND):f(a.BLEND);if(b!==D||h!==Fa)2===b?h?(a.blendEquationSeparate(a.FUNC_ADD,a.FUNC_ADD),a.blendFuncSeparate(a.ONE,
|
|
|
+c,d){var e=new Uint8Array(4),f=a.createTexture();a.bindTexture(b,f);a.texParameteri(b,a.TEXTURE_MIN_FILTER,a.NEAREST);a.texParameteri(b,a.TEXTURE_MAG_FILTER,a.NEAREST);for(b=0;b<d;b++)a.texImage2D(c+b,0,a.RGBA,1,1,0,a.RGBA,a.UNSIGNED_BYTE,e);return f}function e(b){!0!==E[b]&&(a.enable(b),E[b]=!0)}function f(b){!1!==E[b]&&(a.disable(b),E[b]=!1)}function g(b,d,g,k,l,n,m,h){0!==b?e(a.BLEND):f(a.BLEND);if(b!==D||h!==Fa)2===b?h?(a.blendEquationSeparate(a.FUNC_ADD,a.FUNC_ADD),a.blendFuncSeparate(a.ONE,
|
|
|
a.ONE,a.ONE,a.ONE)):(a.blendEquation(a.FUNC_ADD),a.blendFunc(a.SRC_ALPHA,a.ONE)):3===b?h?(a.blendEquationSeparate(a.FUNC_ADD,a.FUNC_ADD),a.blendFuncSeparate(a.ZERO,a.ZERO,a.ONE_MINUS_SRC_COLOR,a.ONE_MINUS_SRC_ALPHA)):(a.blendEquation(a.FUNC_ADD),a.blendFunc(a.ZERO,a.ONE_MINUS_SRC_COLOR)):4===b?h?(a.blendEquationSeparate(a.FUNC_ADD,a.FUNC_ADD),a.blendFuncSeparate(a.ZERO,a.SRC_COLOR,a.ZERO,a.SRC_ALPHA)):(a.blendEquation(a.FUNC_ADD),a.blendFunc(a.ZERO,a.SRC_COLOR)):h?(a.blendEquationSeparate(a.FUNC_ADD,
|
|
|
-a.FUNC_ADD),a.blendFuncSeparate(a.ONE,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA)):(a.blendEquationSeparate(a.FUNC_ADD,a.FUNC_ADD),a.blendFuncSeparate(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA)),D=b,Fa=h;if(5===b){l=l||d;m=m||g;n=n||k;if(d!==L||l!==C)a.blendEquationSeparate(c(d),c(l)),L=d,C=l;if(g!==ea||k!==Q||m!==B||n!==z)a.blendFuncSeparate(c(g),c(k),c(m),c(n)),ea=g,Q=k,B=m,z=n}else z=B=C=Q=ea=L=null}function k(a){w.setFunc(a)}function l(b){N!==b&&(b?a.frontFace(a.CW):
|
|
|
-a.frontFace(a.CCW),N=b)}function m(b){0!==b?(e(a.CULL_FACE),b!==O&&(1===b?a.cullFace(a.BACK):2===b?a.cullFace(a.FRONT):a.cullFace(a.FRONT_AND_BACK))):f(a.CULL_FACE);O=b}function h(b){void 0===b&&(b=a.TEXTURE0+V-1);K!==b&&(a.activeTexture(b),K=b)}function p(a,b,c,d){t.setClear(a,b,c,d)}function n(a){w.setClear(a)}function u(a){q.setClear(a)}var t=new function(){var b=!1,c=new ha,d=null,e=new ha;return{setMask:function(c){d===c||b||(a.colorMask(c,c,c,c),d=c)},setLocked:function(a){b=a},setClear:function(b,
|
|
|
+a.FUNC_ADD),a.blendFuncSeparate(a.ONE,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA)):(a.blendEquationSeparate(a.FUNC_ADD,a.FUNC_ADD),a.blendFuncSeparate(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA)),D=b,Fa=h;if(5===b){l=l||d;n=n||g;m=m||k;if(d!==L||l!==C)a.blendEquationSeparate(c(d),c(l)),L=d,C=l;if(g!==ea||k!==Q||n!==B||m!==z)a.blendFuncSeparate(c(g),c(k),c(n),c(m)),ea=g,Q=k,B=n,z=m}else z=B=C=Q=ea=L=null}function k(a){w.setFunc(a)}function l(b){N!==b&&(b?a.frontFace(a.CW):
|
|
|
+a.frontFace(a.CCW),N=b)}function n(b){0!==b?(e(a.CULL_FACE),b!==O&&(1===b?a.cullFace(a.BACK):2===b?a.cullFace(a.FRONT):a.cullFace(a.FRONT_AND_BACK))):f(a.CULL_FACE);O=b}function h(b){void 0===b&&(b=a.TEXTURE0+V-1);K!==b&&(a.activeTexture(b),K=b)}function p(a,b,c,d){t.setClear(a,b,c,d)}function m(a){w.setClear(a)}function u(a){q.setClear(a)}var t=new function(){var b=!1,c=new ha,d=null,e=new ha;return{setMask:function(c){d===c||b||(a.colorMask(c,c,c,c),d=c)},setLocked:function(a){b=a},setClear:function(b,
|
|
|
d,f,g){c.set(b,d,f,g);!1===e.equals(c)&&(a.clearColor(b,d,f,g),e.copy(c))},reset:function(){b=!1;d=null;e.set(0,0,0,1)}}},w=new function(){var b=!1,c=null,d=null,g=null;return{setTest:function(b){b?e(a.DEPTH_TEST):f(a.DEPTH_TEST)},setMask:function(d){c===d||b||(a.depthMask(d),c=d)},setFunc:function(b){if(d!==b){if(b)switch(b){case 0:a.depthFunc(a.NEVER);break;case 1:a.depthFunc(a.ALWAYS);break;case 2:a.depthFunc(a.LESS);break;case 3:a.depthFunc(a.LEQUAL);break;case 4:a.depthFunc(a.EQUAL);break;case 5:a.depthFunc(a.GEQUAL);
|
|
|
-break;case 6:a.depthFunc(a.GREATER);break;case 7:a.depthFunc(a.NOTEQUAL);break;default:a.depthFunc(a.LEQUAL)}else a.depthFunc(a.LEQUAL);d=b}},setLocked:function(a){b=a},setClear:function(b){g!==b&&(a.clearDepth(b),g=b)},reset:function(){b=!1;g=d=c=null}}},q=new function(){var b=!1,c=null,d=null,g=null,k=null,l=null,m=null,n=null,h=null;return{setTest:function(b){b?e(a.STENCIL_TEST):f(a.STENCIL_TEST)},setMask:function(d){c===d||b||(a.stencilMask(d),c=d)},setFunc:function(b,c,e){if(d!==b||g!==c||k!==
|
|
|
-e)a.stencilFunc(b,c,e),d=b,g=c,k=e},setOp:function(b,c,d){if(l!==b||m!==c||n!==d)a.stencilOp(b,c,d),l=b,m=c,n=d},setLocked:function(a){b=a},setClear:function(b){h!==b&&(a.clearStencil(b),h=b)},reset:function(){b=!1;h=n=m=l=k=g=d=c=null}}},v=a.getParameter(a.MAX_VERTEX_ATTRIBS),x=new Uint8Array(v),I=new Uint8Array(v),y=new Uint8Array(v),E={},G=null,D=null,L=null,ea=null,Q=null,C=null,B=null,z=null,Fa=!1,N=null,O=null,R=null,S=null,H=null,U=null,V=a.getParameter(a.MAX_TEXTURE_IMAGE_UNITS),K=null,J=
|
|
|
-{},M=new ha,P=new ha,ab={};ab[a.TEXTURE_2D]=d(a.TEXTURE_2D,a.TEXTURE_2D,1);ab[a.TEXTURE_CUBE_MAP]=d(a.TEXTURE_CUBE_MAP,a.TEXTURE_CUBE_MAP_POSITIVE_X,6);return{buffers:{color:t,depth:w,stencil:q},init:function(){p(0,0,0,1);n(1);u(0);e(a.DEPTH_TEST);k(3);l(!1);m(1);e(a.CULL_FACE);e(a.BLEND);g(1)},initAttributes:function(){for(var a=0,b=x.length;a<b;a++)x[a]=0},enableAttribute:function(c){x[c]=1;0===I[c]&&(a.enableVertexAttribArray(c),I[c]=1);0!==y[c]&&(b.get("ANGLE_instanced_arrays").vertexAttribDivisorANGLE(c,
|
|
|
+break;case 6:a.depthFunc(a.GREATER);break;case 7:a.depthFunc(a.NOTEQUAL);break;default:a.depthFunc(a.LEQUAL)}else a.depthFunc(a.LEQUAL);d=b}},setLocked:function(a){b=a},setClear:function(b){g!==b&&(a.clearDepth(b),g=b)},reset:function(){b=!1;g=d=c=null}}},q=new function(){var b=!1,c=null,d=null,g=null,k=null,l=null,n=null,m=null,h=null;return{setTest:function(b){b?e(a.STENCIL_TEST):f(a.STENCIL_TEST)},setMask:function(d){c===d||b||(a.stencilMask(d),c=d)},setFunc:function(b,c,e){if(d!==b||g!==c||k!==
|
|
|
+e)a.stencilFunc(b,c,e),d=b,g=c,k=e},setOp:function(b,c,d){if(l!==b||n!==c||m!==d)a.stencilOp(b,c,d),l=b,n=c,m=d},setLocked:function(a){b=a},setClear:function(b){h!==b&&(a.clearStencil(b),h=b)},reset:function(){b=!1;h=m=n=l=k=g=d=c=null}}},v=a.getParameter(a.MAX_VERTEX_ATTRIBS),x=new Uint8Array(v),I=new Uint8Array(v),y=new Uint8Array(v),E={},G=null,D=null,L=null,ea=null,Q=null,C=null,B=null,z=null,Fa=!1,N=null,O=null,R=null,S=null,H=null,U=null,V=a.getParameter(a.MAX_TEXTURE_IMAGE_UNITS),K=null,J=
|
|
|
+{},M=new ha,P=new ha,ab={};ab[a.TEXTURE_2D]=d(a.TEXTURE_2D,a.TEXTURE_2D,1);ab[a.TEXTURE_CUBE_MAP]=d(a.TEXTURE_CUBE_MAP,a.TEXTURE_CUBE_MAP_POSITIVE_X,6);return{buffers:{color:t,depth:w,stencil:q},init:function(){p(0,0,0,1);m(1);u(0);e(a.DEPTH_TEST);k(3);l(!1);n(1);e(a.CULL_FACE);e(a.BLEND);g(1)},initAttributes:function(){for(var a=0,b=x.length;a<b;a++)x[a]=0},enableAttribute:function(c){x[c]=1;0===I[c]&&(a.enableVertexAttribArray(c),I[c]=1);0!==y[c]&&(b.get("ANGLE_instanced_arrays").vertexAttribDivisorANGLE(c,
|
|
|
0),y[c]=0)},enableAttributeAndDivisor:function(b,c,d){x[b]=1;0===I[b]&&(a.enableVertexAttribArray(b),I[b]=1);y[b]!==c&&(d.vertexAttribDivisorANGLE(b,c),y[b]=c)},disableUnusedAttributes:function(){for(var b=0,c=I.length;b!==c;++b)I[b]!==x[b]&&(a.disableVertexAttribArray(b),I[b]=0)},enable:e,disable:f,getCompressedTextureFormats:function(){if(null===G&&(G=[],b.get("WEBGL_compressed_texture_pvrtc")||b.get("WEBGL_compressed_texture_s3tc")||b.get("WEBGL_compressed_texture_etc1")))for(var c=a.getParameter(a.COMPRESSED_TEXTURE_FORMATS),
|
|
|
-d=0;d<c.length;d++)G.push(c[d]);return G},setBlending:g,setColorWrite:function(a){t.setMask(a)},setDepthTest:function(a){w.setTest(a)},setDepthWrite:function(a){w.setMask(a)},setDepthFunc:k,setStencilTest:function(a){q.setTest(a)},setStencilWrite:function(a){q.setMask(a)},setStencilFunc:function(a,b,c){q.setFunc(a,b,c)},setStencilOp:function(a,b,c){q.setOp(a,b,c)},setFlipSided:l,setCullFace:m,setLineWidth:function(b){b!==R&&(a.lineWidth(b),R=b)},setPolygonOffset:function(b,c,d){if(b){if(e(a.POLYGON_OFFSET_FILL),
|
|
|
+d=0;d<c.length;d++)G.push(c[d]);return G},setBlending:g,setColorWrite:function(a){t.setMask(a)},setDepthTest:function(a){w.setTest(a)},setDepthWrite:function(a){w.setMask(a)},setDepthFunc:k,setStencilTest:function(a){q.setTest(a)},setStencilWrite:function(a){q.setMask(a)},setStencilFunc:function(a,b,c){q.setFunc(a,b,c)},setStencilOp:function(a,b,c){q.setOp(a,b,c)},setFlipSided:l,setCullFace:n,setLineWidth:function(b){b!==R&&(a.lineWidth(b),R=b)},setPolygonOffset:function(b,c,d){if(b){if(e(a.POLYGON_OFFSET_FILL),
|
|
|
S!==c||H!==d)a.polygonOffset(c,d),S=c,H=d}else f(a.POLYGON_OFFSET_FILL)},getScissorTest:function(){return U},setScissorTest:function(b){(U=b)?e(a.SCISSOR_TEST):f(a.SCISSOR_TEST)},activeTexture:h,bindTexture:function(b,c){null===K&&h();var d=J[K];void 0===d&&(d={type:void 0,texture:void 0},J[K]=d);if(d.type!==b||d.texture!==c)a.bindTexture(b,c||ab[b]),d.type=b,d.texture=c},compressedTexImage2D:function(){try{a.compressedTexImage2D.apply(a,arguments)}catch(b){console.error(b)}},texImage2D:function(){try{a.texImage2D.apply(a,
|
|
|
-arguments)}catch(b){console.error(b)}},clearColor:p,clearDepth:n,clearStencil:u,scissor:function(b){!1===M.equals(b)&&(a.scissor(b.x,b.y,b.z,b.w),M.copy(b))},viewport:function(b){!1===P.equals(b)&&(a.viewport(b.x,b.y,b.z,b.w),P.copy(b))},reset:function(){for(var b=0;b<I.length;b++)1===I[b]&&(a.disableVertexAttribArray(b),I[b]=0);E={};K=G=null;J={};O=N=D=null;t.reset();w.reset();q.reset()}}}function qf(a,b,c){function d(b){if("highp"===b){if(0<a.getShaderPrecisionFormat(a.VERTEX_SHADER,a.HIGH_FLOAT).precision&&
|
|
|
+arguments)}catch(b){console.error(b)}},clearColor:p,clearDepth:m,clearStencil:u,scissor:function(b){!1===M.equals(b)&&(a.scissor(b.x,b.y,b.z,b.w),M.copy(b))},viewport:function(b){!1===P.equals(b)&&(a.viewport(b.x,b.y,b.z,b.w),P.copy(b))},reset:function(){for(var b=0;b<I.length;b++)1===I[b]&&(a.disableVertexAttribArray(b),I[b]=0);E={};K=G=null;J={};O=N=D=null;t.reset();w.reset();q.reset()}}}function qf(a,b,c){function d(b){if("highp"===b){if(0<a.getShaderPrecisionFormat(a.VERTEX_SHADER,a.HIGH_FLOAT).precision&&
|
|
|
0<a.getShaderPrecisionFormat(a.FRAGMENT_SHADER,a.HIGH_FLOAT).precision)return"highp";b="mediump"}return"mediump"===b&&0<a.getShaderPrecisionFormat(a.VERTEX_SHADER,a.MEDIUM_FLOAT).precision&&0<a.getShaderPrecisionFormat(a.FRAGMENT_SHADER,a.MEDIUM_FLOAT).precision?"mediump":"lowp"}var e,f=void 0!==c.precision?c.precision:"highp",g=d(f);g!==f&&(console.warn("THREE.WebGLRenderer:",f,"not supported, using",g,"instead."),f=g);c=!0===c.logarithmicDepthBuffer&&!!b.get("EXT_frag_depth");var g=a.getParameter(a.MAX_TEXTURE_IMAGE_UNITS),
|
|
|
-k=a.getParameter(a.MAX_VERTEX_TEXTURE_IMAGE_UNITS),l=a.getParameter(a.MAX_TEXTURE_SIZE),m=a.getParameter(a.MAX_CUBE_MAP_TEXTURE_SIZE),h=a.getParameter(a.MAX_VERTEX_ATTRIBS),p=a.getParameter(a.MAX_VERTEX_UNIFORM_VECTORS),n=a.getParameter(a.MAX_VARYING_VECTORS),u=a.getParameter(a.MAX_FRAGMENT_UNIFORM_VECTORS),t=0<k,w=!!b.get("OES_texture_float");return{getMaxAnisotropy:function(){if(void 0!==e)return e;var c=b.get("EXT_texture_filter_anisotropic");return e=null!==c?a.getParameter(c.MAX_TEXTURE_MAX_ANISOTROPY_EXT):
|
|
|
-0},getMaxPrecision:d,precision:f,logarithmicDepthBuffer:c,maxTextures:g,maxVertexTextures:k,maxTextureSize:l,maxCubemapSize:m,maxAttributes:h,maxVertexUniforms:p,maxVaryings:n,maxFragmentUniforms:u,vertexTextures:t,floatFragmentTextures:w,floatVertexTextures:t&&w}}function rf(a){var b={};return{get:function(c){if(void 0!==b[c])return b[c];var d;switch(c){case "WEBGL_depth_texture":d=a.getExtension("WEBGL_depth_texture")||a.getExtension("MOZ_WEBGL_depth_texture")||a.getExtension("WEBKIT_WEBGL_depth_texture");
|
|
|
+k=a.getParameter(a.MAX_VERTEX_TEXTURE_IMAGE_UNITS),l=a.getParameter(a.MAX_TEXTURE_SIZE),n=a.getParameter(a.MAX_CUBE_MAP_TEXTURE_SIZE),h=a.getParameter(a.MAX_VERTEX_ATTRIBS),p=a.getParameter(a.MAX_VERTEX_UNIFORM_VECTORS),m=a.getParameter(a.MAX_VARYING_VECTORS),u=a.getParameter(a.MAX_FRAGMENT_UNIFORM_VECTORS),t=0<k,w=!!b.get("OES_texture_float");return{getMaxAnisotropy:function(){if(void 0!==e)return e;var c=b.get("EXT_texture_filter_anisotropic");return e=null!==c?a.getParameter(c.MAX_TEXTURE_MAX_ANISOTROPY_EXT):
|
|
|
+0},getMaxPrecision:d,precision:f,logarithmicDepthBuffer:c,maxTextures:g,maxVertexTextures:k,maxTextureSize:l,maxCubemapSize:n,maxAttributes:h,maxVertexUniforms:p,maxVaryings:m,maxFragmentUniforms:u,vertexTextures:t,floatFragmentTextures:w,floatVertexTextures:t&&w}}function rf(a){var b={};return{get:function(c){if(void 0!==b[c])return b[c];var d;switch(c){case "WEBGL_depth_texture":d=a.getExtension("WEBGL_depth_texture")||a.getExtension("MOZ_WEBGL_depth_texture")||a.getExtension("WEBKIT_WEBGL_depth_texture");
|
|
|
break;case "EXT_texture_filter_anisotropic":d=a.getExtension("EXT_texture_filter_anisotropic")||a.getExtension("MOZ_EXT_texture_filter_anisotropic")||a.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case "WEBGL_compressed_texture_s3tc":d=a.getExtension("WEBGL_compressed_texture_s3tc")||a.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||a.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case "WEBGL_compressed_texture_pvrtc":d=a.getExtension("WEBGL_compressed_texture_pvrtc")||
|
|
|
-a.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;case "WEBGL_compressed_texture_etc1":d=a.getExtension("WEBGL_compressed_texture_etc1");break;default:d=a.getExtension(c)}null===d&&console.warn("THREE.WebGLRenderer: "+c+" extension not supported.");return b[c]=d}}}function sf(){function a(){m.value!==d&&(m.value=d,m.needsUpdate=0<e);c.numPlanes=e}function b(a,b,d,e){var f=null!==a?a.length:0,g=null;if(0!==f){g=m.value;if(!0!==e||null===g){e=d+4*f;b=b.matrixWorldInverse;l.getNormalMatrix(b);
|
|
|
-if(null===g||g.length<e)g=new Float32Array(e);for(e=0;e!==f;++e,d+=4)k.copy(a[e]).applyMatrix4(b,l),k.normal.toArray(g,d),g[d+3]=k.constant}m.value=g;m.needsUpdate=!0}c.numPlanes=f;return g}var c=this,d=null,e=0,f=!1,g=!1,k=new ta,l=new za,m={value:null,needsUpdate:!1};this.uniform=m;this.numPlanes=0;this.init=function(a,c,g){var k=0!==a.length||c||0!==e||f;f=c;d=b(a,g,0);e=a.length;return k};this.beginShadows=function(){g=!0;b(null)};this.endShadows=function(){g=!1;a()};this.setState=function(c,
|
|
|
-k,l,h,t){if(!f||null===c||0===c.length||g&&!k)g?b(null):a();else{k=g?0:e;var w=4*k,q=h.clippingState||null;m.value=q;q=b(c,l,w,t);for(c=0;c!==w;++c)q[c]=d[c];h.clippingState=q;this.numPlanes+=k}}}function xd(a){function b(a,b,c,d){!0===L&&(a*=d,b*=d,c*=d);Y.clearColor(a,b,c,d)}function c(){Y.init();Y.scissor(X.copy(ia).multiplyScalar(Ma));Y.viewport(Ua.copy(ga).multiplyScalar(Ma));b(Ca.r,Ca.g,Ca.b,Pa)}function d(){W=P=null;T="";K=-1;Y.reset()}function e(a){a.preventDefault();d();c();fa.clear()}function f(a){a=
|
|
|
+a.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;case "WEBGL_compressed_texture_etc1":d=a.getExtension("WEBGL_compressed_texture_etc1");break;default:d=a.getExtension(c)}null===d&&console.warn("THREE.WebGLRenderer: "+c+" extension not supported.");return b[c]=d}}}function sf(){function a(){n.value!==d&&(n.value=d,n.needsUpdate=0<e);c.numPlanes=e}function b(a,b,d,e){var f=null!==a?a.length:0,g=null;if(0!==f){g=n.value;if(!0!==e||null===g){e=d+4*f;b=b.matrixWorldInverse;l.getNormalMatrix(b);
|
|
|
+if(null===g||g.length<e)g=new Float32Array(e);for(e=0;e!==f;++e,d+=4)k.copy(a[e]).applyMatrix4(b,l),k.normal.toArray(g,d),g[d+3]=k.constant}n.value=g;n.needsUpdate=!0}c.numPlanes=f;return g}var c=this,d=null,e=0,f=!1,g=!1,k=new ta,l=new za,n={value:null,needsUpdate:!1};this.uniform=n;this.numPlanes=0;this.init=function(a,c,g){var k=0!==a.length||c||0!==e||f;f=c;d=b(a,g,0);e=a.length;return k};this.beginShadows=function(){g=!0;b(null)};this.endShadows=function(){g=!1;a()};this.setState=function(c,
|
|
|
+k,l,h,t){if(!f||null===c||0===c.length||g&&!k)g?b(null):a();else{k=g?0:e;var w=4*k,q=h.clippingState||null;n.value=q;q=b(c,l,w,t);for(c=0;c!==w;++c)q[c]=d[c];h.clippingState=q;this.numPlanes+=k}}}function xd(a){function b(a,b,c,d){!0===L&&(a*=d,b*=d,c*=d);Y.clearColor(a,b,c,d)}function c(){Y.init();Y.scissor(X.copy(ia).multiplyScalar(Ma));Y.viewport(Ua.copy(ga).multiplyScalar(Ma));b(Ca.r,Ca.g,Ca.b,Pa)}function d(){W=P=null;T="";K=-1;Y.reset()}function e(a){a.preventDefault();d();c();fa.clear()}function f(a){a=
|
|
|
a.target;a.removeEventListener("dispose",f);g(a);fa["delete"](a)}function g(a){var b=fa.get(a).program;a.program=void 0;void 0!==b&&ua.releaseProgram(b)}function k(a,b){return Math.abs(b[0])-Math.abs(a[0])}function l(a,b){return a.object.renderOrder!==b.object.renderOrder?a.object.renderOrder-b.object.renderOrder:a.material.program&&b.material.program&&a.material.program!==b.material.program?a.material.program.id-b.material.program.id:a.material.id!==b.material.id?a.material.id-b.material.id:a.z!==
|
|
|
-b.z?a.z-b.z:a.id-b.id}function m(a,b){return a.object.renderOrder!==b.object.renderOrder?a.object.renderOrder-b.object.renderOrder:a.z!==b.z?b.z-a.z:a.id-b.id}function r(a,b,c,d,e){var f;c.transparent?(d=z,f=++Fa):(d=ba,f=++B);f=d[f];void 0!==f?(f.id=a.id,f.object=a,f.geometry=b,f.material=c,f.z=aa.z,f.group=e):(f={id:a.id,object:a,geometry:b,material:c,z:aa.z,group:e},d.push(f))}function p(a){if(!na.intersectsSphere(a))return!1;var b=da.numPlanes;if(0===b)return!0;var c=S.clippingPlanes,d=a.center;
|
|
|
-a=-a.radius;var e=0;do if(c[e].distanceToPoint(d)<a)return!1;while(++e!==b);return!0}function n(a,b){if(!1!==a.visible){if(0!==(a.layers.mask&b.layers.mask))if(a.isLight)Q.push(a);else if(a.isSprite){var c;(c=!1===a.frustumCulled)||(ma.center.set(0,0,0),ma.radius=.7071067811865476,ma.applyMatrix4(a.matrixWorld),c=!0===p(ma));c&&O.push(a)}else if(a.isLensFlare)R.push(a);else if(a.isImmediateRenderObject)!0===S.sortObjects&&(aa.setFromMatrixPosition(a.matrixWorld),aa.applyProjection(ra)),r(a,null,a.material,
|
|
|
+b.z?a.z-b.z:a.id-b.id}function n(a,b){return a.object.renderOrder!==b.object.renderOrder?a.object.renderOrder-b.object.renderOrder:a.z!==b.z?b.z-a.z:a.id-b.id}function r(a,b,c,d,e){var f;c.transparent?(d=z,f=++Fa):(d=ba,f=++B);f=d[f];void 0!==f?(f.id=a.id,f.object=a,f.geometry=b,f.material=c,f.z=aa.z,f.group=e):(f={id:a.id,object:a,geometry:b,material:c,z:aa.z,group:e},d.push(f))}function p(a){if(!na.intersectsSphere(a))return!1;var b=da.numPlanes;if(0===b)return!0;var c=S.clippingPlanes,d=a.center;
|
|
|
+a=-a.radius;var e=0;do if(c[e].distanceToPoint(d)<a)return!1;while(++e!==b);return!0}function m(a,b){if(!1!==a.visible){if(0!==(a.layers.mask&b.layers.mask))if(a.isLight)Q.push(a);else if(a.isSprite){var c;(c=!1===a.frustumCulled)||(ma.center.set(0,0,0),ma.radius=.7071067811865476,ma.applyMatrix4(a.matrixWorld),c=!0===p(ma));c&&O.push(a)}else if(a.isLensFlare)R.push(a);else if(a.isImmediateRenderObject)!0===S.sortObjects&&(aa.setFromMatrixPosition(a.matrixWorld),aa.applyProjection(ra)),r(a,null,a.material,
|
|
|
aa.z,null);else if(a.isMesh||a.isLine||a.isPoints)if(a.isSkinnedMesh&&a.skeleton.update(),(c=!1===a.frustumCulled)||(c=a.geometry,null===c.boundingSphere&&c.computeBoundingSphere(),ma.copy(c.boundingSphere).applyMatrix4(a.matrixWorld),c=!0===p(ma)),c){var d=a.material;if(!0===d.visible)if(!0===S.sortObjects&&(aa.setFromMatrixPosition(a.matrixWorld),aa.applyProjection(ra)),c=sa.update(a),d.isMultiMaterial)for(var e=c.groups,f=d.materials,d=0,g=e.length;d<g;d++){var k=e[d],l=f[k.materialIndex];!0===
|
|
|
-l.visible&&r(a,c,l,aa.z,k)}else r(a,c,d,aa.z,null)}c=a.children;d=0;for(g=c.length;d<g;d++)n(c[d],b)}}function u(a,b,c,d){for(var e=0,f=a.length;e<f;e++){var g=a[e],k=g.object,l=g.geometry,m=void 0===d?g.material:d,g=g.group;k.modelViewMatrix.multiplyMatrices(c.matrixWorldInverse,k.matrixWorld);k.normalMatrix.getNormalMatrix(k.modelViewMatrix);k.onBeforeRender(S,b,c,l,m,g);if(k.isImmediateRenderObject){t(m);var h=w(c,b.fog,m,k);T="";k.render(function(a){S.renderBufferImmediate(a,h,m)})}else S.renderBufferDirect(c,
|
|
|
-b.fog,l,m,k,g);k.onAfterRender(S,b,c,l,m,g)}}function t(a){2===a.side?Y.disable(A.CULL_FACE):Y.enable(A.CULL_FACE);Y.setFlipSided(1===a.side);!0===a.transparent?Y.setBlending(a.blending,a.blendEquation,a.blendSrc,a.blendDst,a.blendEquationAlpha,a.blendSrcAlpha,a.blendDstAlpha,a.premultipliedAlpha):Y.setBlending(0);Y.setDepthFunc(a.depthFunc);Y.setDepthTest(a.depthTest);Y.setDepthWrite(a.depthWrite);Y.setColorWrite(a.colorWrite);Y.setPolygonOffset(a.polygonOffset,a.polygonOffsetFactor,a.polygonOffsetUnits)}
|
|
|
-function w(a,b,c,d){ca=0;var e=fa.get(c);oa&&(qa||a!==W)&&da.setState(c.clippingPlanes,c.clipShadows,a,e,a===W&&c.id===K);!1===c.needsUpdate&&(void 0===e.program?c.needsUpdate=!0:c.fog&&e.fog!==b?c.needsUpdate=!0:c.lights&&e.lightsHash!==Z.hash?c.needsUpdate=!0:void 0!==e.numClippingPlanes&&e.numClippingPlanes!==da.numPlanes&&(c.needsUpdate=!0));if(c.needsUpdate){a:{var k=fa.get(c),l=ua.getParameters(c,Z,b,da.numPlanes,d),m=ua.getProgramCode(c,l),n=k.program,p=!0;if(void 0===n)c.addEventListener("dispose",
|
|
|
-f);else if(n.code!==m)g(c);else if(void 0!==l.shaderID)break a;else p=!1;p&&(l.shaderID?(n=Bb[l.shaderID],k.__webglShader={name:c.type,uniforms:h.UniformsUtils.clone(n.uniforms),vertexShader:n.vertexShader,fragmentShader:n.fragmentShader}):k.__webglShader={name:c.type,uniforms:c.uniforms,vertexShader:c.vertexShader,fragmentShader:c.fragmentShader},c.__webglShader=k.__webglShader,n=ua.acquireProgram(c,l,m),k.program=n,c.program=n);l=n.getAttributes();if(c.morphTargets)for(m=c.numSupportedMorphTargets=
|
|
|
-0;m<S.maxMorphTargets;m++)0<=l["morphTarget"+m]&&c.numSupportedMorphTargets++;if(c.morphNormals)for(m=c.numSupportedMorphNormals=0;m<S.maxMorphNormals;m++)0<=l["morphNormal"+m]&&c.numSupportedMorphNormals++;l=k.__webglShader.uniforms;if(!c.isShaderMaterial&&!c.isRawShaderMaterial||!0===c.clipping)k.numClippingPlanes=da.numPlanes,l.clippingPlanes=da.uniform;k.fog=b;k.lightsHash=Z.hash;c.lights&&(l.ambientLightColor.value=Z.ambient,l.directionalLights.value=Z.directional,l.spotLights.value=Z.spot,l.pointLights.value=
|
|
|
-Z.point,l.hemisphereLights.value=Z.hemi,l.directionalShadowMap.value=Z.directionalShadowMap,l.directionalShadowMatrix.value=Z.directionalShadowMatrix,l.spotShadowMap.value=Z.spotShadowMap,l.spotShadowMatrix.value=Z.spotShadowMatrix,l.pointShadowMap.value=Z.pointShadowMap,l.pointShadowMatrix.value=Z.pointShadowMatrix);m=k.program.getUniforms();l=Sa.seqWithValue(m.seq,l);k.uniformsList=l}c.needsUpdate=!1}var r=!1,p=n=!1,k=e.program,l=k.getUniforms(),m=e.__webglShader.uniforms;k.id!==P&&(A.useProgram(k.program),
|
|
|
-P=k.id,p=n=r=!0);c.id!==K&&(K=c.id,n=!0);if(r||a!==W){l.set(A,a,"projectionMatrix");la.logarithmicDepthBuffer&&l.setValue(A,"logDepthBufFC",2/(Math.log(a.far+1)/Math.LN2));a!==W&&(W=a,p=n=!0);if(c.isShaderMaterial||c.isMeshPhongMaterial||c.isMeshStandardMaterial||c.envMap)r=l.map.cameraPosition,void 0!==r&&r.setValue(A,aa.setFromMatrixPosition(a.matrixWorld));(c.isMeshPhongMaterial||c.isMeshLambertMaterial||c.isMeshBasicMaterial||c.isMeshStandardMaterial||c.isShaderMaterial||c.skinning)&&l.setValue(A,
|
|
|
-"viewMatrix",a.matrixWorldInverse);l.set(A,S,"toneMappingExposure");l.set(A,S,"toneMappingWhitePoint")}c.skinning&&(l.setOptional(A,d,"bindMatrix"),l.setOptional(A,d,"bindMatrixInverse"),a=d.skeleton)&&(la.floatVertexTextures&&a.useVertexTexture?(l.set(A,a,"boneTexture"),l.set(A,a,"boneTextureWidth"),l.set(A,a,"boneTextureHeight")):l.setOptional(A,a,"boneMatrices"));if(n){c.lights&&(a=p,m.ambientLightColor.needsUpdate=a,m.directionalLights.needsUpdate=a,m.pointLights.needsUpdate=a,m.spotLights.needsUpdate=
|
|
|
-a,m.hemisphereLights.needsUpdate=a);b&&c.fog&&(m.fogColor.value=b.color,b.isFog?(m.fogNear.value=b.near,m.fogFar.value=b.far):b.isFogExp2&&(m.fogDensity.value=b.density));if(c.isMeshBasicMaterial||c.isMeshLambertMaterial||c.isMeshPhongMaterial||c.isMeshStandardMaterial||c.isMeshDepthMaterial){m.opacity.value=c.opacity;m.diffuse.value=c.color;c.emissive&&m.emissive.value.copy(c.emissive).multiplyScalar(c.emissiveIntensity);m.map.value=c.map;m.specularMap.value=c.specularMap;m.alphaMap.value=c.alphaMap;
|
|
|
-c.aoMap&&(m.aoMap.value=c.aoMap,m.aoMapIntensity.value=c.aoMapIntensity);var u;c.map?u=c.map:c.specularMap?u=c.specularMap:c.displacementMap?u=c.displacementMap:c.normalMap?u=c.normalMap:c.bumpMap?u=c.bumpMap:c.roughnessMap?u=c.roughnessMap:c.metalnessMap?u=c.metalnessMap:c.alphaMap?u=c.alphaMap:c.emissiveMap&&(u=c.emissiveMap);void 0!==u&&(u.isWebGLRenderTarget&&(u=u.texture),b=u.offset,u=u.repeat,m.offsetRepeat.value.set(b.x,b.y,u.x,u.y));m.envMap.value=c.envMap;m.flipEnvMap.value=c.envMap&&c.envMap.isCubeTexture?
|
|
|
--1:1;m.reflectivity.value=c.reflectivity;m.refractionRatio.value=c.refractionRatio}c.isLineBasicMaterial?(m.diffuse.value=c.color,m.opacity.value=c.opacity):c.isLineDashedMaterial?(m.diffuse.value=c.color,m.opacity.value=c.opacity,m.dashSize.value=c.dashSize,m.totalSize.value=c.dashSize+c.gapSize,m.scale.value=c.scale):c.isPointsMaterial?(m.diffuse.value=c.color,m.opacity.value=c.opacity,m.size.value=c.size*Ma,m.scale.value=.5*hc,m.map.value=c.map,null!==c.map&&(u=c.map.offset,c=c.map.repeat,m.offsetRepeat.value.set(u.x,
|
|
|
-u.y,c.x,c.y))):c.isMeshLambertMaterial?(c.lightMap&&(m.lightMap.value=c.lightMap,m.lightMapIntensity.value=c.lightMapIntensity),c.emissiveMap&&(m.emissiveMap.value=c.emissiveMap)):c.isMeshPhongMaterial?(m.specular.value=c.specular,m.shininess.value=Math.max(c.shininess,1E-4),c.lightMap&&(m.lightMap.value=c.lightMap,m.lightMapIntensity.value=c.lightMapIntensity),c.emissiveMap&&(m.emissiveMap.value=c.emissiveMap),c.bumpMap&&(m.bumpMap.value=c.bumpMap,m.bumpScale.value=c.bumpScale),c.normalMap&&(m.normalMap.value=
|
|
|
-c.normalMap,m.normalScale.value.copy(c.normalScale)),c.displacementMap&&(m.displacementMap.value=c.displacementMap,m.displacementScale.value=c.displacementScale,m.displacementBias.value=c.displacementBias)):c.isMeshPhysicalMaterial?(m.clearCoat.value=c.clearCoat,m.clearCoatRoughness.value=c.clearCoatRoughness,F(m,c)):c.isMeshStandardMaterial?F(m,c):c.isMeshDepthMaterial?c.displacementMap&&(m.displacementMap.value=c.displacementMap,m.displacementScale.value=c.displacementScale,m.displacementBias.value=
|
|
|
-c.displacementBias):c.isMeshNormalMaterial&&(m.opacity.value=c.opacity);Sa.upload(A,e.uniformsList,m,S)}l.set(A,d,"modelViewMatrix");l.set(A,d,"normalMatrix");l.setValue(A,"modelMatrix",d.matrixWorld);return k}function F(a,b){a.roughness.value=b.roughness;a.metalness.value=b.metalness;b.roughnessMap&&(a.roughnessMap.value=b.roughnessMap);b.metalnessMap&&(a.metalnessMap.value=b.metalnessMap);b.lightMap&&(a.lightMap.value=b.lightMap,a.lightMapIntensity.value=b.lightMapIntensity);b.emissiveMap&&(a.emissiveMap.value=
|
|
|
+l.visible&&r(a,c,l,aa.z,k)}else r(a,c,d,aa.z,null)}c=a.children;d=0;for(g=c.length;d<g;d++)m(c[d],b)}}function u(a,b,c,d){for(var e=0,f=a.length;e<f;e++){var g=a[e],k=g.object,l=g.geometry,n=void 0===d?g.material:d,g=g.group;k.modelViewMatrix.multiplyMatrices(c.matrixWorldInverse,k.matrixWorld);k.normalMatrix.getNormalMatrix(k.modelViewMatrix);k.onBeforeRender(S,b,c,l,n,g);if(k.isImmediateRenderObject){t(n);var m=w(c,b.fog,n,k);T="";k.render(function(a){S.renderBufferImmediate(a,m,n)})}else S.renderBufferDirect(c,
|
|
|
+b.fog,l,n,k,g);k.onAfterRender(S,b,c,l,n,g)}}function t(a){2===a.side?Y.disable(A.CULL_FACE):Y.enable(A.CULL_FACE);Y.setFlipSided(1===a.side);!0===a.transparent?Y.setBlending(a.blending,a.blendEquation,a.blendSrc,a.blendDst,a.blendEquationAlpha,a.blendSrcAlpha,a.blendDstAlpha,a.premultipliedAlpha):Y.setBlending(0);Y.setDepthFunc(a.depthFunc);Y.setDepthTest(a.depthTest);Y.setDepthWrite(a.depthWrite);Y.setColorWrite(a.colorWrite);Y.setPolygonOffset(a.polygonOffset,a.polygonOffsetFactor,a.polygonOffsetUnits)}
|
|
|
+function w(a,b,c,d){ca=0;var e=fa.get(c);oa&&(qa||a!==W)&&da.setState(c.clippingPlanes,c.clipShadows,a,e,a===W&&c.id===K);!1===c.needsUpdate&&(void 0===e.program?c.needsUpdate=!0:c.fog&&e.fog!==b?c.needsUpdate=!0:c.lights&&e.lightsHash!==Z.hash?c.needsUpdate=!0:void 0!==e.numClippingPlanes&&e.numClippingPlanes!==da.numPlanes&&(c.needsUpdate=!0));if(c.needsUpdate){a:{var k=fa.get(c),l=ua.getParameters(c,Z,b,da.numPlanes,d),n=ua.getProgramCode(c,l),m=k.program,p=!0;if(void 0===m)c.addEventListener("dispose",
|
|
|
+f);else if(m.code!==n)g(c);else if(void 0!==l.shaderID)break a;else p=!1;p&&(l.shaderID?(m=Bb[l.shaderID],k.__webglShader={name:c.type,uniforms:h.UniformsUtils.clone(m.uniforms),vertexShader:m.vertexShader,fragmentShader:m.fragmentShader}):k.__webglShader={name:c.type,uniforms:c.uniforms,vertexShader:c.vertexShader,fragmentShader:c.fragmentShader},c.__webglShader=k.__webglShader,m=ua.acquireProgram(c,l,n),k.program=m,c.program=m);l=m.getAttributes();if(c.morphTargets)for(n=c.numSupportedMorphTargets=
|
|
|
+0;n<S.maxMorphTargets;n++)0<=l["morphTarget"+n]&&c.numSupportedMorphTargets++;if(c.morphNormals)for(n=c.numSupportedMorphNormals=0;n<S.maxMorphNormals;n++)0<=l["morphNormal"+n]&&c.numSupportedMorphNormals++;l=k.__webglShader.uniforms;if(!c.isShaderMaterial&&!c.isRawShaderMaterial||!0===c.clipping)k.numClippingPlanes=da.numPlanes,l.clippingPlanes=da.uniform;k.fog=b;k.lightsHash=Z.hash;c.lights&&(l.ambientLightColor.value=Z.ambient,l.directionalLights.value=Z.directional,l.spotLights.value=Z.spot,l.pointLights.value=
|
|
|
+Z.point,l.hemisphereLights.value=Z.hemi,l.directionalShadowMap.value=Z.directionalShadowMap,l.directionalShadowMatrix.value=Z.directionalShadowMatrix,l.spotShadowMap.value=Z.spotShadowMap,l.spotShadowMatrix.value=Z.spotShadowMatrix,l.pointShadowMap.value=Z.pointShadowMap,l.pointShadowMatrix.value=Z.pointShadowMatrix);n=k.program.getUniforms();l=Sa.seqWithValue(n.seq,l);k.uniformsList=l}c.needsUpdate=!1}var r=!1,p=m=!1,k=e.program,l=k.getUniforms(),n=e.__webglShader.uniforms;k.id!==P&&(A.useProgram(k.program),
|
|
|
+P=k.id,p=m=r=!0);c.id!==K&&(K=c.id,m=!0);if(r||a!==W){l.set(A,a,"projectionMatrix");la.logarithmicDepthBuffer&&l.setValue(A,"logDepthBufFC",2/(Math.log(a.far+1)/Math.LN2));a!==W&&(W=a,p=m=!0);if(c.isShaderMaterial||c.isMeshPhongMaterial||c.isMeshStandardMaterial||c.envMap)r=l.map.cameraPosition,void 0!==r&&r.setValue(A,aa.setFromMatrixPosition(a.matrixWorld));(c.isMeshPhongMaterial||c.isMeshLambertMaterial||c.isMeshBasicMaterial||c.isMeshStandardMaterial||c.isShaderMaterial||c.skinning)&&l.setValue(A,
|
|
|
+"viewMatrix",a.matrixWorldInverse);l.set(A,S,"toneMappingExposure");l.set(A,S,"toneMappingWhitePoint")}c.skinning&&(l.setOptional(A,d,"bindMatrix"),l.setOptional(A,d,"bindMatrixInverse"),a=d.skeleton)&&(la.floatVertexTextures&&a.useVertexTexture?(l.set(A,a,"boneTexture"),l.set(A,a,"boneTextureWidth"),l.set(A,a,"boneTextureHeight")):l.setOptional(A,a,"boneMatrices"));if(m){c.lights&&(a=p,n.ambientLightColor.needsUpdate=a,n.directionalLights.needsUpdate=a,n.pointLights.needsUpdate=a,n.spotLights.needsUpdate=
|
|
|
+a,n.hemisphereLights.needsUpdate=a);b&&c.fog&&(n.fogColor.value=b.color,b.isFog?(n.fogNear.value=b.near,n.fogFar.value=b.far):b.isFogExp2&&(n.fogDensity.value=b.density));if(c.isMeshBasicMaterial||c.isMeshLambertMaterial||c.isMeshPhongMaterial||c.isMeshStandardMaterial||c.isMeshDepthMaterial){n.opacity.value=c.opacity;n.diffuse.value=c.color;c.emissive&&n.emissive.value.copy(c.emissive).multiplyScalar(c.emissiveIntensity);n.map.value=c.map;n.specularMap.value=c.specularMap;n.alphaMap.value=c.alphaMap;
|
|
|
+c.aoMap&&(n.aoMap.value=c.aoMap,n.aoMapIntensity.value=c.aoMapIntensity);var u;c.map?u=c.map:c.specularMap?u=c.specularMap:c.displacementMap?u=c.displacementMap:c.normalMap?u=c.normalMap:c.bumpMap?u=c.bumpMap:c.roughnessMap?u=c.roughnessMap:c.metalnessMap?u=c.metalnessMap:c.alphaMap?u=c.alphaMap:c.emissiveMap&&(u=c.emissiveMap);void 0!==u&&(u.isWebGLRenderTarget&&(u=u.texture),b=u.offset,u=u.repeat,n.offsetRepeat.value.set(b.x,b.y,u.x,u.y));n.envMap.value=c.envMap;n.flipEnvMap.value=c.envMap&&c.envMap.isCubeTexture?
|
|
|
+-1:1;n.reflectivity.value=c.reflectivity;n.refractionRatio.value=c.refractionRatio}c.isLineBasicMaterial?(n.diffuse.value=c.color,n.opacity.value=c.opacity):c.isLineDashedMaterial?(n.diffuse.value=c.color,n.opacity.value=c.opacity,n.dashSize.value=c.dashSize,n.totalSize.value=c.dashSize+c.gapSize,n.scale.value=c.scale):c.isPointsMaterial?(n.diffuse.value=c.color,n.opacity.value=c.opacity,n.size.value=c.size*Ma,n.scale.value=.5*gc,n.map.value=c.map,null!==c.map&&(u=c.map.offset,c=c.map.repeat,n.offsetRepeat.value.set(u.x,
|
|
|
+u.y,c.x,c.y))):c.isMeshLambertMaterial?(c.lightMap&&(n.lightMap.value=c.lightMap,n.lightMapIntensity.value=c.lightMapIntensity),c.emissiveMap&&(n.emissiveMap.value=c.emissiveMap)):c.isMeshPhongMaterial?(n.specular.value=c.specular,n.shininess.value=Math.max(c.shininess,1E-4),c.lightMap&&(n.lightMap.value=c.lightMap,n.lightMapIntensity.value=c.lightMapIntensity),c.emissiveMap&&(n.emissiveMap.value=c.emissiveMap),c.bumpMap&&(n.bumpMap.value=c.bumpMap,n.bumpScale.value=c.bumpScale),c.normalMap&&(n.normalMap.value=
|
|
|
+c.normalMap,n.normalScale.value.copy(c.normalScale)),c.displacementMap&&(n.displacementMap.value=c.displacementMap,n.displacementScale.value=c.displacementScale,n.displacementBias.value=c.displacementBias)):c.isMeshPhysicalMaterial?(n.clearCoat.value=c.clearCoat,n.clearCoatRoughness.value=c.clearCoatRoughness,F(n,c)):c.isMeshStandardMaterial?F(n,c):c.isMeshDepthMaterial?c.displacementMap&&(n.displacementMap.value=c.displacementMap,n.displacementScale.value=c.displacementScale,n.displacementBias.value=
|
|
|
+c.displacementBias):c.isMeshNormalMaterial&&(n.opacity.value=c.opacity);Sa.upload(A,e.uniformsList,n,S)}l.set(A,d,"modelViewMatrix");l.set(A,d,"normalMatrix");l.setValue(A,"modelMatrix",d.matrixWorld);return k}function F(a,b){a.roughness.value=b.roughness;a.metalness.value=b.metalness;b.roughnessMap&&(a.roughnessMap.value=b.roughnessMap);b.metalnessMap&&(a.metalnessMap.value=b.metalnessMap);b.lightMap&&(a.lightMap.value=b.lightMap,a.lightMapIntensity.value=b.lightMapIntensity);b.emissiveMap&&(a.emissiveMap.value=
|
|
|
b.emissiveMap);b.bumpMap&&(a.bumpMap.value=b.bumpMap,a.bumpScale.value=b.bumpScale);b.normalMap&&(a.normalMap.value=b.normalMap,a.normalScale.value.copy(b.normalScale));b.displacementMap&&(a.displacementMap.value=b.displacementMap,a.displacementScale.value=b.displacementScale,a.displacementBias.value=b.displacementBias);b.envMap&&(a.envMapIntensity.value=b.envMapIntensity)}function v(a){var b;if(1E3===a)return A.REPEAT;if(1001===a)return A.CLAMP_TO_EDGE;if(1002===a)return A.MIRRORED_REPEAT;if(1003===
|
|
|
a)return A.NEAREST;if(1004===a)return A.NEAREST_MIPMAP_NEAREST;if(1005===a)return A.NEAREST_MIPMAP_LINEAR;if(1006===a)return A.LINEAR;if(1007===a)return A.LINEAR_MIPMAP_NEAREST;if(1008===a)return A.LINEAR_MIPMAP_LINEAR;if(1009===a)return A.UNSIGNED_BYTE;if(1017===a)return A.UNSIGNED_SHORT_4_4_4_4;if(1018===a)return A.UNSIGNED_SHORT_5_5_5_1;if(1019===a)return A.UNSIGNED_SHORT_5_6_5;if(1010===a)return A.BYTE;if(1011===a)return A.SHORT;if(1012===a)return A.UNSIGNED_SHORT;if(1013===a)return A.INT;if(1014===
|
|
|
a)return A.UNSIGNED_INT;if(1015===a)return A.FLOAT;if(1016===a&&(b=ja.get("OES_texture_half_float"),null!==b))return b.HALF_FLOAT_OES;if(1021===a)return A.ALPHA;if(1022===a)return A.RGB;if(1023===a)return A.RGBA;if(1024===a)return A.LUMINANCE;if(1025===a)return A.LUMINANCE_ALPHA;if(1026===a)return A.DEPTH_COMPONENT;if(1027===a)return A.DEPTH_STENCIL;if(100===a)return A.FUNC_ADD;if(101===a)return A.FUNC_SUBTRACT;if(102===a)return A.FUNC_REVERSE_SUBTRACT;if(200===a)return A.ZERO;if(201===a)return A.ONE;
|
|
@@ -149,24 +149,24 @@ if(202===a)return A.SRC_COLOR;if(203===a)return A.ONE_MINUS_SRC_COLOR;if(204===a
|
|
|
if(2003===a)return b.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(2004===a)return b.COMPRESSED_RGBA_S3TC_DXT5_EXT}if(2100===a||2101===a||2102===a||2103===a)if(b=ja.get("WEBGL_compressed_texture_pvrtc"),null!==b){if(2100===a)return b.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(2101===a)return b.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(2102===a)return b.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(2103===a)return b.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(2151===a&&(b=ja.get("WEBGL_compressed_texture_etc1"),null!==b))return b.COMPRESSED_RGB_ETC1_WEBGL;
|
|
|
if(103===a||104===a)if(b=ja.get("EXT_blend_minmax"),null!==b){if(103===a)return b.MIN_EXT;if(104===a)return b.MAX_EXT}return 1020===a&&(b=ja.get("WEBGL_depth_texture"),null!==b)?b.UNSIGNED_INT_24_8_WEBGL:0}console.log("THREE.WebGLRenderer","82dev");a=a||{};var x=void 0!==a.canvas?a.canvas:document.createElementNS("http://www.w3.org/1999/xhtml","canvas"),I=void 0!==a.context?a.context:null,y=void 0!==a.alpha?a.alpha:!1,E=void 0!==a.depth?a.depth:!0,G=void 0!==a.stencil?a.stencil:!0,D=void 0!==a.antialias?
|
|
|
a.antialias:!1,L=void 0!==a.premultipliedAlpha?a.premultipliedAlpha:!0,C=void 0!==a.preserveDrawingBuffer?a.preserveDrawingBuffer:!1,Q=[],ba=[],B=-1,z=[],Fa=-1,N=new Float32Array(8),O=[],R=[];this.domElement=x;this.context=null;this.sortObjects=this.autoClearStencil=this.autoClearDepth=this.autoClearColor=this.autoClear=!0;this.clippingPlanes=[];this.localClippingEnabled=!1;this.gammaFactor=2;this.physicallyCorrectLights=this.gammaOutput=this.gammaInput=!1;this.toneMappingWhitePoint=this.toneMappingExposure=
|
|
|
-this.toneMapping=1;this.maxMorphTargets=8;this.maxMorphNormals=4;var S=this,P=null,U=null,V=null,K=-1,T="",W=null,X=new ha,ab=null,Ua=new ha,ca=0,Ca=new M(0),Pa=0,La=x.width,hc=x.height,Ma=1,ia=new ha(0,0,La,hc),ka=!1,ga=new ha(0,0,La,hc),na=new fc,da=new sf,oa=!1,qa=!1,ma=new Ba,ra=new H,aa=new q,Z={hash:"",ambient:[0,0,0],directional:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadowMap:[],spotShadowMatrix:[],point:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],shadows:[]},
|
|
|
+this.toneMapping=1;this.maxMorphTargets=8;this.maxMorphNormals=4;var S=this,P=null,U=null,V=null,K=-1,T="",W=null,X=new ha,ab=null,Ua=new ha,ca=0,Ca=new M(0),Pa=0,La=x.width,gc=x.height,Ma=1,ia=new ha(0,0,La,gc),ka=!1,ga=new ha(0,0,La,gc),na=new ec,da=new sf,oa=!1,qa=!1,ma=new Ba,ra=new H,aa=new q,Z={hash:"",ambient:[0,0,0],directional:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadowMap:[],spotShadowMatrix:[],point:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],shadows:[]},
|
|
|
pa={calls:0,vertices:0,faces:0,points:0};this.info={render:pa,memory:{geometries:0,textures:0},programs:null};var A;try{y={alpha:y,depth:E,stencil:G,antialias:D,premultipliedAlpha:L,preserveDrawingBuffer:C};A=I||x.getContext("webgl",y)||x.getContext("experimental-webgl",y);if(null===A){if(null!==x.getContext("webgl"))throw"Error creating WebGL context with your selected attributes.";throw"Error creating WebGL context.";}void 0===A.getShaderPrecisionFormat&&(A.getShaderPrecisionFormat=function(){return{rangeMin:1,
|
|
|
rangeMax:1,precision:1}});x.addEventListener("webglcontextlost",e,!1)}catch(tf){console.error("THREE.WebGLRenderer: "+tf)}var ja=new rf(A);ja.get("WEBGL_depth_texture");ja.get("OES_texture_float");ja.get("OES_texture_float_linear");ja.get("OES_texture_half_float");ja.get("OES_texture_half_float_linear");ja.get("OES_standard_derivatives");ja.get("ANGLE_instanced_arrays");ja.get("OES_element_index_uint")&&(J.MaxIndex=4294967296);var la=new qf(A,ja,a),Y=new pf(A,ja,v),fa=new of,ta=new nf(A,ja,Y,fa,la,
|
|
|
v,this.info),sa=new mf(A,fa,this.info),ua=new kf(this,la),za=new bf;this.info.programs=ua.programs;var Ga=new af(A,ja,pa),Ha=new $e(A,ja,pa),Ja=new Cb(-1,1,1,-1,0,1),xa=new Da,Aa=new va(new db(2,2),new Ia({depthTest:!1,depthWrite:!1,fog:!1}));a=Bb.cube;var wa=new va(new cb(5,5,5),new Ea({uniforms:a.uniforms,vertexShader:a.vertexShader,fragmentShader:a.fragmentShader,side:1,depthTest:!1,depthWrite:!1,fog:!1}));c();this.context=A;this.capabilities=la;this.extensions=ja;this.properties=fa;this.state=
|
|
|
Y;var Ka=new he(this,Z,sa,la);this.shadowMap=Ka;var Na=new Ze(this,O),Oa=new Xe(this,R);this.getContext=function(){return A};this.getContextAttributes=function(){return A.getContextAttributes()};this.forceContextLoss=function(){ja.get("WEBGL_lose_context").loseContext()};this.getMaxAnisotropy=function(){return la.getMaxAnisotropy()};this.getPrecision=function(){return la.precision};this.getPixelRatio=function(){return Ma};this.setPixelRatio=function(a){void 0!==a&&(Ma=a,this.setSize(ga.z,ga.w,!1))};
|
|
|
-this.getSize=function(){return{width:La,height:hc}};this.setSize=function(a,b,c){La=a;hc=b;x.width=a*Ma;x.height=b*Ma;!1!==c&&(x.style.width=a+"px",x.style.height=b+"px");this.setViewport(0,0,a,b)};this.setViewport=function(a,b,c,d){Y.viewport(ga.set(a,b,c,d))};this.setScissor=function(a,b,c,d){Y.scissor(ia.set(a,b,c,d))};this.setScissorTest=function(a){Y.setScissorTest(ka=a)};this.getClearColor=function(){return Ca};this.setClearColor=function(a,c){Ca.set(a);Pa=void 0!==c?c:1;b(Ca.r,Ca.g,Ca.b,Pa)};
|
|
|
+this.getSize=function(){return{width:La,height:gc}};this.setSize=function(a,b,c){La=a;gc=b;x.width=a*Ma;x.height=b*Ma;!1!==c&&(x.style.width=a+"px",x.style.height=b+"px");this.setViewport(0,0,a,b)};this.setViewport=function(a,b,c,d){Y.viewport(ga.set(a,b,c,d))};this.setScissor=function(a,b,c,d){Y.scissor(ia.set(a,b,c,d))};this.setScissorTest=function(a){Y.setScissorTest(ka=a)};this.getClearColor=function(){return Ca};this.setClearColor=function(a,c){Ca.set(a);Pa=void 0!==c?c:1;b(Ca.r,Ca.g,Ca.b,Pa)};
|
|
|
this.getClearAlpha=function(){return Pa};this.setClearAlpha=function(a){Pa=a;b(Ca.r,Ca.g,Ca.b,Pa)};this.clear=function(a,b,c){var d=0;if(void 0===a||a)d|=A.COLOR_BUFFER_BIT;if(void 0===b||b)d|=A.DEPTH_BUFFER_BIT;if(void 0===c||c)d|=A.STENCIL_BUFFER_BIT;A.clear(d)};this.clearColor=function(){this.clear(!0,!1,!1)};this.clearDepth=function(){this.clear(!1,!0,!1)};this.clearStencil=function(){this.clear(!1,!1,!0)};this.clearTarget=function(a,b,c,d){this.setRenderTarget(a);this.clear(b,c,d)};this.resetGLState=
|
|
|
d;this.dispose=function(){z=[];Fa=-1;ba=[];B=-1;x.removeEventListener("webglcontextlost",e,!1)};this.renderBufferImmediate=function(a,b,c){Y.initAttributes();var d=fa.get(a);a.hasPositions&&!d.position&&(d.position=A.createBuffer());a.hasNormals&&!d.normal&&(d.normal=A.createBuffer());a.hasUvs&&!d.uv&&(d.uv=A.createBuffer());a.hasColors&&!d.color&&(d.color=A.createBuffer());b=b.getAttributes();a.hasPositions&&(A.bindBuffer(A.ARRAY_BUFFER,d.position),A.bufferData(A.ARRAY_BUFFER,a.positionArray,A.DYNAMIC_DRAW),
|
|
|
-Y.enableAttribute(b.position),A.vertexAttribPointer(b.position,3,A.FLOAT,!1,0,0));if(a.hasNormals){A.bindBuffer(A.ARRAY_BUFFER,d.normal);if(!c.isMeshPhongMaterial&&!c.isMeshStandardMaterial&&1===c.shading)for(var e=0,f=3*a.count;e<f;e+=9){var g=a.normalArray,k=(g[e+0]+g[e+3]+g[e+6])/3,l=(g[e+1]+g[e+4]+g[e+7])/3,m=(g[e+2]+g[e+5]+g[e+8])/3;g[e+0]=k;g[e+1]=l;g[e+2]=m;g[e+3]=k;g[e+4]=l;g[e+5]=m;g[e+6]=k;g[e+7]=l;g[e+8]=m}A.bufferData(A.ARRAY_BUFFER,a.normalArray,A.DYNAMIC_DRAW);Y.enableAttribute(b.normal);
|
|
|
+Y.enableAttribute(b.position),A.vertexAttribPointer(b.position,3,A.FLOAT,!1,0,0));if(a.hasNormals){A.bindBuffer(A.ARRAY_BUFFER,d.normal);if(!c.isMeshPhongMaterial&&!c.isMeshStandardMaterial&&1===c.shading)for(var e=0,f=3*a.count;e<f;e+=9){var g=a.normalArray,k=(g[e+0]+g[e+3]+g[e+6])/3,l=(g[e+1]+g[e+4]+g[e+7])/3,n=(g[e+2]+g[e+5]+g[e+8])/3;g[e+0]=k;g[e+1]=l;g[e+2]=n;g[e+3]=k;g[e+4]=l;g[e+5]=n;g[e+6]=k;g[e+7]=l;g[e+8]=n}A.bufferData(A.ARRAY_BUFFER,a.normalArray,A.DYNAMIC_DRAW);Y.enableAttribute(b.normal);
|
|
|
A.vertexAttribPointer(b.normal,3,A.FLOAT,!1,0,0)}a.hasUvs&&c.map&&(A.bindBuffer(A.ARRAY_BUFFER,d.uv),A.bufferData(A.ARRAY_BUFFER,a.uvArray,A.DYNAMIC_DRAW),Y.enableAttribute(b.uv),A.vertexAttribPointer(b.uv,2,A.FLOAT,!1,0,0));a.hasColors&&0!==c.vertexColors&&(A.bindBuffer(A.ARRAY_BUFFER,d.color),A.bufferData(A.ARRAY_BUFFER,a.colorArray,A.DYNAMIC_DRAW),Y.enableAttribute(b.color),A.vertexAttribPointer(b.color,3,A.FLOAT,!1,0,0));Y.disableUnusedAttributes();A.drawArrays(A.TRIANGLES,0,a.count);a.count=
|
|
|
-0};this.renderBufferDirect=function(a,b,c,d,e,f){t(d);var g=w(a,b,d,e),l=!1;a=c.id+"_"+g.id+"_"+d.wireframe;a!==T&&(T=a,l=!0);b=e.morphTargetInfluences;if(void 0!==b){var m=[];a=0;for(var n=b.length;a<n;a++)l=b[a],m.push([l,a]);m.sort(k);8<m.length&&(m.length=8);var h=c.morphAttributes;a=0;for(n=m.length;a<n;a++)l=m[a],N[a]=l[0],0!==l[0]?(b=l[1],!0===d.morphTargets&&h.position&&c.addAttribute("morphTarget"+a,h.position[b]),!0===d.morphNormals&&h.normal&&c.addAttribute("morphNormal"+a,h.normal[b])):
|
|
|
-(!0===d.morphTargets&&c.removeAttribute("morphTarget"+a),!0===d.morphNormals&&c.removeAttribute("morphNormal"+a));a=m.length;for(b=N.length;a<b;a++)N[a]=0;g.getUniforms().setValue(A,"morphTargetInfluences",N);l=!0}b=c.index;n=c.attributes.position;m=1;!0===d.wireframe&&(b=sa.getWireframeAttribute(c),m=2);null!==b?(a=Ha,a.setIndex(b)):a=Ga;if(l){a:{var l=void 0,p;if(c&&c.isInstancedBufferGeometry&&(p=ja.get("ANGLE_instanced_arrays"),null===p)){console.error("THREE.WebGLRenderer.setupVertexAttributes: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");
|
|
|
+0};this.renderBufferDirect=function(a,b,c,d,e,f){t(d);var g=w(a,b,d,e),l=!1;a=c.id+"_"+g.id+"_"+d.wireframe;a!==T&&(T=a,l=!0);b=e.morphTargetInfluences;if(void 0!==b){var n=[];a=0;for(var m=b.length;a<m;a++)l=b[a],n.push([l,a]);n.sort(k);8<n.length&&(n.length=8);var h=c.morphAttributes;a=0;for(m=n.length;a<m;a++)l=n[a],N[a]=l[0],0!==l[0]?(b=l[1],!0===d.morphTargets&&h.position&&c.addAttribute("morphTarget"+a,h.position[b]),!0===d.morphNormals&&h.normal&&c.addAttribute("morphNormal"+a,h.normal[b])):
|
|
|
+(!0===d.morphTargets&&c.removeAttribute("morphTarget"+a),!0===d.morphNormals&&c.removeAttribute("morphNormal"+a));a=n.length;for(b=N.length;a<b;a++)N[a]=0;g.getUniforms().setValue(A,"morphTargetInfluences",N);l=!0}b=c.index;m=c.attributes.position;n=1;!0===d.wireframe&&(b=sa.getWireframeAttribute(c),n=2);null!==b?(a=Ha,a.setIndex(b)):a=Ga;if(l){a:{var l=void 0,p;if(c&&c.isInstancedBufferGeometry&&(p=ja.get("ANGLE_instanced_arrays"),null===p)){console.error("THREE.WebGLRenderer.setupVertexAttributes: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");
|
|
|
break a}void 0===l&&(l=0);Y.initAttributes();var h=c.attributes,g=g.getAttributes(),r=d.defaultAttributeValues,u;for(u in g){var x=g[u];if(0<=x){var q=h[u];if(void 0!==q){var v=A.FLOAT,y=q.array,F=q.normalized;y instanceof Float32Array?v=A.FLOAT:y instanceof Float64Array?console.warn("Unsupported data buffer format: Float64Array"):y instanceof Uint16Array?v=A.UNSIGNED_SHORT:y instanceof Int16Array?v=A.SHORT:y instanceof Uint32Array?v=A.UNSIGNED_INT:y instanceof Int32Array?v=A.INT:y instanceof Int8Array?
|
|
|
v=A.BYTE:y instanceof Uint8Array&&(v=A.UNSIGNED_BYTE);var y=q.itemSize,G=sa.getAttributeBuffer(q);if(q.isInterleavedBufferAttribute){var D=q.data,I=D.stride,q=q.offset;D&&D.isInstancedInterleavedBuffer?(Y.enableAttributeAndDivisor(x,D.meshPerAttribute,p),void 0===c.maxInstancedCount&&(c.maxInstancedCount=D.meshPerAttribute*D.count)):Y.enableAttribute(x);A.bindBuffer(A.ARRAY_BUFFER,G);A.vertexAttribPointer(x,y,v,F,I*D.array.BYTES_PER_ELEMENT,(l*I+q)*D.array.BYTES_PER_ELEMENT)}else q.isInstancedBufferAttribute?
|
|
|
(Y.enableAttributeAndDivisor(x,q.meshPerAttribute,p),void 0===c.maxInstancedCount&&(c.maxInstancedCount=q.meshPerAttribute*q.count)):Y.enableAttribute(x),A.bindBuffer(A.ARRAY_BUFFER,G),A.vertexAttribPointer(x,y,v,F,0,l*y*q.array.BYTES_PER_ELEMENT)}else if(void 0!==r&&(v=r[u],void 0!==v))switch(v.length){case 2:A.vertexAttrib2fv(x,v);break;case 3:A.vertexAttrib3fv(x,v);break;case 4:A.vertexAttrib4fv(x,v);break;default:A.vertexAttrib1fv(x,v)}}}Y.disableUnusedAttributes()}null!==b&&A.bindBuffer(A.ELEMENT_ARRAY_BUFFER,
|
|
|
-sa.getAttributeBuffer(b))}p=0;null!==b?p=b.count:void 0!==n&&(p=n.count);b=c.drawRange.start*m;n=null!==f?f.start*m:0;u=Math.max(b,n);f=Math.max(0,Math.min(p,b+c.drawRange.count*m,n+(null!==f?f.count*m:Infinity))-1-u+1);if(0!==f){if(e.isMesh)if(!0===d.wireframe)Y.setLineWidth(d.wireframeLinewidth*(null===U?Ma:1)),a.setMode(A.LINES);else switch(e.drawMode){case 0:a.setMode(A.TRIANGLES);break;case 1:a.setMode(A.TRIANGLE_STRIP);break;case 2:a.setMode(A.TRIANGLE_FAN)}else e.isLine?(d=d.linewidth,void 0===
|
|
|
+sa.getAttributeBuffer(b))}p=0;null!==b?p=b.count:void 0!==m&&(p=m.count);b=c.drawRange.start*n;m=null!==f?f.start*n:0;u=Math.max(b,m);f=Math.max(0,Math.min(p,b+c.drawRange.count*n,m+(null!==f?f.count*n:Infinity))-1-u+1);if(0!==f){if(e.isMesh)if(!0===d.wireframe)Y.setLineWidth(d.wireframeLinewidth*(null===U?Ma:1)),a.setMode(A.LINES);else switch(e.drawMode){case 0:a.setMode(A.TRIANGLES);break;case 1:a.setMode(A.TRIANGLE_STRIP);break;case 2:a.setMode(A.TRIANGLE_FAN)}else e.isLine?(d=d.linewidth,void 0===
|
|
|
d&&(d=1),Y.setLineWidth(d*(null===U?Ma:1)),e.isLineSegments?a.setMode(A.LINES):a.setMode(A.LINE_STRIP)):e.isPoints&&a.setMode(A.POINTS);c&&c.isInstancedBufferGeometry?0<c.maxInstancedCount&&a.renderInstances(c,u,f):a.render(u,f)}};this.render=function(a,c,d,e){if(void 0!==c&&!0!==c.isCamera)console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");else{T="";K=-1;W=null;!0===a.autoUpdate&&a.updateMatrixWorld();null===c.parent&&c.updateMatrixWorld();c.matrixWorldInverse.getInverse(c.matrixWorld);
|
|
|
-ra.multiplyMatrices(c.projectionMatrix,c.matrixWorldInverse);na.setFromMatrix(ra);Q.length=0;Fa=B=-1;O.length=0;R.length=0;qa=this.localClippingEnabled;oa=da.init(this.clippingPlanes,qa,c);n(a,c);ba.length=B+1;z.length=Fa+1;!0===S.sortObjects&&(ba.sort(l),z.sort(m));oa&&da.beginShadows();for(var f=Q,g=0,k=0,h=f.length;k<h;k++){var p=f[k];p.castShadow&&(Z.shadows[g++]=p)}Z.shadows.length=g;Ka.render(a,c);for(var f=Q,r=p=0,t=0,w,x,q,v,y=c.matrixWorldInverse,F=0,G=0,D=0,I=0,g=0,k=f.length;g<k;g++)if(h=
|
|
|
+ra.multiplyMatrices(c.projectionMatrix,c.matrixWorldInverse);na.setFromMatrix(ra);Q.length=0;Fa=B=-1;O.length=0;R.length=0;qa=this.localClippingEnabled;oa=da.init(this.clippingPlanes,qa,c);m(a,c);ba.length=B+1;z.length=Fa+1;!0===S.sortObjects&&(ba.sort(l),z.sort(n));oa&&da.beginShadows();for(var f=Q,g=0,k=0,h=f.length;k<h;k++){var p=f[k];p.castShadow&&(Z.shadows[g++]=p)}Z.shadows.length=g;Ka.render(a,c);for(var f=Q,r=p=0,t=0,w,x,q,v,y=c.matrixWorldInverse,F=0,G=0,D=0,I=0,g=0,k=f.length;g<k;g++)if(h=
|
|
|
f[g],w=h.color,x=h.intensity,q=h.distance,v=h.shadow&&h.shadow.map?h.shadow.map.texture:null,h.isAmbientLight)p+=w.r*x,r+=w.g*x,t+=w.b*x;else if(h.isDirectionalLight){var E=za.get(h);E.color.copy(h.color).multiplyScalar(h.intensity);E.direction.setFromMatrixPosition(h.matrixWorld);aa.setFromMatrixPosition(h.target.matrixWorld);E.direction.sub(aa);E.direction.transformDirection(y);if(E.shadow=h.castShadow)E.shadowBias=h.shadow.bias,E.shadowRadius=h.shadow.radius,E.shadowMapSize=h.shadow.mapSize;Z.directionalShadowMap[F]=
|
|
|
v;Z.directionalShadowMatrix[F]=h.shadow.matrix;Z.directional[F++]=E}else if(h.isSpotLight){E=za.get(h);E.position.setFromMatrixPosition(h.matrixWorld);E.position.applyMatrix4(y);E.color.copy(w).multiplyScalar(x);E.distance=q;E.direction.setFromMatrixPosition(h.matrixWorld);aa.setFromMatrixPosition(h.target.matrixWorld);E.direction.sub(aa);E.direction.transformDirection(y);E.coneCos=Math.cos(h.angle);E.penumbraCos=Math.cos(h.angle*(1-h.penumbra));E.decay=0===h.distance?0:h.decay;if(E.shadow=h.castShadow)E.shadowBias=
|
|
|
h.shadow.bias,E.shadowRadius=h.shadow.radius,E.shadowMapSize=h.shadow.mapSize;Z.spotShadowMap[D]=v;Z.spotShadowMatrix[D]=h.shadow.matrix;Z.spot[D++]=E}else if(h.isPointLight){E=za.get(h);E.position.setFromMatrixPosition(h.matrixWorld);E.position.applyMatrix4(y);E.color.copy(h.color).multiplyScalar(h.intensity);E.distance=h.distance;E.decay=0===h.distance?0:h.decay;if(E.shadow=h.castShadow)E.shadowBias=h.shadow.bias,E.shadowRadius=h.shadow.radius,E.shadowMapSize=h.shadow.mapSize;Z.pointShadowMap[G]=
|
|
@@ -177,92 +177,90 @@ Y.setDepthTest(!0);Y.setDepthWrite(!0);Y.setColorWrite(!0)}};this.setFaceCulling
|
|
|
a=!0),b=b.texture);ta.setTexture2D(b,c)}}();this.setTexture=function(){var a=!1;return function(b,c){a||(console.warn("THREE.WebGLRenderer: .setTexture is deprecated, use setTexture2D instead."),a=!0);ta.setTexture2D(b,c)}}();this.setTextureCube=function(){var a=!1;return function(b,c){b&&b.isWebGLRenderTargetCube&&(a||(console.warn("THREE.WebGLRenderer.setTextureCube: don't use cube render targets as textures. Use their .texture property instead."),a=!0),b=b.texture);b&&b.isCubeTexture||Array.isArray(b.image)&&
|
|
|
6===b.image.length?ta.setTextureCube(b,c):ta.setTextureCubeDynamic(b,c)}}();this.getCurrentRenderTarget=function(){return U};this.setRenderTarget=function(a){(U=a)&&void 0===fa.get(a).__webglFramebuffer&&ta.setupRenderTarget(a);var b=a&&a.isWebGLRenderTargetCube,c;a?(c=fa.get(a),c=b?c.__webglFramebuffer[a.activeCubeFace]:c.__webglFramebuffer,X.copy(a.scissor),ab=a.scissorTest,Ua.copy(a.viewport)):(c=null,X.copy(ia).multiplyScalar(Ma),ab=ka,Ua.copy(ga).multiplyScalar(Ma));V!==c&&(A.bindFramebuffer(A.FRAMEBUFFER,
|
|
|
c),V=c);Y.scissor(X);Y.setScissorTest(ab);Y.viewport(Ua);b&&(b=fa.get(a.texture),A.framebufferTexture2D(A.FRAMEBUFFER,A.COLOR_ATTACHMENT0,A.TEXTURE_CUBE_MAP_POSITIVE_X+a.activeCubeFace,b.__webglTexture,a.activeMipMapLevel))};this.readRenderTargetPixels=function(a,b,c,d,e,f){if(!1===(a&&a.isWebGLRenderTarget))console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");else{var g=fa.get(a).__webglFramebuffer;if(g){var k=!1;g!==V&&(A.bindFramebuffer(A.FRAMEBUFFER,
|
|
|
-g),k=!0);try{var l=a.texture,m=l.format,h=l.type;1023!==m&&v(m)!==A.getParameter(A.IMPLEMENTATION_COLOR_READ_FORMAT)?console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format."):1009===h||v(h)===A.getParameter(A.IMPLEMENTATION_COLOR_READ_TYPE)||1015===h&&(ja.get("OES_texture_float")||ja.get("WEBGL_color_buffer_float"))||1016===h&&ja.get("EXT_color_buffer_half_float")?A.checkFramebufferStatus(A.FRAMEBUFFER)===A.FRAMEBUFFER_COMPLETE?0<=b&&
|
|
|
-b<=a.width-d&&0<=c&&c<=a.height-e&&A.readPixels(b,c,d,e,v(m),v(h),f):console.error("THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete."):console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.")}finally{k&&A.bindFramebuffer(A.FRAMEBUFFER,V)}}}}}function Db(a,b){this.name="";this.color=new M(a);this.density=void 0!==b?b:2.5E-4}function Eb(a,b,c){this.name="";this.color=
|
|
|
-new M(a);this.near=void 0!==b?b:1;this.far=void 0!==c?c:1E3}function eb(){z.call(this);this.type="Scene";this.overrideMaterial=this.fog=this.background=null;this.autoUpdate=!0}function yd(a,b,c,d,e){z.call(this);this.lensFlares=[];this.positionScreen=new q;this.customUpdateCallback=void 0;void 0!==a&&this.add(a,b,c,d,e)}function fb(a){T.call(this);this.type="SpriteMaterial";this.color=new M(16777215);this.map=null;this.rotation=0;this.lights=this.fog=!1;this.setValues(a)}function ic(a){z.call(this);
|
|
|
-this.type="Sprite";this.material=void 0!==a?a:new fb}function jc(){z.call(this);this.type="LOD";Object.defineProperties(this,{levels:{enumerable:!0,value:[]}})}function gb(a,b,c,d,e,f,g,k,l,m,h,p){ca.call(this,null,f,g,k,l,m,d,e,h,p);this.image={data:a,width:b,height:c};this.magFilter=void 0!==l?l:1003;this.minFilter=void 0!==m?m:1003;this.flipY=this.generateMipmaps=!1;this.unpackAlignment=1}function Wc(a,b,c){this.useVertexTexture=void 0!==c?c:!0;this.identityMatrix=new H;a=a||[];this.bones=a.slice(0);
|
|
|
+g),k=!0);try{var l=a.texture,n=l.format,h=l.type;1023!==n&&v(n)!==A.getParameter(A.IMPLEMENTATION_COLOR_READ_FORMAT)?console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format."):1009===h||v(h)===A.getParameter(A.IMPLEMENTATION_COLOR_READ_TYPE)||1015===h&&(ja.get("OES_texture_float")||ja.get("WEBGL_color_buffer_float"))||1016===h&&ja.get("EXT_color_buffer_half_float")?A.checkFramebufferStatus(A.FRAMEBUFFER)===A.FRAMEBUFFER_COMPLETE?0<=b&&
|
|
|
+b<=a.width-d&&0<=c&&c<=a.height-e&&A.readPixels(b,c,d,e,v(n),v(h),f):console.error("THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete."):console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.")}finally{k&&A.bindFramebuffer(A.FRAMEBUFFER,V)}}}}}function Db(a,b){this.name="";this.color=new M(a);this.density=void 0!==b?b:2.5E-4}function Eb(a,b,c){this.name="";this.color=
|
|
|
+new M(a);this.near=void 0!==b?b:1;this.far=void 0!==c?c:1E3}function eb(){z.call(this);this.type="Scene";this.overrideMaterial=this.fog=this.background=null;this.autoUpdate=!0}function yd(a,b,c,d,e){z.call(this);this.lensFlares=[];this.positionScreen=new q;this.customUpdateCallback=void 0;void 0!==a&&this.add(a,b,c,d,e)}function fb(a){T.call(this);this.type="SpriteMaterial";this.color=new M(16777215);this.map=null;this.rotation=0;this.lights=this.fog=!1;this.setValues(a)}function hc(a){z.call(this);
|
|
|
+this.type="Sprite";this.material=void 0!==a?a:new fb}function ic(){z.call(this);this.type="LOD";Object.defineProperties(this,{levels:{enumerable:!0,value:[]}})}function gb(a,b,c,d,e,f,g,k,l,n,h,p){ca.call(this,null,f,g,k,l,n,d,e,h,p);this.image={data:a,width:b,height:c};this.magFilter=void 0!==l?l:1003;this.minFilter=void 0!==n?n:1003;this.flipY=this.generateMipmaps=!1;this.unpackAlignment=1}function Wc(a,b,c){this.useVertexTexture=void 0!==c?c:!0;this.identityMatrix=new H;a=a||[];this.bones=a.slice(0);
|
|
|
this.useVertexTexture?(a=Math.sqrt(4*this.bones.length),a=h.Math.nextPowerOfTwo(Math.ceil(a)),this.boneTextureHeight=this.boneTextureWidth=a=Math.max(a,4),this.boneMatrices=new Float32Array(this.boneTextureWidth*this.boneTextureHeight*4),this.boneTexture=new gb(this.boneMatrices,this.boneTextureWidth,this.boneTextureHeight,1023,1015)):this.boneMatrices=new Float32Array(16*this.bones.length);if(void 0===b)this.calculateInverses();else if(this.bones.length===b.length)this.boneInverses=b.slice(0);else for(console.warn("THREE.Skeleton bonInverses is the wrong length."),
|
|
|
this.boneInverses=[],b=0,a=this.bones.length;b<a;b++)this.boneInverses.push(new H)}function Xc(a){z.call(this);this.type="Bone";this.skin=a}function Yc(a,b,c){va.call(this,a,b);this.type="SkinnedMesh";this.bindMode="attached";this.bindMatrix=new H;this.bindMatrixInverse=new H;a=[];if(this.geometry&&void 0!==this.geometry.bones){for(var d,e=0,f=this.geometry.bones.length;e<f;++e)d=this.geometry.bones[e],b=new Xc(this),a.push(b),b.name=d.name,b.position.fromArray(d.pos),b.quaternion.fromArray(d.rotq),
|
|
|
void 0!==d.scl&&b.scale.fromArray(d.scl);e=0;for(f=this.geometry.bones.length;e<f;++e)d=this.geometry.bones[e],-1!==d.parent&&null!==d.parent&&void 0!==a[d.parent]?a[d.parent].add(a[e]):this.add(a[e])}this.normalizeSkinWeights();this.updateMatrixWorld(!0);this.bind(new Wc(a,void 0,c),this.matrixWorld)}function na(a){T.call(this);this.type="LineBasicMaterial";this.color=new M(16777215);this.linewidth=1;this.linejoin=this.linecap="round";this.lights=!1;this.setValues(a)}function Na(a,b,c){if(1===c)return console.warn("THREE.Line: parameter THREE.LinePieces no longer supported. Created THREE.LineSegments instead."),
|
|
|
new ka(a,b);z.call(this);this.type="Line";this.geometry=void 0!==a?a:new J;this.material=void 0!==b?b:new na({color:16777215*Math.random()})}function ka(a,b){Na.call(this,a,b);this.type="LineSegments"}function Ja(a){T.call(this);this.type="PointsMaterial";this.color=new M(16777215);this.map=null;this.size=1;this.sizeAttenuation=!0;this.lights=!1;this.setValues(a)}function Fb(a,b){z.call(this);this.type="Points";this.geometry=void 0!==a?a:new J;this.material=void 0!==b?b:new Ja({color:16777215*Math.random()})}
|
|
|
-function kc(){z.call(this);this.type="Group"}function Zc(a,b,c,d,e,f,g,k,l){function m(){requestAnimationFrame(m);a.readyState>=a.HAVE_CURRENT_DATA&&(h.needsUpdate=!0)}ca.call(this,a,b,c,d,e,f,g,k,l);this.generateMipmaps=!1;var h=this;m()}function Gb(a,b,c,d,e,f,g,k,l,m,h,p){ca.call(this,null,f,g,k,l,m,d,e,h,p);this.image={width:b,height:c};this.mipmaps=a;this.generateMipmaps=this.flipY=!1}function $c(a,b,c,d,e,f,g,k,l){ca.call(this,a,b,c,d,e,f,g,k,l);this.needsUpdate=!0}function lc(a,b,c,d,e,f,g,
|
|
|
-k,l,m){m=void 0!==m?m:1026;if(1026!==m&&1027!==m)throw Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");ca.call(this,null,d,e,f,g,k,m,c,l);this.image={width:a,height:b};this.type=void 0!==c?c:1012;this.magFilter=void 0!==g?g:1003;this.minFilter=void 0!==k?k:1003;this.generateMipmaps=this.flipY=!1}function Hb(a){function b(a,b){return a-b}J.call(this);var c=[0,0],d={},e=["a","b","c"];if(a&&a.isGeometry){var f=a.vertices,g=a.faces,k=0,l=new Uint32Array(6*g.length);
|
|
|
-a=0;for(var m=g.length;a<m;a++)for(var h=g[a],p=0;3>p;p++){c[0]=h[e[p]];c[1]=h[e[(p+1)%3]];c.sort(b);var n=c.toString();void 0===d[n]&&(l[2*k]=c[0],l[2*k+1]=c[1],d[n]=!0,k++)}c=new Float32Array(6*k);a=0;for(m=k;a<m;a++)for(p=0;2>p;p++)d=f[l[2*a+p]],k=6*a+3*p,c[k+0]=d.x,c[k+1]=d.y,c[k+2]=d.z;this.addAttribute("position",new B(c,3))}else if(a&&a.isBufferGeometry){if(null!==a.index){m=a.index.array;f=a.attributes.position;e=a.groups;k=0;0===e.length&&a.addGroup(0,m.length);l=new Uint32Array(2*m.length);
|
|
|
-g=0;for(h=e.length;g<h;++g){a=e[g];p=a.start;n=a.count;a=p;for(var u=p+n;a<u;a+=3)for(p=0;3>p;p++)c[0]=m[a+p],c[1]=m[a+(p+1)%3],c.sort(b),n=c.toString(),void 0===d[n]&&(l[2*k]=c[0],l[2*k+1]=c[1],d[n]=!0,k++)}c=new Float32Array(6*k);a=0;for(m=k;a<m;a++)for(p=0;2>p;p++)k=6*a+3*p,d=l[2*a+p],c[k+0]=f.getX(d),c[k+1]=f.getY(d),c[k+2]=f.getZ(d)}else for(f=a.attributes.position.array,k=f.length/3,l=k/3,c=new Float32Array(6*k),a=0,m=l;a<m;a++)for(p=0;3>p;p++)k=18*a+6*p,l=9*a+3*p,c[k+0]=f[l],c[k+1]=f[l+1],
|
|
|
-c[k+2]=f[l+2],d=9*a+(p+1)%3*3,c[k+3]=f[d],c[k+4]=f[d+1],c[k+5]=f[d+2];this.addAttribute("position",new B(c,3))}}function Ib(a,b,c){J.call(this);this.type="ParametricBufferGeometry";this.parameters={func:a,slices:b,stacks:c};var d=[],e=[],f,g,k,l,m,h=b+1;for(f=0;f<=c;f++)for(m=f/c,g=0;g<=b;g++)l=g/b,k=a(l,m),d.push(k.x,k.y,k.z),e.push(l,m);a=[];var p;for(f=0;f<c;f++)for(g=0;g<b;g++)k=f*h+g,l=f*h+g+1,m=(f+1)*h+g+1,p=(f+1)*h+g,a.push(k,l,p),a.push(l,m,p);this.setIndex((65535<a.length?Uc:Tc)(a,1));this.addAttribute("position",
|
|
|
-ia(d,3));this.addAttribute("uv",ia(e,2));this.computeVertexNormals()}function mc(a,b,c){P.call(this);this.type="ParametricGeometry";this.parameters={func:a,slices:b,stacks:c};this.fromBufferGeometry(new Ib(a,b,c));this.mergeVertices()}function la(a,b,c,d){function e(a){k.push(a.x,a.y,a.z)}function f(b,c){var d=3*b;c.x=a[d+0];c.y=a[d+1];c.z=a[d+2]}function g(a,b,c,d){0>d&&1===a.x&&(l[b]=a.x-1);0===c.x&&0===c.z&&(l[b]=d/2/Math.PI+.5)}J.call(this);this.type="PolyhedronBufferGeometry";this.parameters=
|
|
|
+function jc(){z.call(this);this.type="Group"}function Zc(a,b,c,d,e,f,g,k,l){function n(){requestAnimationFrame(n);a.readyState>=a.HAVE_CURRENT_DATA&&(h.needsUpdate=!0)}ca.call(this,a,b,c,d,e,f,g,k,l);this.generateMipmaps=!1;var h=this;n()}function Gb(a,b,c,d,e,f,g,k,l,n,h,p){ca.call(this,null,f,g,k,l,n,d,e,h,p);this.image={width:b,height:c};this.mipmaps=a;this.generateMipmaps=this.flipY=!1}function $c(a,b,c,d,e,f,g,k,l){ca.call(this,a,b,c,d,e,f,g,k,l);this.needsUpdate=!0}function kc(a,b,c,d,e,f,g,
|
|
|
+k,l,n){n=void 0!==n?n:1026;if(1026!==n&&1027!==n)throw Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");ca.call(this,null,d,e,f,g,k,n,c,l);this.image={width:a,height:b};this.type=void 0!==c?c:1012;this.magFilter=void 0!==g?g:1003;this.minFilter=void 0!==k?k:1003;this.generateMipmaps=this.flipY=!1}function Hb(a){function b(a,b){return a-b}J.call(this);var c=[0,0],d={},e=["a","b","c"];if(a&&a.isGeometry){var f=a.vertices,g=a.faces,k=0,l=new Uint32Array(6*g.length);
|
|
|
+a=0;for(var n=g.length;a<n;a++)for(var h=g[a],p=0;3>p;p++){c[0]=h[e[p]];c[1]=h[e[(p+1)%3]];c.sort(b);var m=c.toString();void 0===d[m]&&(l[2*k]=c[0],l[2*k+1]=c[1],d[m]=!0,k++)}c=new Float32Array(6*k);a=0;for(n=k;a<n;a++)for(p=0;2>p;p++)d=f[l[2*a+p]],k=6*a+3*p,c[k+0]=d.x,c[k+1]=d.y,c[k+2]=d.z;this.addAttribute("position",new B(c,3))}else if(a&&a.isBufferGeometry){if(null!==a.index){n=a.index.array;f=a.attributes.position;e=a.groups;k=0;0===e.length&&a.addGroup(0,n.length);l=new Uint32Array(2*n.length);
|
|
|
+g=0;for(h=e.length;g<h;++g){a=e[g];p=a.start;m=a.count;a=p;for(var u=p+m;a<u;a+=3)for(p=0;3>p;p++)c[0]=n[a+p],c[1]=n[a+(p+1)%3],c.sort(b),m=c.toString(),void 0===d[m]&&(l[2*k]=c[0],l[2*k+1]=c[1],d[m]=!0,k++)}c=new Float32Array(6*k);a=0;for(n=k;a<n;a++)for(p=0;2>p;p++)k=6*a+3*p,d=l[2*a+p],c[k+0]=f.getX(d),c[k+1]=f.getY(d),c[k+2]=f.getZ(d)}else for(f=a.attributes.position.array,k=f.length/3,l=k/3,c=new Float32Array(6*k),a=0,n=l;a<n;a++)for(p=0;3>p;p++)k=18*a+6*p,l=9*a+3*p,c[k+0]=f[l],c[k+1]=f[l+1],
|
|
|
+c[k+2]=f[l+2],d=9*a+(p+1)%3*3,c[k+3]=f[d],c[k+4]=f[d+1],c[k+5]=f[d+2];this.addAttribute("position",new B(c,3))}}function Ib(a,b,c){J.call(this);this.type="ParametricBufferGeometry";this.parameters={func:a,slices:b,stacks:c};var d=[],e=[],f,g,k,l,n,h=b+1;for(f=0;f<=c;f++)for(n=f/c,g=0;g<=b;g++)l=g/b,k=a(l,n),d.push(k.x,k.y,k.z),e.push(l,n);a=[];var p;for(f=0;f<c;f++)for(g=0;g<b;g++)k=f*h+g,l=f*h+g+1,n=(f+1)*h+g+1,p=(f+1)*h+g,a.push(k,l,p),a.push(l,n,p);this.setIndex((65535<a.length?Uc:Tc)(a,1));this.addAttribute("position",
|
|
|
+ia(d,3));this.addAttribute("uv",ia(e,2));this.computeVertexNormals()}function lc(a,b,c){P.call(this);this.type="ParametricGeometry";this.parameters={func:a,slices:b,stacks:c};this.fromBufferGeometry(new Ib(a,b,c));this.mergeVertices()}function la(a,b,c,d){function e(a){k.push(a.x,a.y,a.z)}function f(b,c){var d=3*b;c.x=a[d+0];c.y=a[d+1];c.z=a[d+2]}function g(a,b,c,d){0>d&&1===a.x&&(l[b]=a.x-1);0===c.x&&0===c.z&&(l[b]=d/2/Math.PI+.5)}J.call(this);this.type="PolyhedronBufferGeometry";this.parameters=
|
|
|
{vertices:a,indices:b,radius:c,detail:d};c=c||1;var k=[],l=[];(function(a){for(var c=new q,d=new q,g=new q,k=0;k<b.length;k+=3){f(b[k+0],c);f(b[k+1],d);f(b[k+2],g);var l=c,h=d,F=g,v=Math.pow(2,a),x=[],I,y;for(I=0;I<=v;I++){x[I]=[];var E=l.clone().lerp(F,I/v),G=h.clone().lerp(F,I/v),D=v-I;for(y=0;y<=D;y++)x[I][y]=0===y&&I===v?E:E.clone().lerp(G,y/D)}for(I=0;I<v;I++)for(y=0;y<2*(v-I)-1;y++)l=Math.floor(y/2),0===y%2?(e(x[I][l+1]),e(x[I+1][l]),e(x[I][l])):(e(x[I][l+1]),e(x[I+1][l+1]),e(x[I+1][l]))}})(d||
|
|
|
0);(function(a){for(var b=new q,c=0;c<k.length;c+=3)b.x=k[c+0],b.y=k[c+1],b.z=k[c+2],b.normalize().multiplyScalar(a),k[c+0]=b.x,k[c+1]=b.y,k[c+2]=b.z})(c);(function(){for(var a=new q,b=0;b<k.length;b+=3)a.x=k[b+0],a.y=k[b+1],a.z=k[b+2],l.push(Math.atan2(a.z,-a.x)/2/Math.PI+.5,1-(Math.atan2(-a.y,Math.sqrt(a.x*a.x+a.z*a.z))/Math.PI+.5));for(var a=new q,b=new q,c=new q,d=new q,e=new C,f=new C,h=new C,F=0,v=0;F<k.length;F+=9,v+=6){a.set(k[F+0],k[F+1],k[F+2]);b.set(k[F+3],k[F+4],k[F+5]);c.set(k[F+6],k[F+
|
|
|
7],k[F+8]);e.set(l[v+0],l[v+1]);f.set(l[v+2],l[v+3]);h.set(l[v+4],l[v+5]);d.copy(a).add(b).add(c).divideScalar(3);var x=Math.atan2(d.z,-d.x);g(e,v+0,a,x);g(f,v+2,b,x);g(h,v+4,c,x)}for(a=0;a<l.length;a+=6)b=l[a+0],c=l[a+2],d=l[a+4],e=Math.min(b,c,d),.9<Math.max(b,c,d)&&.1>e&&(.2>b&&(l[a+0]+=1),.2>c&&(l[a+2]+=1),.2>d&&(l[a+4]+=1))})();this.addAttribute("position",ia(k,3));this.addAttribute("normal",ia(k.slice(),3));this.addAttribute("uv",ia(l,2));this.normalizeNormals();this.boundingSphere=new Ba(new q,
|
|
|
-c)}function nc(a,b){la.call(this,[1,1,1,-1,-1,1,-1,1,-1,1,-1,-1],[2,1,0,0,3,2,1,3,0,2,3,1],a,b);this.type="TetrahedronBufferGeometry";this.parameters={radius:a,detail:b}}function oc(a,b){P.call(this);this.type="TetrahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new THREE.TetrahedronBufferGeometry(a,b));this.mergeVertices()}function pc(a,b){la.call(this,[1,0,0,-1,0,0,0,1,0,0,-1,0,0,0,1,0,0,-1],[0,2,4,0,4,3,0,3,5,0,5,2,1,2,5,1,5,3,1,3,4,1,4,2],a,b);this.type="OctahedronBufferGeometry";
|
|
|
-this.parameters={radius:a,detail:b}}function qc(a,b){P.call(this);this.type="OctahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new THREE.OctahedronBufferGeometry(a,b));this.mergeVertices()}function rc(a,b){var c=(1+Math.sqrt(5))/2;la.call(this,[-1,c,0,1,c,0,-1,-c,0,1,-c,0,0,-1,c,0,1,c,0,-1,-c,0,1,-c,c,0,-1,c,0,1,-c,0,-1,-c,0,1],[0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1],a,b);this.type=
|
|
|
-"IcosahedronBufferGeometry";this.parameters={radius:a,detail:b}}function sc(a,b){P.call(this);this.type="IcosahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new THREE.IcosahedronBufferGeometry(a,b));this.mergeVertices()}function tc(a,b){var c=(1+Math.sqrt(5))/2,d=1/c;la.call(this,[-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-d,-c,0,-d,c,0,d,-c,0,d,c,-d,-c,0,-d,c,0,d,-c,0,d,c,0,-c,0,-d,c,0,-d,-c,0,d,c,0,d],[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,
|
|
|
-17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9],a,b);this.type="DodecahedronBufferGeometry";this.parameters={radius:a,detail:b}}function uc(a,b){P.call(this);this.type="DodecahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new THREE.DodecahedronBufferGeometry(a,b));this.mergeVertices()}function vc(a,
|
|
|
-b,c,d){P.call(this);this.type="PolyhedronGeometry";this.parameters={vertices:a,indices:b,radius:c,detail:d};this.fromBufferGeometry(new la(a,b,c,d));this.mergeVertices()}function Jb(a,b,c,d,e){function f(e){var f=a.getPointAt(e/b),m=g.normals[e];e=g.binormals[e];for(p=0;p<=d;p++){var h=p/d*Math.PI*2,r=Math.sin(h),h=-Math.cos(h);l.x=h*m.x+r*e.x;l.y=h*m.y+r*e.y;l.z=h*m.z+r*e.z;l.normalize();u.push(l.x,l.y,l.z);k.x=f.x+c*l.x;k.y=f.y+c*l.y;k.z=f.z+c*l.z;n.push(k.x,k.y,k.z)}}J.call(this);this.type="TubeBufferGeometry";
|
|
|
-this.parameters={path:a,tubularSegments:b,radius:c,radialSegments:d,closed:e};b=b||64;c=c||1;d=d||8;e=e||!1;var g=new uf(a,b,e);this.tangents=g.tangents;this.normals=g.normals;this.binormals=g.binormals;var k=new q,l=new q,m=new C,h,p,n=[],u=[],t=[],w=[];for(h=0;h<b;h++)f(h);f(!1===e?b:0);for(h=0;h<=b;h++)for(p=0;p<=d;p++)m.x=h/b,m.y=p/d,t.push(m.x,m.y);(function(){for(p=1;p<=b;p++)for(h=1;h<=d;h++){var a=(d+1)*p+(h-1),c=(d+1)*p+h,e=(d+1)*(p-1)+h;w.push((d+1)*(p-1)+(h-1),a,e);w.push(a,c,e)}})();this.setIndex((65535<
|
|
|
-w.length?Uc:Tc)(w,1));this.addAttribute("position",ia(n,3));this.addAttribute("normal",ia(u,3));this.addAttribute("uv",ia(t,2))}function uf(a,b,c){var d=new q,e=[],f=[],g=[],k=new q,l=new H,m,r;this.tangents=e;this.normals=f;this.binormals=g;for(m=0;m<=b;m++)r=m/b,e[m]=a.getTangentAt(r),e[m].normalize();f[0]=new q;g[0]=new q;m=Number.MAX_VALUE;a=Math.abs(e[0].x);r=Math.abs(e[0].y);var p=Math.abs(e[0].z);a<=m&&(m=a,d.set(1,0,0));r<=m&&(m=r,d.set(0,1,0));p<=m&&d.set(0,0,1);k.crossVectors(e[0],d).normalize();
|
|
|
-f[0].crossVectors(e[0],k);g[0].crossVectors(e[0],f[0]);for(m=1;m<=b;m++)f[m]=f[m-1].clone(),g[m]=g[m-1].clone(),k.crossVectors(e[m-1],e[m]),k.length()>Number.EPSILON&&(k.normalize(),d=Math.acos(h.Math.clamp(e[m-1].dot(e[m]),-1,1)),f[m].applyMatrix4(l.makeRotationAxis(k,d))),g[m].crossVectors(e[m],f[m]);if(c)for(d=Math.acos(h.Math.clamp(f[0].dot(f[b]),-1,1)),d/=b,0<e[0].dot(k.crossVectors(f[0],f[b]))&&(d=-d),m=1;m<=b;m++)f[m].applyMatrix4(l.makeRotationAxis(e[m],d*m)),g[m].crossVectors(e[m],f[m])}
|
|
|
-function Kb(a,b,c,d,e,f){P.call(this);this.type="TubeGeometry";this.parameters={path:a,tubularSegments:b,radius:c,radialSegments:d,closed:e};void 0!==f&&console.warn("THREE.TubeGeometry: taper has been removed.");a=new Jb(a,b,c,d,e);this.tangents=a.tangents;this.normals=a.normals;this.binormals=a.binormals;this.fromBufferGeometry(a);this.mergeVertices()}function Lb(a,b,c,d,e,f){function g(a,b,c,d,e){var f=Math.sin(a);b=c/b*a;c=Math.cos(b);e.x=d*(2+c)*.5*Math.cos(a);e.y=d*(2+c)*f*.5;e.z=d*Math.sin(b)*
|
|
|
-.5}J.call(this);this.type="TorusKnotBufferGeometry";this.parameters={radius:a,tube:b,tubularSegments:c,radialSegments:d,p:e,q:f};a=a||100;b=b||40;c=Math.floor(c)||64;d=Math.floor(d)||8;e=e||2;f=f||3;var k=(d+1)*(c+1),l=d*c*6,l=new B(new (65535<l?Uint32Array:Uint16Array)(l),1),m=new B(new Float32Array(3*k),3),h=new B(new Float32Array(3*k),3),k=new B(new Float32Array(2*k),2),p,n,u=0,t=0,w=new q,F=new q,v=new C,x=new q,I=new q,y=new q,E=new q,G=new q;for(p=0;p<=c;++p)for(n=p/c*e*Math.PI*2,g(n,e,f,a,
|
|
|
-x),g(n+.01,e,f,a,I),E.subVectors(I,x),G.addVectors(I,x),y.crossVectors(E,G),G.crossVectors(y,E),y.normalize(),G.normalize(),n=0;n<=d;++n){var D=n/d*Math.PI*2,L=-b*Math.cos(D),D=b*Math.sin(D);w.x=x.x+(L*G.x+D*y.x);w.y=x.y+(L*G.y+D*y.y);w.z=x.z+(L*G.z+D*y.z);m.setXYZ(u,w.x,w.y,w.z);F.subVectors(w,x).normalize();h.setXYZ(u,F.x,F.y,F.z);v.x=p/c;v.y=n/d;k.setXY(u,v.x,v.y);u++}for(n=1;n<=c;n++)for(p=1;p<=d;p++)a=(d+1)*n+(p-1),b=(d+1)*n+p,e=(d+1)*(n-1)+p,l.setX(t,(d+1)*(n-1)+(p-1)),t++,l.setX(t,a),t++,l.setX(t,
|
|
|
-e),t++,l.setX(t,a),t++,l.setX(t,b),t++,l.setX(t,e),t++;this.setIndex(l);this.addAttribute("position",m);this.addAttribute("normal",h);this.addAttribute("uv",k)}function wc(a,b,c,d,e,f,g){P.call(this);this.type="TorusKnotGeometry";this.parameters={radius:a,tube:b,tubularSegments:c,radialSegments:d,p:e,q:f};void 0!==g&&console.warn("THREE.TorusKnotGeometry: heightScale has been deprecated. Use .scale( x, y, z ) instead.");this.fromBufferGeometry(new Lb(a,b,c,d,e,f));this.mergeVertices()}function Mb(a,
|
|
|
-b,c,d,e){J.call(this);this.type="TorusBufferGeometry";this.parameters={radius:a,tube:b,radialSegments:c,tubularSegments:d,arc:e};a=a||100;b=b||40;c=Math.floor(c)||8;d=Math.floor(d)||6;e=e||2*Math.PI;var f=(c+1)*(d+1),g=c*d*6,g=new (65535<g?Uint32Array:Uint16Array)(g),k=new Float32Array(3*f),l=new Float32Array(3*f),f=new Float32Array(2*f),m=0,h=0,p=0,n=new q,u=new q,t=new q,w,F;for(w=0;w<=c;w++)for(F=0;F<=d;F++){var v=F/d*e,x=w/c*Math.PI*2;u.x=(a+b*Math.cos(x))*Math.cos(v);u.y=(a+b*Math.cos(x))*Math.sin(v);
|
|
|
-u.z=b*Math.sin(x);k[m]=u.x;k[m+1]=u.y;k[m+2]=u.z;n.x=a*Math.cos(v);n.y=a*Math.sin(v);t.subVectors(u,n).normalize();l[m]=t.x;l[m+1]=t.y;l[m+2]=t.z;f[h]=F/d;f[h+1]=w/c;m+=3;h+=2}for(w=1;w<=c;w++)for(F=1;F<=d;F++)a=(d+1)*(w-1)+F-1,b=(d+1)*(w-1)+F,e=(d+1)*w+F,g[p]=(d+1)*w+F-1,g[p+1]=a,g[p+2]=e,g[p+3]=a,g[p+4]=b,g[p+5]=e,p+=6;this.setIndex(new B(g,1));this.addAttribute("position",new B(k,3));this.addAttribute("normal",new B(l,3));this.addAttribute("uv",new B(f,2))}function xc(a,b,c,d,e){P.call(this);this.type=
|
|
|
-"TorusGeometry";this.parameters={radius:a,tube:b,radialSegments:c,tubularSegments:d,arc:e};this.fromBufferGeometry(new Mb(a,b,c,d,e))}function sa(a,b){"undefined"!==typeof a&&(P.call(this),this.type="ExtrudeGeometry",a=Array.isArray(a)?a:[a],this.addShapeList(a,b),this.computeFaceNormals())}function yc(a,b){b=b||{};var c=b.font;if(!1===(c&&c.isFont))return console.error("THREE.TextGeometry: font parameter is not an instance of THREE.Font."),new P;c=c.generateShapes(a,b.size,b.curveSegments);b.amount=
|
|
|
-void 0!==b.height?b.height:50;void 0===b.bevelThickness&&(b.bevelThickness=10);void 0===b.bevelSize&&(b.bevelSize=8);void 0===b.bevelEnabled&&(b.bevelEnabled=!1);sa.call(this,c,b);this.type="TextGeometry"}function hb(a,b,c,d,e,f,g){J.call(this);this.type="SphereBufferGeometry";this.parameters={radius:a,widthSegments:b,heightSegments:c,phiStart:d,phiLength:e,thetaStart:f,thetaLength:g};a=a||50;b=Math.max(3,Math.floor(b)||8);c=Math.max(2,Math.floor(c)||6);d=void 0!==d?d:0;e=void 0!==e?e:2*Math.PI;f=
|
|
|
-void 0!==f?f:0;g=void 0!==g?g:Math.PI;for(var k=f+g,l=(b+1)*(c+1),m=new B(new Float32Array(3*l),3),h=new B(new Float32Array(3*l),3),l=new B(new Float32Array(2*l),2),p=0,n=[],u=new q,t=0;t<=c;t++){for(var w=[],F=t/c,v=0;v<=b;v++){var x=v/b,I=-a*Math.cos(d+x*e)*Math.sin(f+F*g),y=a*Math.cos(f+F*g),E=a*Math.sin(d+x*e)*Math.sin(f+F*g);u.set(I,y,E).normalize();m.setXYZ(p,I,y,E);h.setXYZ(p,u.x,u.y,u.z);l.setXY(p,x,1-F);w.push(p);p++}n.push(w)}d=[];for(t=0;t<c;t++)for(v=0;v<b;v++)e=n[t][v+1],g=n[t][v],p=
|
|
|
-n[t+1][v],u=n[t+1][v+1],(0!==t||0<f)&&d.push(e,g,u),(t!==c-1||k<Math.PI)&&d.push(g,p,u);this.setIndex(new (65535<m.count?Uc:Tc)(d,1));this.addAttribute("position",m);this.addAttribute("normal",h);this.addAttribute("uv",l);this.boundingSphere=new Ba(new q,a)}function Nb(a,b,c,d,e,f,g){P.call(this);this.type="SphereGeometry";this.parameters={radius:a,widthSegments:b,heightSegments:c,phiStart:d,phiLength:e,thetaStart:f,thetaLength:g};this.fromBufferGeometry(new hb(a,b,c,d,e,f,g))}function Ob(a,b,c,d,
|
|
|
-e,f){J.call(this);this.type="RingBufferGeometry";this.parameters={innerRadius:a,outerRadius:b,thetaSegments:c,phiSegments:d,thetaStart:e,thetaLength:f};a=a||20;b=b||50;e=void 0!==e?e:0;f=void 0!==f?f:2*Math.PI;c=void 0!==c?Math.max(3,c):8;d=void 0!==d?Math.max(1,d):1;var g=(c+1)*(d+1),k=c*d*6,k=new B(new (65535<k?Uint32Array:Uint16Array)(k),1),l=new B(new Float32Array(3*g),3),m=new B(new Float32Array(3*g),3),g=new B(new Float32Array(2*g),2),h=0,p=0,n,u=a,t=(b-a)/d,w=new q,F=new C,v;for(a=0;a<=d;a++){for(v=
|
|
|
-0;v<=c;v++)n=e+v/c*f,w.x=u*Math.cos(n),w.y=u*Math.sin(n),l.setXYZ(h,w.x,w.y,w.z),m.setXYZ(h,0,0,1),F.x=(w.x/b+1)/2,F.y=(w.y/b+1)/2,g.setXY(h,F.x,F.y),h++;u+=t}for(a=0;a<d;a++)for(b=a*(c+1),v=0;v<c;v++)e=n=v+b,f=n+c+1,h=n+c+2,n+=1,k.setX(p,e),p++,k.setX(p,f),p++,k.setX(p,h),p++,k.setX(p,e),p++,k.setX(p,h),p++,k.setX(p,n),p++;this.setIndex(k);this.addAttribute("position",l);this.addAttribute("normal",m);this.addAttribute("uv",g)}function zc(a,b,c,d,e,f){P.call(this);this.type="RingGeometry";this.parameters=
|
|
|
-{innerRadius:a,outerRadius:b,thetaSegments:c,phiSegments:d,thetaStart:e,thetaLength:f};this.fromBufferGeometry(new Ob(a,b,c,d,e,f))}function Ac(a,b,c,d){P.call(this);this.type="PlaneGeometry";this.parameters={width:a,height:b,widthSegments:c,heightSegments:d};this.fromBufferGeometry(new db(a,b,c,d))}function Pb(a,b,c,d){J.call(this);this.type="LatheBufferGeometry";this.parameters={points:a,segments:b,phiStart:c,phiLength:d};b=Math.floor(b)||12;c=c||0;d=d||2*Math.PI;d=h.Math.clamp(d,0,2*Math.PI);for(var e=
|
|
|
-(b+1)*a.length,f=b*a.length*6,g=new B(new (65535<f?Uint32Array:Uint16Array)(f),1),k=new B(new Float32Array(3*e),3),l=new B(new Float32Array(2*e),2),m=0,r=0,p=1/b,n=new q,u=new C,e=0;e<=b;e++)for(var f=c+e*p*d,t=Math.sin(f),w=Math.cos(f),f=0;f<=a.length-1;f++)n.x=a[f].x*t,n.y=a[f].y,n.z=a[f].x*w,k.setXYZ(m,n.x,n.y,n.z),u.x=e/b,u.y=f/(a.length-1),l.setXY(m,u.x,u.y),m++;for(e=0;e<b;e++)for(f=0;f<a.length-1;f++)c=f+e*a.length,m=c+a.length,p=c+a.length+1,n=c+1,g.setX(r,c),r++,g.setX(r,m),r++,g.setX(r,
|
|
|
-n),r++,g.setX(r,m),r++,g.setX(r,p),r++,g.setX(r,n),r++;this.setIndex(g);this.addAttribute("position",k);this.addAttribute("uv",l);this.computeVertexNormals();if(d===2*Math.PI)for(d=this.attributes.normal.array,g=new q,k=new q,l=new q,c=b*a.length*3,f=e=0;e<a.length;e++,f+=3)g.x=d[f+0],g.y=d[f+1],g.z=d[f+2],k.x=d[c+f+0],k.y=d[c+f+1],k.z=d[c+f+2],l.addVectors(g,k).normalize(),d[f+0]=d[c+f+0]=l.x,d[f+1]=d[c+f+1]=l.y,d[f+2]=d[c+f+2]=l.z}function Bc(a,b,c,d){P.call(this);this.type="LatheGeometry";this.parameters=
|
|
|
-{points:a,segments:b,phiStart:c,phiLength:d};this.fromBufferGeometry(new Pb(a,b,c,d));this.mergeVertices()}function Xa(a,b){P.call(this);this.type="ShapeGeometry";!1===Array.isArray(a)&&(a=[a]);this.addShapeList(a,b);this.computeFaceNormals()}function Qb(a,b){function c(a,b){return a-b}J.call(this);var d=Math.cos(h.Math.DEG2RAD*(void 0!==b?b:1)),e=[0,0],f={},g=["a","b","c"],k;a&&a.isBufferGeometry?(k=new P,k.fromBufferGeometry(a)):k=a.clone();k.mergeVertices();k.computeFaceNormals();var l=k.vertices;
|
|
|
-k=k.faces;for(var m=0,r=k.length;m<r;m++)for(var p=k[m],n=0;3>n;n++){e[0]=p[g[n]];e[1]=p[g[(n+1)%3]];e.sort(c);var u=e.toString();void 0===f[u]?f[u]={vert1:e[0],vert2:e[1],face1:m,face2:void 0}:f[u].face2=m}e=[];for(u in f)if(g=f[u],void 0===g.face2||k[g.face1].normal.dot(k[g.face2].normal)<=d)m=l[g.vert1],e.push(m.x),e.push(m.y),e.push(m.z),m=l[g.vert2],e.push(m.x),e.push(m.y),e.push(m.z);this.addAttribute("position",new B(new Float32Array(e),3))}function Ya(a,b,c,d,e,f,g,k){function l(c){var e,
|
|
|
-f,l,h=new C,n=new q,p=0,r=!0===c?a:b,I=!0===c?1:-1;f=v;for(e=1;e<=d;e++)t.setXYZ(v,0,y*I,0),w.setXYZ(v,0,I,0),h.x=.5,h.y=.5,F.setXY(v,h.x,h.y),v++;l=v;for(e=0;e<=d;e++){var z=e/d*k+g,B=Math.cos(z),z=Math.sin(z);n.x=r*z;n.y=y*I;n.z=r*B;t.setXYZ(v,n.x,n.y,n.z);w.setXYZ(v,0,I,0);h.x=.5*B+.5;h.y=.5*z*I+.5;F.setXY(v,h.x,h.y);v++}for(e=0;e<d;e++)h=f+e,n=l+e,!0===c?(u.setX(x,n),x++,u.setX(x,n+1)):(u.setX(x,n+1),x++,u.setX(x,n)),x++,u.setX(x,h),x++,p+=3;m.addGroup(E,p,!0===c?1:2);E+=p}J.call(this);this.type=
|
|
|
-"CylinderBufferGeometry";this.parameters={radiusTop:a,radiusBottom:b,height:c,radialSegments:d,heightSegments:e,openEnded:f,thetaStart:g,thetaLength:k};var m=this;a=void 0!==a?a:20;b=void 0!==b?b:20;c=void 0!==c?c:100;d=Math.floor(d)||8;e=Math.floor(e)||1;f=void 0!==f?f:!1;g=void 0!==g?g:0;k=void 0!==k?k:2*Math.PI;var h=0;!1===f&&(0<a&&h++,0<b&&h++);var p=function(){var a=(d+1)*(e+1);!1===f&&(a+=(d+1)*h+d*h);return a}(),n=function(){var a=d*e*6;!1===f&&(a+=d*h*3);return a}(),u=new B(new (65535<n?
|
|
|
-Uint32Array:Uint16Array)(n),1),t=new B(new Float32Array(3*p),3),w=new B(new Float32Array(3*p),3),F=new B(new Float32Array(2*p),2),v=0,x=0,I=[],y=c/2,E=0;(function(){var f,l,h=new q,n=new q,p=0,r=(b-a)/c;for(l=0;l<=e;l++){var C=[],z=l/e,B=z*(b-a)+a;for(f=0;f<=d;f++){var N=f/d,O=N*k+g,R=Math.sin(O),O=Math.cos(O);n.x=B*R;n.y=-z*c+y;n.z=B*O;t.setXYZ(v,n.x,n.y,n.z);h.set(R,r,O).normalize();w.setXYZ(v,h.x,h.y,h.z);F.setXY(v,N,1-z);C.push(v);v++}I.push(C)}for(f=0;f<d;f++)for(l=0;l<e;l++)h=I[l+1][f],n=I[l+
|
|
|
-1][f+1],r=I[l][f+1],u.setX(x,I[l][f]),x++,u.setX(x,h),x++,u.setX(x,r),x++,u.setX(x,h),x++,u.setX(x,n),x++,u.setX(x,r),x++,p+=6;m.addGroup(E,p,0);E+=p})();!1===f&&(0<a&&l(!0),0<b&&l(!1));this.setIndex(u);this.addAttribute("position",t);this.addAttribute("normal",w);this.addAttribute("uv",F)}function ib(a,b,c,d,e,f,g,k){P.call(this);this.type="CylinderGeometry";this.parameters={radiusTop:a,radiusBottom:b,height:c,radialSegments:d,heightSegments:e,openEnded:f,thetaStart:g,thetaLength:k};this.fromBufferGeometry(new Ya(a,
|
|
|
-b,c,d,e,f,g,k));this.mergeVertices()}function Cc(a,b,c,d,e,f,g){ib.call(this,0,a,b,c,d,e,f,g);this.type="ConeGeometry";this.parameters={radius:a,height:b,radialSegments:c,heightSegments:d,openEnded:e,thetaStart:f,thetaLength:g}}function Dc(a,b,c,d,e,f,g){Ya.call(this,0,a,b,c,d,e,f,g);this.type="ConeBufferGeometry";this.parameters={radius:a,height:b,radialSegments:c,heightSegments:d,thetaStart:f,thetaLength:g}}function Rb(a,b,c,d){J.call(this);this.type="CircleBufferGeometry";this.parameters={radius:a,
|
|
|
-segments:b,thetaStart:c,thetaLength:d};a=a||50;b=void 0!==b?Math.max(3,b):8;c=void 0!==c?c:0;d=void 0!==d?d:2*Math.PI;var e=b+2,f=new Float32Array(3*e),g=new Float32Array(3*e),e=new Float32Array(2*e);g[2]=1;e[0]=.5;e[1]=.5;for(var k=0,l=3,m=2;k<=b;k++,l+=3,m+=2){var h=c+k/b*d;f[l]=a*Math.cos(h);f[l+1]=a*Math.sin(h);g[l+2]=1;e[m]=(f[l]/a+1)/2;e[m+1]=(f[l+1]/a+1)/2}c=[];for(l=1;l<=b;l++)c.push(l,l+1,0);this.setIndex(new B(new Uint16Array(c),1));this.addAttribute("position",new B(f,3));this.addAttribute("normal",
|
|
|
-new B(g,3));this.addAttribute("uv",new B(e,2));this.boundingSphere=new Ba(new q,a)}function Ec(a,b,c,d){P.call(this);this.type="CircleGeometry";this.parameters={radius:a,segments:b,thetaStart:c,thetaLength:d};this.fromBufferGeometry(new Rb(a,b,c,d))}function jb(a,b,c,d,e,f){P.call(this);this.type="BoxGeometry";this.parameters={width:a,height:b,depth:c,widthSegments:d,heightSegments:e,depthSegments:f};this.fromBufferGeometry(new cb(a,b,c,d,e,f));this.mergeVertices()}function Sb(){Ea.call(this,{uniforms:h.UniformsUtils.merge([W.lights,
|
|
|
-{opacity:{value:1}}]),vertexShader:X.shadow_vert,fragmentShader:X.shadow_frag});this.transparent=this.lights=!0;Object.defineProperties(this,{opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(a){this.uniforms.opacity.value=a}}})}function Tb(a){Ea.call(this,a);this.type="RawShaderMaterial"}function Fc(a){this.uuid=h.Math.generateUUID();this.type="MultiMaterial";this.materials=a instanceof Array?a:[];this.visible=!0}function wa(a){T.call(this);this.defines={STANDARD:""};
|
|
|
-this.type="MeshStandardMaterial";this.color=new M(16777215);this.metalness=this.roughness=.5;this.lightMap=this.map=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new M(0);this.emissiveIntensity=1;this.bumpMap=this.emissiveMap=null;this.bumpScale=1;this.normalMap=null;this.normalScale=new C(1,1);this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.envMap=this.alphaMap=this.metalnessMap=this.roughnessMap=null;this.envMapIntensity=1;this.refractionRatio=
|
|
|
-.98;this.wireframe=!1;this.wireframeLinewidth=1;this.wireframeLinejoin=this.wireframeLinecap="round";this.morphNormals=this.morphTargets=this.skinning=!1;this.setValues(a)}function kb(a){wa.call(this);this.defines={PHYSICAL:""};this.type="MeshPhysicalMaterial";this.reflectivity=.5;this.clearCoatRoughness=this.clearCoat=0;this.setValues(a)}function Za(a){T.call(this);this.type="MeshPhongMaterial";this.color=new M(16777215);this.specular=new M(1118481);this.shininess=30;this.lightMap=this.map=null;
|
|
|
-this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new M(0);this.emissiveIntensity=1;this.bumpMap=this.emissiveMap=null;this.bumpScale=1;this.normalMap=null;this.normalScale=new C(1,1);this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.envMap=this.alphaMap=this.specularMap=null;this.combine=0;this.reflectivity=1;this.refractionRatio=.98;this.wireframe=!1;this.wireframeLinewidth=1;this.wireframeLinejoin=this.wireframeLinecap="round";this.morphNormals=
|
|
|
-this.morphTargets=this.skinning=!1;this.setValues(a)}function lb(a){T.call(this,a);this.type="MeshNormalMaterial";this.wireframe=!1;this.wireframeLinewidth=1;this.morphTargets=this.lights=this.fog=!1;this.setValues(a)}function mb(a){T.call(this);this.type="MeshLambertMaterial";this.color=new M(16777215);this.lightMap=this.map=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new M(0);this.emissiveIntensity=1;this.envMap=this.alphaMap=this.specularMap=this.emissiveMap=
|
|
|
-null;this.combine=0;this.reflectivity=1;this.refractionRatio=.98;this.wireframe=!1;this.wireframeLinewidth=1;this.wireframeLinejoin=this.wireframeLinecap="round";this.morphNormals=this.morphTargets=this.skinning=!1;this.setValues(a)}function nb(a){T.call(this);this.type="LineDashedMaterial";this.color=new M(16777215);this.scale=this.linewidth=1;this.dashSize=3;this.gapSize=1;this.lights=!1;this.setValues(a)}function zd(a,b,c){var d=this,e=!1,f=0,g=0;this.onStart=void 0;this.onLoad=a;this.onProgress=
|
|
|
-b;this.onError=c;this.itemStart=function(a){g++;if(!1===e&&void 0!==d.onStart)d.onStart(a,f,g);e=!0};this.itemEnd=function(a){f++;if(void 0!==d.onProgress)d.onProgress(a,f,g);if(f===g&&(e=!1,void 0!==d.onLoad))d.onLoad()};this.itemError=function(a){if(void 0!==d.onError)d.onError(a)}}function xa(a){this.manager=void 0!==a?a:h.DefaultLoadingManager}function oe(a){this.manager=void 0!==a?a:h.DefaultLoadingManager;this._parser=null}function Ad(a){this.manager=void 0!==a?a:h.DefaultLoadingManager;this._parser=
|
|
|
-null}function Gc(a){this.manager=void 0!==a?a:h.DefaultLoadingManager}function Bd(a){this.manager=void 0!==a?a:h.DefaultLoadingManager}function ad(a){this.manager=void 0!==a?a:h.DefaultLoadingManager}function oa(a,b){z.call(this);this.type="Light";this.color=new M(a);this.intensity=void 0!==b?b:1;this.receiveShadow=void 0}function bd(a,b,c){oa.call(this,a,c);this.type="HemisphereLight";this.castShadow=void 0;this.position.copy(z.DefaultUp);this.updateMatrix();this.groundColor=new M(b)}function ob(a){this.camera=
|
|
|
-a;this.bias=0;this.radius=1;this.mapSize=new C(512,512);this.map=null;this.matrix=new H}function cd(){ob.call(this,new Da(50,1,.5,500))}function dd(a,b,c,d,e,f){oa.call(this,a,b);this.type="SpotLight";this.position.copy(z.DefaultUp);this.updateMatrix();this.target=new z;Object.defineProperty(this,"power",{get:function(){return this.intensity*Math.PI},set:function(a){this.intensity=a/Math.PI}});this.distance=void 0!==c?c:0;this.angle=void 0!==d?d:Math.PI/3;this.penumbra=void 0!==e?e:0;this.decay=void 0!==
|
|
|
-f?f:1;this.shadow=new cd}function ed(a,b,c,d){oa.call(this,a,b);this.type="PointLight";Object.defineProperty(this,"power",{get:function(){return 4*this.intensity*Math.PI},set:function(a){this.intensity=a/(4*Math.PI)}});this.distance=void 0!==c?c:0;this.decay=void 0!==d?d:1;this.shadow=new ob(new Da(90,1,.5,500))}function fd(a){ob.call(this,new Cb(-5,5,5,-5,.5,500))}function gd(a,b){oa.call(this,a,b);this.type="DirectionalLight";this.position.copy(z.DefaultUp);this.updateMatrix();this.target=new z;
|
|
|
-this.shadow=new fd}function hd(a,b){oa.call(this,a,b);this.type="AmbientLight";this.castShadow=void 0}function fa(a,b,c,d){this.parameterPositions=a;this._cachedIndex=0;this.resultBuffer=void 0!==d?d:new b.constructor(c);this.sampleValues=b;this.valueSize=c}function id(a,b,c,d){fa.call(this,a,b,c,d);this._offsetNext=this._weightNext=this._offsetPrev=this._weightPrev=-0}function Hc(a,b,c,d){fa.call(this,a,b,c,d)}function jd(a,b,c,d){fa.call(this,a,b,c,d)}function pb(a,b,c,d){if(void 0===a)throw Error("track name is undefined");
|
|
|
-if(void 0===b||0===b.length)throw Error("no keyframes in track named "+a);this.name=a;this.times=h.AnimationUtils.convertArray(b,this.TimeBufferType);this.values=h.AnimationUtils.convertArray(c,this.ValueBufferType);this.setInterpolation(d||this.DefaultInterpolation);this.validate();this.optimize()}function Ub(a,b,c,d){pb.call(this,a,b,c,d)}function kd(a,b,c,d){fa.call(this,a,b,c,d)}function Ic(a,b,c,d){pb.call(this,a,b,c,d)}function Vb(a,b,c,d){pb.call(this,a,b,c,d)}function ld(a,b,c,d){pb.call(this,
|
|
|
-a,b,c,d)}function md(a,b,c){pb.call(this,a,b,c)}function nd(a,b,c,d){pb.call(this,a,b,c,d)}function qb(a,b,c,d){pb.apply(this,arguments)}function ua(a,b,c){this.name=a;this.tracks=c;this.duration=void 0!==b?b:-1;this.uuid=h.Math.generateUUID();0>this.duration&&this.resetDuration();this.optimize()}function od(a){this.manager=void 0!==a?a:h.DefaultLoadingManager;this.textures={}}function Cd(a){this.manager=void 0!==a?a:h.DefaultLoadingManager}function rb(){this.onLoadStart=function(){};this.onLoadProgress=
|
|
|
-function(){};this.onLoadComplete=function(){}}function Dd(a){"boolean"===typeof a&&(console.warn("THREE.JSONLoader: showStatus parameter has been removed from constructor."),a=void 0);this.manager=void 0!==a?a:h.DefaultLoadingManager;this.withCredentials=!1}function pe(a){this.manager=void 0!==a?a:h.DefaultLoadingManager;this.texturePath=""}function aa(){}function Ka(a,b){this.v1=a;this.v2=b}function Jc(){this.curves=[];this.autoClose=!1}function Oa(a,b,c,d,e,f,g,k){this.aX=a;this.aY=b;this.xRadius=
|
|
|
-c;this.yRadius=d;this.aStartAngle=e;this.aEndAngle=f;this.aClockwise=g;this.aRotation=k||0}function sb(a){this.points=void 0===a?[]:a}function tb(a,b,c,d){this.v0=a;this.v1=b;this.v2=c;this.v3=d}function ub(a,b,c){this.v0=a;this.v1=b;this.v2=c}function vb(){Kc.apply(this,arguments);this.holes=[]}function Kc(a){Jc.call(this);this.currentPoint=new C;a&&this.fromPoints(a)}function Ed(){this.subPaths=[];this.currentPath=null}function Fd(a){this.data=a}function qe(a){this.manager=void 0!==a?a:h.DefaultLoadingManager}
|
|
|
-function Gd(){void 0===Hd&&(Hd=new (window.AudioContext||window.webkitAudioContext));return Hd}function Id(a){this.manager=void 0!==a?a:h.DefaultLoadingManager}function re(){this.type="StereoCamera";this.aspect=1;this.eyeSep=.064;this.cameraL=new Da;this.cameraL.layers.enable(1);this.cameraL.matrixAutoUpdate=!1;this.cameraR=new Da;this.cameraR.layers.enable(2);this.cameraR.matrixAutoUpdate=!1}function pd(a,b,c){z.call(this);this.type="CubeCamera";var d=new Da(90,1,a,b);d.up.set(0,-1,0);d.lookAt(new q(1,
|
|
|
-0,0));this.add(d);var e=new Da(90,1,a,b);e.up.set(0,-1,0);e.lookAt(new q(-1,0,0));this.add(e);var f=new Da(90,1,a,b);f.up.set(0,0,1);f.lookAt(new q(0,1,0));this.add(f);var g=new Da(90,1,a,b);g.up.set(0,0,-1);g.lookAt(new q(0,-1,0));this.add(g);var k=new Da(90,1,a,b);k.up.set(0,-1,0);k.lookAt(new q(0,0,1));this.add(k);var l=new Da(90,1,a,b);l.up.set(0,-1,0);l.lookAt(new q(0,0,-1));this.add(l);this.renderTarget=new zb(c,c,{format:1022,magFilter:1006,minFilter:1006});this.updateCubeMap=function(a,b){null===
|
|
|
-this.parent&&this.updateMatrixWorld();var c=this.renderTarget,h=c.texture.generateMipmaps;c.texture.generateMipmaps=!1;c.activeCubeFace=0;a.render(b,d,c);c.activeCubeFace=1;a.render(b,e,c);c.activeCubeFace=2;a.render(b,f,c);c.activeCubeFace=3;a.render(b,g,c);c.activeCubeFace=4;a.render(b,k,c);c.texture.generateMipmaps=h;c.activeCubeFace=5;a.render(b,l,c);a.setRenderTarget(null)}}function Jd(){z.call(this);this.type="AudioListener";this.context=Gd();this.gain=this.context.createGain();this.gain.connect(this.context.destination);
|
|
|
-this.filter=null}function Wb(a){z.call(this);this.type="Audio";this.context=a.context;this.source=this.context.createBufferSource();this.source.onended=this.onEnded.bind(this);this.gain=this.context.createGain();this.gain.connect(a.getInput());this.autoplay=!1;this.startTime=0;this.playbackRate=1;this.isPlaying=!1;this.hasPlaybackControl=!0;this.sourceType="empty";this.filters=[]}function Kd(a){Wb.call(this,a);this.panner=this.context.createPanner();this.panner.connect(this.gain)}function Ld(a,b){this.analyser=
|
|
|
-a.context.createAnalyser();this.analyser.fftSize=void 0!==b?b:2048;this.data=new Uint8Array(this.analyser.frequencyBinCount);a.getOutput().connect(this.analyser)}function qd(a,b,c){this.binding=a;this.valueSize=c;a=Float64Array;switch(b){case "quaternion":b=this._slerp;break;case "string":case "bool":a=Array;b=this._select;break;default:b=this._lerp}this.buffer=new a(4*c);this._mixBufferRegion=b;this.referenceCount=this.useCount=this.cumulativeWeight=0}function ga(a,b,c){this.path=b;this.parsedPath=
|
|
|
-c||ga.parseTrackName(b);this.node=ga.findNode(a,this.parsedPath.nodeName)||a;this.rootNode=a}function Md(a){this.uuid=h.Math.generateUUID();this._objects=Array.prototype.slice.call(arguments);this.nCachedObjects_=0;var b={};this._indicesByUUID=b;for(var c=0,d=arguments.length;c!==d;++c)b[arguments[c].uuid]=c;this._paths=[];this._parsedPaths=[];this._bindings=[];this._bindingsIndicesByPath={};var e=this;this.stats={objects:{get total(){return e._objects.length},get inUse(){return this.total-e.nCachedObjects_}},
|
|
|
-get bindingsPerObject(){return e._bindings.length}}}function Nd(a,b,c){this._mixer=a;this._clip=b;this._localRoot=c||null;a=b.tracks;b=a.length;c=Array(b);for(var d={endingStart:2400,endingEnd:2400},e=0;e!==b;++e){var f=a[e].createInterpolant(null);c[e]=f;f.settings=d}this._interpolantSettings=d;this._interpolants=c;this._propertyBindings=Array(b);this._weightInterpolant=this._timeScaleInterpolant=this._byClipCacheIndex=this._cacheIndex=null;this.loop=2201;this._loopCount=-1;this._startTime=null;
|
|
|
-this.time=0;this._effectiveWeight=this.weight=this._effectiveTimeScale=this.timeScale=1;this.repetitions=Infinity;this.paused=!1;this.enabled=!0;this.clampWhenFinished=!1;this.zeroSlopeAtEnd=this.zeroSlopeAtStart=!0}function Od(a){this._root=a;this._initMemoryManager();this.time=this._accuIndex=0;this.timeScale=1}function se(a,b){"string"===typeof a&&(console.warn("THREE.Uniform: Type parameter is no longer needed."),a=b);this.value=a}function wb(){J.call(this);this.type="InstancedBufferGeometry";
|
|
|
-this.maxInstancedCount=void 0}function Pd(a,b,c,d){this.uuid=h.Math.generateUUID();this.data=a;this.itemSize=b;this.offset=c;this.normalized=!0===d}function Xb(a,b){this.uuid=h.Math.generateUUID();this.array=a;this.stride=b;this.count=void 0!==a?a.length/b:0;this.dynamic=!1;this.updateRange={offset:0,count:-1};this.version=0}function Yb(a,b,c){Xb.call(this,a,b);this.meshPerAttribute=c||1}function Zb(a,b,c){B.call(this,a,b);this.meshPerAttribute=c||1}function Qd(a,b,c,d){this.ray=new Va(a,b);this.near=
|
|
|
-c||0;this.far=d||Infinity;this.params={Mesh:{},Line:{},LOD:{},Points:{threshold:1},Sprite:{}};Object.defineProperties(this.params,{PointCloud:{get:function(){console.warn("THREE.Raycaster: params.PointCloud has been renamed to params.Points.");return this.Points}}})}function te(a,b){return a.distance-b.distance}function Rd(a,b,c,d){if(!1!==a.visible&&(a.raycast(b,c),!0===d)){a=a.children;d=0;for(var e=a.length;d<e;d++)Rd(a[d],b,c,!0)}}function Sd(a){this.autoStart=void 0!==a?a:!0;this.elapsedTime=
|
|
|
-this.oldTime=this.startTime=0;this.running=!1}function Td(a,b,c){this.radius=void 0!==a?a:1;this.phi=void 0!==b?b:0;this.theta=void 0!==c?c:0;return this}function ma(a,b){va.call(this,a,b);this.animationsMap={};this.animationsList=[];var c=this.geometry.morphTargets.length;this.createAnimation("__default",0,c-1,c/1);this.setAnimationWeight("__default",1)}function Lc(a){z.call(this);this.material=a;this.render=function(a){}}function Mc(a,b,c,d){this.object=a;this.size=void 0!==b?b:1;a=void 0!==c?c:
|
|
|
-16711680;d=void 0!==d?d:1;b=0;(c=this.object.geometry)&&c.isGeometry?b=3*c.faces.length:c&&c.isBufferGeometry&&(b=c.attributes.normal.count);c=new J;b=new ia(6*b,3);c.addAttribute("position",b);ka.call(this,c,new na({color:a,linewidth:d}));this.matrixAutoUpdate=!1;this.update()}function $b(a){z.call(this);this.light=a;this.light.updateMatrixWorld();this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;a=new J;for(var b=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1],c=0,d=1;32>c;c++,
|
|
|
-d++){var e=c/32*Math.PI*2,f=d/32*Math.PI*2;b.push(Math.cos(e),Math.sin(e),1,Math.cos(f),Math.sin(f),1)}a.addAttribute("position",new ia(b,3));b=new na({fog:!1});this.cone=new ka(a,b);this.add(this.cone);this.update()}function ac(a){this.bones=this.getBoneList(a);for(var b=new P,c=0;c<this.bones.length;c++){var d=this.bones[c];d.parent&&d.parent.isBone&&(b.vertices.push(new q),b.vertices.push(new q),b.colors.push(new M(0,0,1)),b.colors.push(new M(0,1,0)))}b.dynamic=!0;c=new na({vertexColors:2,depthTest:!1,
|
|
|
-depthWrite:!1,transparent:!0});ka.call(this,b,c);this.root=a;this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;this.update()}function bc(a,b){this.light=a;this.light.updateMatrixWorld();var c=new hb(b,4,2),d=new Ia({wireframe:!0,fog:!1});d.color.copy(this.light.color).multiplyScalar(this.light.intensity);va.call(this,c,d);this.matrix=this.light.matrixWorld;this.matrixAutoUpdate=!1}function cc(a,b){z.call(this);this.light=a;this.light.updateMatrixWorld();this.matrix=a.matrixWorld;this.matrixAutoUpdate=
|
|
|
-!1;this.colors=[new M,new M];var c=new Nb(b,4,2);c.rotateX(-Math.PI/2);for(var d=0;8>d;d++)c.faces[d].color=this.colors[4>d?0:1];d=new Ia({vertexColors:1,wireframe:!0});this.lightSphere=new va(c,d);this.add(this.lightSphere);this.update()}function Nc(a,b,c,d){b=b||1;c=new M(void 0!==c?c:4473924);d=new M(void 0!==d?d:8947848);for(var e=b/2,f=2*a/b,g=[],k=[],l=0,m=0,h=-a;l<=b;l++,h+=f){g.push(-a,0,h,a,0,h);g.push(h,0,-a,h,0,a);var p=l===e?c:d;p.toArray(k,m);m+=3;p.toArray(k,m);m+=3;p.toArray(k,m);m+=
|
|
|
-3;p.toArray(k,m);m+=3}a=new J;a.addAttribute("position",new ia(g,3));a.addAttribute("color",new ia(k,3));g=new na({vertexColors:2});ka.call(this,a,g)}function Oc(a,b,c,d){this.object=a;this.size=void 0!==b?b:1;a=void 0!==c?c:16776960;d=void 0!==d?d:1;b=0;(c=this.object.geometry)&&c.isGeometry?b=c.faces.length:console.warn("THREE.FaceNormalsHelper: only THREE.Geometry is supported. Use THREE.VertexNormalsHelper, instead.");c=new J;b=new ia(6*b,3);c.addAttribute("position",b);ka.call(this,c,new na({color:a,
|
|
|
-linewidth:d}));this.matrixAutoUpdate=!1;this.update()}function dc(a,b){z.call(this);this.light=a;this.light.updateMatrixWorld();this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;void 0===b&&(b=1);var c=new J;c.addAttribute("position",new ia([-b,b,0,b,b,0,b,-b,0,-b,-b,0,-b,b,0],3));var d=new na({fog:!1});this.add(new Na(c,d));c=new J;c.addAttribute("position",new ia([0,0,0,0,0,1],3));this.add(new Na(c,d));this.update()}function Pc(a){function b(a,b,d){c(a,d);c(b,d)}function c(a,b){d.vertices.push(new q);
|
|
|
-d.colors.push(new M(b));void 0===f[a]&&(f[a]=[]);f[a].push(d.vertices.length-1)}var d=new P,e=new na({color:16777215,vertexColors:1}),f={};b("n1","n2",16755200);b("n2","n4",16755200);b("n4","n3",16755200);b("n3","n1",16755200);b("f1","f2",16755200);b("f2","f4",16755200);b("f4","f3",16755200);b("f3","f1",16755200);b("n1","f1",16755200);b("n2","f2",16755200);b("n3","f3",16755200);b("n4","f4",16755200);b("p","n1",16711680);b("p","n2",16711680);b("p","n3",16711680);b("p","n4",16711680);b("u1","u2",43775);
|
|
|
-b("u2","u3",43775);b("u3","u1",43775);b("c","t",16777215);b("p","c",3355443);b("cn1","cn2",3355443);b("cn3","cn4",3355443);b("cf1","cf2",3355443);b("cf3","cf4",3355443);ka.call(this,d,e);this.camera=a;this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix();this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;this.pointMap=f;this.update()}function Qc(a,b){var c=void 0!==b?b:8947848;this.object=a;this.box=new Ha;va.call(this,new jb(1,1,1),new Ia({color:c,wireframe:!0}))}function Rc(a,
|
|
|
-b){void 0===b&&(b=16776960);var c=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),d=new Float32Array(24),e=new J;e.setIndex(new B(c,1));e.addAttribute("position",new B(d,3));ka.call(this,e,new na({color:b}));void 0!==a&&this.update(a)}function xb(a,b,c,d,e,f){z.call(this);void 0===d&&(d=16776960);void 0===c&&(c=1);void 0===e&&(e=.2*c);void 0===f&&(f=.2*e);this.position.copy(b);this.line=new Na(ue,new na({color:d}));this.line.matrixAutoUpdate=!1;this.add(this.line);this.cone=new va(ve,
|
|
|
-new Ia({color:d}));this.cone.matrixAutoUpdate=!1;this.add(this.cone);this.setDirection(a);this.setLength(c,e,f)}function rd(a){a=a||1;var b=new Float32Array([0,0,0,a,0,0,0,0,0,0,a,0,0,0,0,0,0,a]),c=new Float32Array([1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1]);a=new J;a.addAttribute("position",new B(b,3));a.addAttribute("color",new B(c,3));b=new na({vertexColors:2});ka.call(this,a,b)}function we(a){console.warn("THREE.ClosedSplineCurve3 has been deprecated. Please use THREE.CatmullRomCurve3.");h.CatmullRomCurve3.call(this,
|
|
|
-a);this.type="catmullrom";this.closed=!0}function sd(a,b,c,d,e,f){Oa.call(this,a,b,c,c,d,e,f)}void 0===Number.EPSILON&&(Number.EPSILON=Math.pow(2,-52));void 0===Math.sign&&(Math.sign=function(a){return 0>a?-1:0<a?1:+a});void 0===Function.prototype.name&&Object.defineProperty(Function.prototype,"name",{get:function(){return this.toString().match(/^\s*function\s*(\S*)\s*\(/)[1]}});void 0===Object.assign&&function(){Object.assign=function(a){if(void 0===a||null===a)throw new TypeError("Cannot convert undefined or null to object");
|
|
|
+c)}function mc(a,b){la.call(this,[1,1,1,-1,-1,1,-1,1,-1,1,-1,-1],[2,1,0,0,3,2,1,3,0,2,3,1],a,b);this.type="TetrahedronBufferGeometry";this.parameters={radius:a,detail:b}}function nc(a,b){P.call(this);this.type="TetrahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new THREE.TetrahedronBufferGeometry(a,b));this.mergeVertices()}function oc(a,b){la.call(this,[1,0,0,-1,0,0,0,1,0,0,-1,0,0,0,1,0,0,-1],[0,2,4,0,4,3,0,3,5,0,5,2,1,2,5,1,5,3,1,3,4,1,4,2],a,b);this.type="OctahedronBufferGeometry";
|
|
|
+this.parameters={radius:a,detail:b}}function pc(a,b){P.call(this);this.type="OctahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new THREE.OctahedronBufferGeometry(a,b));this.mergeVertices()}function qc(a,b){var c=(1+Math.sqrt(5))/2;la.call(this,[-1,c,0,1,c,0,-1,-c,0,1,-c,0,0,-1,c,0,1,c,0,-1,-c,0,1,-c,c,0,-1,c,0,1,-c,0,-1,-c,0,1],[0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1],a,b);this.type=
|
|
|
+"IcosahedronBufferGeometry";this.parameters={radius:a,detail:b}}function rc(a,b){P.call(this);this.type="IcosahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new THREE.IcosahedronBufferGeometry(a,b));this.mergeVertices()}function sc(a,b){var c=(1+Math.sqrt(5))/2,d=1/c;la.call(this,[-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-d,-c,0,-d,c,0,d,-c,0,d,c,-d,-c,0,-d,c,0,d,-c,0,d,c,0,-c,0,-d,c,0,-d,-c,0,d,c,0,d],[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,
|
|
|
+17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9],a,b);this.type="DodecahedronBufferGeometry";this.parameters={radius:a,detail:b}}function tc(a,b){P.call(this);this.type="DodecahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new THREE.DodecahedronBufferGeometry(a,b));this.mergeVertices()}function uc(a,
|
|
|
+b,c,d){P.call(this);this.type="PolyhedronGeometry";this.parameters={vertices:a,indices:b,radius:c,detail:d};this.fromBufferGeometry(new la(a,b,c,d));this.mergeVertices()}function Jb(a,b,c,d,e){function f(e){var f=a.getPointAt(e/b),n=g.normals[e];e=g.binormals[e];for(p=0;p<=d;p++){var h=p/d*Math.PI*2,r=Math.sin(h),h=-Math.cos(h);l.x=h*n.x+r*e.x;l.y=h*n.y+r*e.y;l.z=h*n.z+r*e.z;l.normalize();u.push(l.x,l.y,l.z);k.x=f.x+c*l.x;k.y=f.y+c*l.y;k.z=f.z+c*l.z;m.push(k.x,k.y,k.z)}}J.call(this);this.type="TubeBufferGeometry";
|
|
|
+this.parameters={path:a,tubularSegments:b,radius:c,radialSegments:d,closed:e};b=b||64;c=c||1;d=d||8;e=e||!1;var g=a.computeFrenetFrames(b,e);this.tangents=g.tangents;this.normals=g.normals;this.binormals=g.binormals;var k=new q,l=new q,n=new C,h,p,m=[],u=[],t=[],w=[];for(h=0;h<b;h++)f(h);f(!1===e?b:0);for(h=0;h<=b;h++)for(p=0;p<=d;p++)n.x=h/b,n.y=p/d,t.push(n.x,n.y);(function(){for(p=1;p<=b;p++)for(h=1;h<=d;h++){var a=(d+1)*p+(h-1),c=(d+1)*p+h,e=(d+1)*(p-1)+h;w.push((d+1)*(p-1)+(h-1),a,e);w.push(a,
|
|
|
+c,e)}})();this.setIndex((65535<w.length?Uc:Tc)(w,1));this.addAttribute("position",ia(m,3));this.addAttribute("normal",ia(u,3));this.addAttribute("uv",ia(t,2))}function vc(a,b,c,d,e,f){P.call(this);this.type="TubeGeometry";this.parameters={path:a,tubularSegments:b,radius:c,radialSegments:d,closed:e};void 0!==f&&console.warn("THREE.TubeGeometry: taper has been removed.");a=new Jb(a,b,c,d,e);this.tangents=a.tangents;this.normals=a.normals;this.binormals=a.binormals;this.fromBufferGeometry(a);this.mergeVertices()}
|
|
|
+function Kb(a,b,c,d,e,f){function g(a,b,c,d,e){var f=Math.sin(a);b=c/b*a;c=Math.cos(b);e.x=d*(2+c)*.5*Math.cos(a);e.y=d*(2+c)*f*.5;e.z=d*Math.sin(b)*.5}J.call(this);this.type="TorusKnotBufferGeometry";this.parameters={radius:a,tube:b,tubularSegments:c,radialSegments:d,p:e,q:f};a=a||100;b=b||40;c=Math.floor(c)||64;d=Math.floor(d)||8;e=e||2;f=f||3;var k=(d+1)*(c+1),l=d*c*6,l=new B(new (65535<l?Uint32Array:Uint16Array)(l),1),n=new B(new Float32Array(3*k),3),h=new B(new Float32Array(3*k),3),k=new B(new Float32Array(2*
|
|
|
+k),2),p,m,u=0,t=0,w=new q,F=new q,v=new C,x=new q,I=new q,y=new q,E=new q,G=new q;for(p=0;p<=c;++p)for(m=p/c*e*Math.PI*2,g(m,e,f,a,x),g(m+.01,e,f,a,I),E.subVectors(I,x),G.addVectors(I,x),y.crossVectors(E,G),G.crossVectors(y,E),y.normalize(),G.normalize(),m=0;m<=d;++m){var D=m/d*Math.PI*2,L=-b*Math.cos(D),D=b*Math.sin(D);w.x=x.x+(L*G.x+D*y.x);w.y=x.y+(L*G.y+D*y.y);w.z=x.z+(L*G.z+D*y.z);n.setXYZ(u,w.x,w.y,w.z);F.subVectors(w,x).normalize();h.setXYZ(u,F.x,F.y,F.z);v.x=p/c;v.y=m/d;k.setXY(u,v.x,v.y);
|
|
|
+u++}for(m=1;m<=c;m++)for(p=1;p<=d;p++)a=(d+1)*m+(p-1),b=(d+1)*m+p,e=(d+1)*(m-1)+p,l.setX(t,(d+1)*(m-1)+(p-1)),t++,l.setX(t,a),t++,l.setX(t,e),t++,l.setX(t,a),t++,l.setX(t,b),t++,l.setX(t,e),t++;this.setIndex(l);this.addAttribute("position",n);this.addAttribute("normal",h);this.addAttribute("uv",k)}function wc(a,b,c,d,e,f,g){P.call(this);this.type="TorusKnotGeometry";this.parameters={radius:a,tube:b,tubularSegments:c,radialSegments:d,p:e,q:f};void 0!==g&&console.warn("THREE.TorusKnotGeometry: heightScale has been deprecated. Use .scale( x, y, z ) instead.");
|
|
|
+this.fromBufferGeometry(new Kb(a,b,c,d,e,f));this.mergeVertices()}function Lb(a,b,c,d,e){J.call(this);this.type="TorusBufferGeometry";this.parameters={radius:a,tube:b,radialSegments:c,tubularSegments:d,arc:e};a=a||100;b=b||40;c=Math.floor(c)||8;d=Math.floor(d)||6;e=e||2*Math.PI;var f=(c+1)*(d+1),g=c*d*6,g=new (65535<g?Uint32Array:Uint16Array)(g),k=new Float32Array(3*f),l=new Float32Array(3*f),f=new Float32Array(2*f),n=0,h=0,p=0,m=new q,u=new q,t=new q,w,F;for(w=0;w<=c;w++)for(F=0;F<=d;F++){var v=
|
|
|
+F/d*e,x=w/c*Math.PI*2;u.x=(a+b*Math.cos(x))*Math.cos(v);u.y=(a+b*Math.cos(x))*Math.sin(v);u.z=b*Math.sin(x);k[n]=u.x;k[n+1]=u.y;k[n+2]=u.z;m.x=a*Math.cos(v);m.y=a*Math.sin(v);t.subVectors(u,m).normalize();l[n]=t.x;l[n+1]=t.y;l[n+2]=t.z;f[h]=F/d;f[h+1]=w/c;n+=3;h+=2}for(w=1;w<=c;w++)for(F=1;F<=d;F++)a=(d+1)*(w-1)+F-1,b=(d+1)*(w-1)+F,e=(d+1)*w+F,g[p]=(d+1)*w+F-1,g[p+1]=a,g[p+2]=e,g[p+3]=a,g[p+4]=b,g[p+5]=e,p+=6;this.setIndex(new B(g,1));this.addAttribute("position",new B(k,3));this.addAttribute("normal",
|
|
|
+new B(l,3));this.addAttribute("uv",new B(f,2))}function xc(a,b,c,d,e){P.call(this);this.type="TorusGeometry";this.parameters={radius:a,tube:b,radialSegments:c,tubularSegments:d,arc:e};this.fromBufferGeometry(new Lb(a,b,c,d,e))}function sa(a,b){"undefined"!==typeof a&&(P.call(this),this.type="ExtrudeGeometry",a=Array.isArray(a)?a:[a],this.addShapeList(a,b),this.computeFaceNormals())}function yc(a,b){b=b||{};var c=b.font;if(!1===(c&&c.isFont))return console.error("THREE.TextGeometry: font parameter is not an instance of THREE.Font."),
|
|
|
+new P;c=c.generateShapes(a,b.size,b.curveSegments);b.amount=void 0!==b.height?b.height:50;void 0===b.bevelThickness&&(b.bevelThickness=10);void 0===b.bevelSize&&(b.bevelSize=8);void 0===b.bevelEnabled&&(b.bevelEnabled=!1);sa.call(this,c,b);this.type="TextGeometry"}function hb(a,b,c,d,e,f,g){J.call(this);this.type="SphereBufferGeometry";this.parameters={radius:a,widthSegments:b,heightSegments:c,phiStart:d,phiLength:e,thetaStart:f,thetaLength:g};a=a||50;b=Math.max(3,Math.floor(b)||8);c=Math.max(2,Math.floor(c)||
|
|
|
+6);d=void 0!==d?d:0;e=void 0!==e?e:2*Math.PI;f=void 0!==f?f:0;g=void 0!==g?g:Math.PI;for(var k=f+g,l=(b+1)*(c+1),n=new B(new Float32Array(3*l),3),h=new B(new Float32Array(3*l),3),l=new B(new Float32Array(2*l),2),p=0,m=[],u=new q,t=0;t<=c;t++){for(var w=[],F=t/c,v=0;v<=b;v++){var x=v/b,I=-a*Math.cos(d+x*e)*Math.sin(f+F*g),y=a*Math.cos(f+F*g),E=a*Math.sin(d+x*e)*Math.sin(f+F*g);u.set(I,y,E).normalize();n.setXYZ(p,I,y,E);h.setXYZ(p,u.x,u.y,u.z);l.setXY(p,x,1-F);w.push(p);p++}m.push(w)}d=[];for(t=0;t<
|
|
|
+c;t++)for(v=0;v<b;v++)e=m[t][v+1],g=m[t][v],p=m[t+1][v],u=m[t+1][v+1],(0!==t||0<f)&&d.push(e,g,u),(t!==c-1||k<Math.PI)&&d.push(g,p,u);this.setIndex(new (65535<n.count?Uc:Tc)(d,1));this.addAttribute("position",n);this.addAttribute("normal",h);this.addAttribute("uv",l);this.boundingSphere=new Ba(new q,a)}function Mb(a,b,c,d,e,f,g){P.call(this);this.type="SphereGeometry";this.parameters={radius:a,widthSegments:b,heightSegments:c,phiStart:d,phiLength:e,thetaStart:f,thetaLength:g};this.fromBufferGeometry(new hb(a,
|
|
|
+b,c,d,e,f,g))}function Nb(a,b,c,d,e,f){J.call(this);this.type="RingBufferGeometry";this.parameters={innerRadius:a,outerRadius:b,thetaSegments:c,phiSegments:d,thetaStart:e,thetaLength:f};a=a||20;b=b||50;e=void 0!==e?e:0;f=void 0!==f?f:2*Math.PI;c=void 0!==c?Math.max(3,c):8;d=void 0!==d?Math.max(1,d):1;var g=(c+1)*(d+1),k=c*d*6,k=new B(new (65535<k?Uint32Array:Uint16Array)(k),1),l=new B(new Float32Array(3*g),3),n=new B(new Float32Array(3*g),3),g=new B(new Float32Array(2*g),2),h=0,p=0,m,u=a,t=(b-a)/
|
|
|
+d,w=new q,F=new C,v;for(a=0;a<=d;a++){for(v=0;v<=c;v++)m=e+v/c*f,w.x=u*Math.cos(m),w.y=u*Math.sin(m),l.setXYZ(h,w.x,w.y,w.z),n.setXYZ(h,0,0,1),F.x=(w.x/b+1)/2,F.y=(w.y/b+1)/2,g.setXY(h,F.x,F.y),h++;u+=t}for(a=0;a<d;a++)for(b=a*(c+1),v=0;v<c;v++)e=m=v+b,f=m+c+1,h=m+c+2,m+=1,k.setX(p,e),p++,k.setX(p,f),p++,k.setX(p,h),p++,k.setX(p,e),p++,k.setX(p,h),p++,k.setX(p,m),p++;this.setIndex(k);this.addAttribute("position",l);this.addAttribute("normal",n);this.addAttribute("uv",g)}function zc(a,b,c,d,e,f){P.call(this);
|
|
|
+this.type="RingGeometry";this.parameters={innerRadius:a,outerRadius:b,thetaSegments:c,phiSegments:d,thetaStart:e,thetaLength:f};this.fromBufferGeometry(new Nb(a,b,c,d,e,f))}function Ac(a,b,c,d){P.call(this);this.type="PlaneGeometry";this.parameters={width:a,height:b,widthSegments:c,heightSegments:d};this.fromBufferGeometry(new db(a,b,c,d))}function Ob(a,b,c,d){J.call(this);this.type="LatheBufferGeometry";this.parameters={points:a,segments:b,phiStart:c,phiLength:d};b=Math.floor(b)||12;c=c||0;d=d||
|
|
|
+2*Math.PI;d=h.Math.clamp(d,0,2*Math.PI);for(var e=(b+1)*a.length,f=b*a.length*6,g=new B(new (65535<f?Uint32Array:Uint16Array)(f),1),k=new B(new Float32Array(3*e),3),l=new B(new Float32Array(2*e),2),n=0,r=0,p=1/b,m=new q,u=new C,e=0;e<=b;e++)for(var f=c+e*p*d,t=Math.sin(f),w=Math.cos(f),f=0;f<=a.length-1;f++)m.x=a[f].x*t,m.y=a[f].y,m.z=a[f].x*w,k.setXYZ(n,m.x,m.y,m.z),u.x=e/b,u.y=f/(a.length-1),l.setXY(n,u.x,u.y),n++;for(e=0;e<b;e++)for(f=0;f<a.length-1;f++)c=f+e*a.length,n=c+a.length,p=c+a.length+
|
|
|
+1,m=c+1,g.setX(r,c),r++,g.setX(r,n),r++,g.setX(r,m),r++,g.setX(r,n),r++,g.setX(r,p),r++,g.setX(r,m),r++;this.setIndex(g);this.addAttribute("position",k);this.addAttribute("uv",l);this.computeVertexNormals();if(d===2*Math.PI)for(d=this.attributes.normal.array,g=new q,k=new q,l=new q,c=b*a.length*3,f=e=0;e<a.length;e++,f+=3)g.x=d[f+0],g.y=d[f+1],g.z=d[f+2],k.x=d[c+f+0],k.y=d[c+f+1],k.z=d[c+f+2],l.addVectors(g,k).normalize(),d[f+0]=d[c+f+0]=l.x,d[f+1]=d[c+f+1]=l.y,d[f+2]=d[c+f+2]=l.z}function Bc(a,b,
|
|
|
+c,d){P.call(this);this.type="LatheGeometry";this.parameters={points:a,segments:b,phiStart:c,phiLength:d};this.fromBufferGeometry(new Ob(a,b,c,d));this.mergeVertices()}function Xa(a,b){P.call(this);this.type="ShapeGeometry";!1===Array.isArray(a)&&(a=[a]);this.addShapeList(a,b);this.computeFaceNormals()}function Pb(a,b){function c(a,b){return a-b}J.call(this);var d=Math.cos(h.Math.DEG2RAD*(void 0!==b?b:1)),e=[0,0],f={},g=["a","b","c"],k;a&&a.isBufferGeometry?(k=new P,k.fromBufferGeometry(a)):k=a.clone();
|
|
|
+k.mergeVertices();k.computeFaceNormals();var l=k.vertices;k=k.faces;for(var n=0,r=k.length;n<r;n++)for(var p=k[n],m=0;3>m;m++){e[0]=p[g[m]];e[1]=p[g[(m+1)%3]];e.sort(c);var u=e.toString();void 0===f[u]?f[u]={vert1:e[0],vert2:e[1],face1:n,face2:void 0}:f[u].face2=n}e=[];for(u in f)if(g=f[u],void 0===g.face2||k[g.face1].normal.dot(k[g.face2].normal)<=d)n=l[g.vert1],e.push(n.x),e.push(n.y),e.push(n.z),n=l[g.vert2],e.push(n.x),e.push(n.y),e.push(n.z);this.addAttribute("position",new B(new Float32Array(e),
|
|
|
+3))}function Ya(a,b,c,d,e,f,g,k){function l(c){var e,f,l,h=new C,m=new q,p=0,r=!0===c?a:b,I=!0===c?1:-1;f=v;for(e=1;e<=d;e++)t.setXYZ(v,0,y*I,0),w.setXYZ(v,0,I,0),h.x=.5,h.y=.5,F.setXY(v,h.x,h.y),v++;l=v;for(e=0;e<=d;e++){var z=e/d*k+g,B=Math.cos(z),z=Math.sin(z);m.x=r*z;m.y=y*I;m.z=r*B;t.setXYZ(v,m.x,m.y,m.z);w.setXYZ(v,0,I,0);h.x=.5*B+.5;h.y=.5*z*I+.5;F.setXY(v,h.x,h.y);v++}for(e=0;e<d;e++)h=f+e,m=l+e,!0===c?(u.setX(x,m),x++,u.setX(x,m+1)):(u.setX(x,m+1),x++,u.setX(x,m)),x++,u.setX(x,h),x++,p+=
|
|
|
+3;n.addGroup(E,p,!0===c?1:2);E+=p}J.call(this);this.type="CylinderBufferGeometry";this.parameters={radiusTop:a,radiusBottom:b,height:c,radialSegments:d,heightSegments:e,openEnded:f,thetaStart:g,thetaLength:k};var n=this;a=void 0!==a?a:20;b=void 0!==b?b:20;c=void 0!==c?c:100;d=Math.floor(d)||8;e=Math.floor(e)||1;f=void 0!==f?f:!1;g=void 0!==g?g:0;k=void 0!==k?k:2*Math.PI;var h=0;!1===f&&(0<a&&h++,0<b&&h++);var p=function(){var a=(d+1)*(e+1);!1===f&&(a+=(d+1)*h+d*h);return a}(),m=function(){var a=d*
|
|
|
+e*6;!1===f&&(a+=d*h*3);return a}(),u=new B(new (65535<m?Uint32Array:Uint16Array)(m),1),t=new B(new Float32Array(3*p),3),w=new B(new Float32Array(3*p),3),F=new B(new Float32Array(2*p),2),v=0,x=0,I=[],y=c/2,E=0;(function(){var f,l,h=new q,m=new q,p=0,r=(b-a)/c;for(l=0;l<=e;l++){var C=[],z=l/e,B=z*(b-a)+a;for(f=0;f<=d;f++){var N=f/d,O=N*k+g,R=Math.sin(O),O=Math.cos(O);m.x=B*R;m.y=-z*c+y;m.z=B*O;t.setXYZ(v,m.x,m.y,m.z);h.set(R,r,O).normalize();w.setXYZ(v,h.x,h.y,h.z);F.setXY(v,N,1-z);C.push(v);v++}I.push(C)}for(f=
|
|
|
+0;f<d;f++)for(l=0;l<e;l++)h=I[l+1][f],m=I[l+1][f+1],r=I[l][f+1],u.setX(x,I[l][f]),x++,u.setX(x,h),x++,u.setX(x,r),x++,u.setX(x,h),x++,u.setX(x,m),x++,u.setX(x,r),x++,p+=6;n.addGroup(E,p,0);E+=p})();!1===f&&(0<a&&l(!0),0<b&&l(!1));this.setIndex(u);this.addAttribute("position",t);this.addAttribute("normal",w);this.addAttribute("uv",F)}function ib(a,b,c,d,e,f,g,k){P.call(this);this.type="CylinderGeometry";this.parameters={radiusTop:a,radiusBottom:b,height:c,radialSegments:d,heightSegments:e,openEnded:f,
|
|
|
+thetaStart:g,thetaLength:k};this.fromBufferGeometry(new Ya(a,b,c,d,e,f,g,k));this.mergeVertices()}function Cc(a,b,c,d,e,f,g){ib.call(this,0,a,b,c,d,e,f,g);this.type="ConeGeometry";this.parameters={radius:a,height:b,radialSegments:c,heightSegments:d,openEnded:e,thetaStart:f,thetaLength:g}}function Dc(a,b,c,d,e,f,g){Ya.call(this,0,a,b,c,d,e,f,g);this.type="ConeBufferGeometry";this.parameters={radius:a,height:b,radialSegments:c,heightSegments:d,thetaStart:f,thetaLength:g}}function Qb(a,b,c,d){J.call(this);
|
|
|
+this.type="CircleBufferGeometry";this.parameters={radius:a,segments:b,thetaStart:c,thetaLength:d};a=a||50;b=void 0!==b?Math.max(3,b):8;c=void 0!==c?c:0;d=void 0!==d?d:2*Math.PI;var e=b+2,f=new Float32Array(3*e),g=new Float32Array(3*e),e=new Float32Array(2*e);g[2]=1;e[0]=.5;e[1]=.5;for(var k=0,l=3,n=2;k<=b;k++,l+=3,n+=2){var h=c+k/b*d;f[l]=a*Math.cos(h);f[l+1]=a*Math.sin(h);g[l+2]=1;e[n]=(f[l]/a+1)/2;e[n+1]=(f[l+1]/a+1)/2}c=[];for(l=1;l<=b;l++)c.push(l,l+1,0);this.setIndex(new B(new Uint16Array(c),
|
|
|
+1));this.addAttribute("position",new B(f,3));this.addAttribute("normal",new B(g,3));this.addAttribute("uv",new B(e,2));this.boundingSphere=new Ba(new q,a)}function Ec(a,b,c,d){P.call(this);this.type="CircleGeometry";this.parameters={radius:a,segments:b,thetaStart:c,thetaLength:d};this.fromBufferGeometry(new Qb(a,b,c,d))}function jb(a,b,c,d,e,f){P.call(this);this.type="BoxGeometry";this.parameters={width:a,height:b,depth:c,widthSegments:d,heightSegments:e,depthSegments:f};this.fromBufferGeometry(new cb(a,
|
|
|
+b,c,d,e,f));this.mergeVertices()}function Rb(){Ea.call(this,{uniforms:h.UniformsUtils.merge([W.lights,{opacity:{value:1}}]),vertexShader:X.shadow_vert,fragmentShader:X.shadow_frag});this.transparent=this.lights=!0;Object.defineProperties(this,{opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(a){this.uniforms.opacity.value=a}}})}function Sb(a){Ea.call(this,a);this.type="RawShaderMaterial"}function Fc(a){this.uuid=h.Math.generateUUID();this.type="MultiMaterial";
|
|
|
+this.materials=a instanceof Array?a:[];this.visible=!0}function wa(a){T.call(this);this.defines={STANDARD:""};this.type="MeshStandardMaterial";this.color=new M(16777215);this.metalness=this.roughness=.5;this.lightMap=this.map=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new M(0);this.emissiveIntensity=1;this.bumpMap=this.emissiveMap=null;this.bumpScale=1;this.normalMap=null;this.normalScale=new C(1,1);this.displacementMap=null;this.displacementScale=1;this.displacementBias=
|
|
|
+0;this.envMap=this.alphaMap=this.metalnessMap=this.roughnessMap=null;this.envMapIntensity=1;this.refractionRatio=.98;this.wireframe=!1;this.wireframeLinewidth=1;this.wireframeLinejoin=this.wireframeLinecap="round";this.morphNormals=this.morphTargets=this.skinning=!1;this.setValues(a)}function kb(a){wa.call(this);this.defines={PHYSICAL:""};this.type="MeshPhysicalMaterial";this.reflectivity=.5;this.clearCoatRoughness=this.clearCoat=0;this.setValues(a)}function Za(a){T.call(this);this.type="MeshPhongMaterial";
|
|
|
+this.color=new M(16777215);this.specular=new M(1118481);this.shininess=30;this.lightMap=this.map=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new M(0);this.emissiveIntensity=1;this.bumpMap=this.emissiveMap=null;this.bumpScale=1;this.normalMap=null;this.normalScale=new C(1,1);this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.envMap=this.alphaMap=this.specularMap=null;this.combine=0;this.reflectivity=1;this.refractionRatio=.98;this.wireframe=
|
|
|
+!1;this.wireframeLinewidth=1;this.wireframeLinejoin=this.wireframeLinecap="round";this.morphNormals=this.morphTargets=this.skinning=!1;this.setValues(a)}function lb(a){T.call(this,a);this.type="MeshNormalMaterial";this.wireframe=!1;this.wireframeLinewidth=1;this.morphTargets=this.lights=this.fog=!1;this.setValues(a)}function mb(a){T.call(this);this.type="MeshLambertMaterial";this.color=new M(16777215);this.lightMap=this.map=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=
|
|
|
+new M(0);this.emissiveIntensity=1;this.envMap=this.alphaMap=this.specularMap=this.emissiveMap=null;this.combine=0;this.reflectivity=1;this.refractionRatio=.98;this.wireframe=!1;this.wireframeLinewidth=1;this.wireframeLinejoin=this.wireframeLinecap="round";this.morphNormals=this.morphTargets=this.skinning=!1;this.setValues(a)}function nb(a){T.call(this);this.type="LineDashedMaterial";this.color=new M(16777215);this.scale=this.linewidth=1;this.dashSize=3;this.gapSize=1;this.lights=!1;this.setValues(a)}
|
|
|
+function zd(a,b,c){var d=this,e=!1,f=0,g=0;this.onStart=void 0;this.onLoad=a;this.onProgress=b;this.onError=c;this.itemStart=function(a){g++;if(!1===e&&void 0!==d.onStart)d.onStart(a,f,g);e=!0};this.itemEnd=function(a){f++;if(void 0!==d.onProgress)d.onProgress(a,f,g);if(f===g&&(e=!1,void 0!==d.onLoad))d.onLoad()};this.itemError=function(a){if(void 0!==d.onError)d.onError(a)}}function xa(a){this.manager=void 0!==a?a:h.DefaultLoadingManager}function oe(a){this.manager=void 0!==a?a:h.DefaultLoadingManager;
|
|
|
+this._parser=null}function Ad(a){this.manager=void 0!==a?a:h.DefaultLoadingManager;this._parser=null}function Gc(a){this.manager=void 0!==a?a:h.DefaultLoadingManager}function Bd(a){this.manager=void 0!==a?a:h.DefaultLoadingManager}function ad(a){this.manager=void 0!==a?a:h.DefaultLoadingManager}function oa(a,b){z.call(this);this.type="Light";this.color=new M(a);this.intensity=void 0!==b?b:1;this.receiveShadow=void 0}function bd(a,b,c){oa.call(this,a,c);this.type="HemisphereLight";this.castShadow=
|
|
|
+void 0;this.position.copy(z.DefaultUp);this.updateMatrix();this.groundColor=new M(b)}function ob(a){this.camera=a;this.bias=0;this.radius=1;this.mapSize=new C(512,512);this.map=null;this.matrix=new H}function cd(){ob.call(this,new Da(50,1,.5,500))}function dd(a,b,c,d,e,f){oa.call(this,a,b);this.type="SpotLight";this.position.copy(z.DefaultUp);this.updateMatrix();this.target=new z;Object.defineProperty(this,"power",{get:function(){return this.intensity*Math.PI},set:function(a){this.intensity=a/Math.PI}});
|
|
|
+this.distance=void 0!==c?c:0;this.angle=void 0!==d?d:Math.PI/3;this.penumbra=void 0!==e?e:0;this.decay=void 0!==f?f:1;this.shadow=new cd}function ed(a,b,c,d){oa.call(this,a,b);this.type="PointLight";Object.defineProperty(this,"power",{get:function(){return 4*this.intensity*Math.PI},set:function(a){this.intensity=a/(4*Math.PI)}});this.distance=void 0!==c?c:0;this.decay=void 0!==d?d:1;this.shadow=new ob(new Da(90,1,.5,500))}function fd(a){ob.call(this,new Cb(-5,5,5,-5,.5,500))}function gd(a,b){oa.call(this,
|
|
|
+a,b);this.type="DirectionalLight";this.position.copy(z.DefaultUp);this.updateMatrix();this.target=new z;this.shadow=new fd}function hd(a,b){oa.call(this,a,b);this.type="AmbientLight";this.castShadow=void 0}function fa(a,b,c,d){this.parameterPositions=a;this._cachedIndex=0;this.resultBuffer=void 0!==d?d:new b.constructor(c);this.sampleValues=b;this.valueSize=c}function id(a,b,c,d){fa.call(this,a,b,c,d);this._offsetNext=this._weightNext=this._offsetPrev=this._weightPrev=-0}function Hc(a,b,c,d){fa.call(this,
|
|
|
+a,b,c,d)}function jd(a,b,c,d){fa.call(this,a,b,c,d)}function pb(a,b,c,d){if(void 0===a)throw Error("track name is undefined");if(void 0===b||0===b.length)throw Error("no keyframes in track named "+a);this.name=a;this.times=h.AnimationUtils.convertArray(b,this.TimeBufferType);this.values=h.AnimationUtils.convertArray(c,this.ValueBufferType);this.setInterpolation(d||this.DefaultInterpolation);this.validate();this.optimize()}function Tb(a,b,c,d){pb.call(this,a,b,c,d)}function kd(a,b,c,d){fa.call(this,
|
|
|
+a,b,c,d)}function Ic(a,b,c,d){pb.call(this,a,b,c,d)}function Ub(a,b,c,d){pb.call(this,a,b,c,d)}function ld(a,b,c,d){pb.call(this,a,b,c,d)}function md(a,b,c){pb.call(this,a,b,c)}function nd(a,b,c,d){pb.call(this,a,b,c,d)}function qb(a,b,c,d){pb.apply(this,arguments)}function ua(a,b,c){this.name=a;this.tracks=c;this.duration=void 0!==b?b:-1;this.uuid=h.Math.generateUUID();0>this.duration&&this.resetDuration();this.optimize()}function od(a){this.manager=void 0!==a?a:h.DefaultLoadingManager;this.textures=
|
|
|
+{}}function Cd(a){this.manager=void 0!==a?a:h.DefaultLoadingManager}function rb(){this.onLoadStart=function(){};this.onLoadProgress=function(){};this.onLoadComplete=function(){}}function Dd(a){"boolean"===typeof a&&(console.warn("THREE.JSONLoader: showStatus parameter has been removed from constructor."),a=void 0);this.manager=void 0!==a?a:h.DefaultLoadingManager;this.withCredentials=!1}function pe(a){this.manager=void 0!==a?a:h.DefaultLoadingManager;this.texturePath=""}function aa(){}function Ka(a,
|
|
|
+b){this.v1=a;this.v2=b}function Jc(){this.curves=[];this.autoClose=!1}function Oa(a,b,c,d,e,f,g,k){this.aX=a;this.aY=b;this.xRadius=c;this.yRadius=d;this.aStartAngle=e;this.aEndAngle=f;this.aClockwise=g;this.aRotation=k||0}function sb(a){this.points=void 0===a?[]:a}function tb(a,b,c,d){this.v0=a;this.v1=b;this.v2=c;this.v3=d}function ub(a,b,c){this.v0=a;this.v1=b;this.v2=c}function vb(){Kc.apply(this,arguments);this.holes=[]}function Kc(a){Jc.call(this);this.currentPoint=new C;a&&this.fromPoints(a)}
|
|
|
+function Ed(){this.subPaths=[];this.currentPath=null}function Fd(a){this.data=a}function qe(a){this.manager=void 0!==a?a:h.DefaultLoadingManager}function Gd(){void 0===Hd&&(Hd=new (window.AudioContext||window.webkitAudioContext));return Hd}function Id(a){this.manager=void 0!==a?a:h.DefaultLoadingManager}function re(){this.type="StereoCamera";this.aspect=1;this.eyeSep=.064;this.cameraL=new Da;this.cameraL.layers.enable(1);this.cameraL.matrixAutoUpdate=!1;this.cameraR=new Da;this.cameraR.layers.enable(2);
|
|
|
+this.cameraR.matrixAutoUpdate=!1}function pd(a,b,c){z.call(this);this.type="CubeCamera";var d=new Da(90,1,a,b);d.up.set(0,-1,0);d.lookAt(new q(1,0,0));this.add(d);var e=new Da(90,1,a,b);e.up.set(0,-1,0);e.lookAt(new q(-1,0,0));this.add(e);var f=new Da(90,1,a,b);f.up.set(0,0,1);f.lookAt(new q(0,1,0));this.add(f);var g=new Da(90,1,a,b);g.up.set(0,0,-1);g.lookAt(new q(0,-1,0));this.add(g);var k=new Da(90,1,a,b);k.up.set(0,-1,0);k.lookAt(new q(0,0,1));this.add(k);var l=new Da(90,1,a,b);l.up.set(0,-1,
|
|
|
+0);l.lookAt(new q(0,0,-1));this.add(l);this.renderTarget=new zb(c,c,{format:1022,magFilter:1006,minFilter:1006});this.updateCubeMap=function(a,b){null===this.parent&&this.updateMatrixWorld();var c=this.renderTarget,h=c.texture.generateMipmaps;c.texture.generateMipmaps=!1;c.activeCubeFace=0;a.render(b,d,c);c.activeCubeFace=1;a.render(b,e,c);c.activeCubeFace=2;a.render(b,f,c);c.activeCubeFace=3;a.render(b,g,c);c.activeCubeFace=4;a.render(b,k,c);c.texture.generateMipmaps=h;c.activeCubeFace=5;a.render(b,
|
|
|
+l,c);a.setRenderTarget(null)}}function Jd(){z.call(this);this.type="AudioListener";this.context=Gd();this.gain=this.context.createGain();this.gain.connect(this.context.destination);this.filter=null}function Vb(a){z.call(this);this.type="Audio";this.context=a.context;this.source=this.context.createBufferSource();this.source.onended=this.onEnded.bind(this);this.gain=this.context.createGain();this.gain.connect(a.getInput());this.autoplay=!1;this.startTime=0;this.playbackRate=1;this.isPlaying=!1;this.hasPlaybackControl=
|
|
|
+!0;this.sourceType="empty";this.filters=[]}function Kd(a){Vb.call(this,a);this.panner=this.context.createPanner();this.panner.connect(this.gain)}function Ld(a,b){this.analyser=a.context.createAnalyser();this.analyser.fftSize=void 0!==b?b:2048;this.data=new Uint8Array(this.analyser.frequencyBinCount);a.getOutput().connect(this.analyser)}function qd(a,b,c){this.binding=a;this.valueSize=c;a=Float64Array;switch(b){case "quaternion":b=this._slerp;break;case "string":case "bool":a=Array;b=this._select;
|
|
|
+break;default:b=this._lerp}this.buffer=new a(4*c);this._mixBufferRegion=b;this.referenceCount=this.useCount=this.cumulativeWeight=0}function ga(a,b,c){this.path=b;this.parsedPath=c||ga.parseTrackName(b);this.node=ga.findNode(a,this.parsedPath.nodeName)||a;this.rootNode=a}function Md(a){this.uuid=h.Math.generateUUID();this._objects=Array.prototype.slice.call(arguments);this.nCachedObjects_=0;var b={};this._indicesByUUID=b;for(var c=0,d=arguments.length;c!==d;++c)b[arguments[c].uuid]=c;this._paths=
|
|
|
+[];this._parsedPaths=[];this._bindings=[];this._bindingsIndicesByPath={};var e=this;this.stats={objects:{get total(){return e._objects.length},get inUse(){return this.total-e.nCachedObjects_}},get bindingsPerObject(){return e._bindings.length}}}function Nd(a,b,c){this._mixer=a;this._clip=b;this._localRoot=c||null;a=b.tracks;b=a.length;c=Array(b);for(var d={endingStart:2400,endingEnd:2400},e=0;e!==b;++e){var f=a[e].createInterpolant(null);c[e]=f;f.settings=d}this._interpolantSettings=d;this._interpolants=
|
|
|
+c;this._propertyBindings=Array(b);this._weightInterpolant=this._timeScaleInterpolant=this._byClipCacheIndex=this._cacheIndex=null;this.loop=2201;this._loopCount=-1;this._startTime=null;this.time=0;this._effectiveWeight=this.weight=this._effectiveTimeScale=this.timeScale=1;this.repetitions=Infinity;this.paused=!1;this.enabled=!0;this.clampWhenFinished=!1;this.zeroSlopeAtEnd=this.zeroSlopeAtStart=!0}function Od(a){this._root=a;this._initMemoryManager();this.time=this._accuIndex=0;this.timeScale=1}function se(a,
|
|
|
+b){"string"===typeof a&&(console.warn("THREE.Uniform: Type parameter is no longer needed."),a=b);this.value=a}function wb(){J.call(this);this.type="InstancedBufferGeometry";this.maxInstancedCount=void 0}function Pd(a,b,c,d){this.uuid=h.Math.generateUUID();this.data=a;this.itemSize=b;this.offset=c;this.normalized=!0===d}function Wb(a,b){this.uuid=h.Math.generateUUID();this.array=a;this.stride=b;this.count=void 0!==a?a.length/b:0;this.dynamic=!1;this.updateRange={offset:0,count:-1};this.version=0}function Xb(a,
|
|
|
+b,c){Wb.call(this,a,b);this.meshPerAttribute=c||1}function Yb(a,b,c){B.call(this,a,b);this.meshPerAttribute=c||1}function Qd(a,b,c,d){this.ray=new Va(a,b);this.near=c||0;this.far=d||Infinity;this.params={Mesh:{},Line:{},LOD:{},Points:{threshold:1},Sprite:{}};Object.defineProperties(this.params,{PointCloud:{get:function(){console.warn("THREE.Raycaster: params.PointCloud has been renamed to params.Points.");return this.Points}}})}function te(a,b){return a.distance-b.distance}function Rd(a,b,c,d){if(!1!==
|
|
|
+a.visible&&(a.raycast(b,c),!0===d)){a=a.children;d=0;for(var e=a.length;d<e;d++)Rd(a[d],b,c,!0)}}function Sd(a){this.autoStart=void 0!==a?a:!0;this.elapsedTime=this.oldTime=this.startTime=0;this.running=!1}function Td(a,b,c){this.radius=void 0!==a?a:1;this.phi=void 0!==b?b:0;this.theta=void 0!==c?c:0;return this}function ma(a,b){va.call(this,a,b);this.animationsMap={};this.animationsList=[];var c=this.geometry.morphTargets.length;this.createAnimation("__default",0,c-1,c/1);this.setAnimationWeight("__default",
|
|
|
+1)}function Lc(a){z.call(this);this.material=a;this.render=function(a){}}function Mc(a,b,c,d){this.object=a;this.size=void 0!==b?b:1;a=void 0!==c?c:16711680;d=void 0!==d?d:1;b=0;(c=this.object.geometry)&&c.isGeometry?b=3*c.faces.length:c&&c.isBufferGeometry&&(b=c.attributes.normal.count);c=new J;b=new ia(6*b,3);c.addAttribute("position",b);ka.call(this,c,new na({color:a,linewidth:d}));this.matrixAutoUpdate=!1;this.update()}function Zb(a){z.call(this);this.light=a;this.light.updateMatrixWorld();this.matrix=
|
|
|
+a.matrixWorld;this.matrixAutoUpdate=!1;a=new J;for(var b=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1],c=0,d=1;32>c;c++,d++){var e=c/32*Math.PI*2,f=d/32*Math.PI*2;b.push(Math.cos(e),Math.sin(e),1,Math.cos(f),Math.sin(f),1)}a.addAttribute("position",new ia(b,3));b=new na({fog:!1});this.cone=new ka(a,b);this.add(this.cone);this.update()}function $b(a){this.bones=this.getBoneList(a);for(var b=new P,c=0;c<this.bones.length;c++){var d=this.bones[c];d.parent&&d.parent.isBone&&(b.vertices.push(new q),
|
|
|
+b.vertices.push(new q),b.colors.push(new M(0,0,1)),b.colors.push(new M(0,1,0)))}b.dynamic=!0;c=new na({vertexColors:2,depthTest:!1,depthWrite:!1,transparent:!0});ka.call(this,b,c);this.root=a;this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;this.update()}function ac(a,b){this.light=a;this.light.updateMatrixWorld();var c=new hb(b,4,2),d=new Ia({wireframe:!0,fog:!1});d.color.copy(this.light.color).multiplyScalar(this.light.intensity);va.call(this,c,d);this.matrix=this.light.matrixWorld;this.matrixAutoUpdate=
|
|
|
+!1}function bc(a,b){z.call(this);this.light=a;this.light.updateMatrixWorld();this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;this.colors=[new M,new M];var c=new Mb(b,4,2);c.rotateX(-Math.PI/2);for(var d=0;8>d;d++)c.faces[d].color=this.colors[4>d?0:1];d=new Ia({vertexColors:1,wireframe:!0});this.lightSphere=new va(c,d);this.add(this.lightSphere);this.update()}function Nc(a,b,c,d){b=b||1;c=new M(void 0!==c?c:4473924);d=new M(void 0!==d?d:8947848);for(var e=b/2,f=2*a/b,g=[],k=[],l=0,h=0,r=-a;l<=b;l++,
|
|
|
+r+=f){g.push(-a,0,r,a,0,r);g.push(r,0,-a,r,0,a);var p=l===e?c:d;p.toArray(k,h);h+=3;p.toArray(k,h);h+=3;p.toArray(k,h);h+=3;p.toArray(k,h);h+=3}a=new J;a.addAttribute("position",new ia(g,3));a.addAttribute("color",new ia(k,3));g=new na({vertexColors:2});ka.call(this,a,g)}function Oc(a,b,c,d){this.object=a;this.size=void 0!==b?b:1;a=void 0!==c?c:16776960;d=void 0!==d?d:1;b=0;(c=this.object.geometry)&&c.isGeometry?b=c.faces.length:console.warn("THREE.FaceNormalsHelper: only THREE.Geometry is supported. Use THREE.VertexNormalsHelper, instead.");
|
|
|
+c=new J;b=new ia(6*b,3);c.addAttribute("position",b);ka.call(this,c,new na({color:a,linewidth:d}));this.matrixAutoUpdate=!1;this.update()}function cc(a,b){z.call(this);this.light=a;this.light.updateMatrixWorld();this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;void 0===b&&(b=1);var c=new J;c.addAttribute("position",new ia([-b,b,0,b,b,0,b,-b,0,-b,-b,0,-b,b,0],3));var d=new na({fog:!1});this.add(new Na(c,d));c=new J;c.addAttribute("position",new ia([0,0,0,0,0,1],3));this.add(new Na(c,d));this.update()}
|
|
|
+function Pc(a){function b(a,b,d){c(a,d);c(b,d)}function c(a,b){d.vertices.push(new q);d.colors.push(new M(b));void 0===f[a]&&(f[a]=[]);f[a].push(d.vertices.length-1)}var d=new P,e=new na({color:16777215,vertexColors:1}),f={};b("n1","n2",16755200);b("n2","n4",16755200);b("n4","n3",16755200);b("n3","n1",16755200);b("f1","f2",16755200);b("f2","f4",16755200);b("f4","f3",16755200);b("f3","f1",16755200);b("n1","f1",16755200);b("n2","f2",16755200);b("n3","f3",16755200);b("n4","f4",16755200);b("p","n1",16711680);
|
|
|
+b("p","n2",16711680);b("p","n3",16711680);b("p","n4",16711680);b("u1","u2",43775);b("u2","u3",43775);b("u3","u1",43775);b("c","t",16777215);b("p","c",3355443);b("cn1","cn2",3355443);b("cn3","cn4",3355443);b("cf1","cf2",3355443);b("cf3","cf4",3355443);ka.call(this,d,e);this.camera=a;this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix();this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;this.pointMap=f;this.update()}function Qc(a,b){var c=void 0!==b?b:8947848;this.object=a;this.box=
|
|
|
+new Ha;va.call(this,new jb(1,1,1),new Ia({color:c,wireframe:!0}))}function Rc(a,b){void 0===b&&(b=16776960);var c=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),d=new Float32Array(24),e=new J;e.setIndex(new B(c,1));e.addAttribute("position",new B(d,3));ka.call(this,e,new na({color:b}));void 0!==a&&this.update(a)}function xb(a,b,c,d,e,f){z.call(this);void 0===d&&(d=16776960);void 0===c&&(c=1);void 0===e&&(e=.2*c);void 0===f&&(f=.2*e);this.position.copy(b);this.line=new Na(ue,new na({color:d}));
|
|
|
+this.line.matrixAutoUpdate=!1;this.add(this.line);this.cone=new va(ve,new Ia({color:d}));this.cone.matrixAutoUpdate=!1;this.add(this.cone);this.setDirection(a);this.setLength(c,e,f)}function rd(a){a=a||1;var b=new Float32Array([0,0,0,a,0,0,0,0,0,0,a,0,0,0,0,0,0,a]),c=new Float32Array([1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1]);a=new J;a.addAttribute("position",new B(b,3));a.addAttribute("color",new B(c,3));b=new na({vertexColors:2});ka.call(this,a,b)}function we(a){console.warn("THREE.ClosedSplineCurve3 has been deprecated. Please use THREE.CatmullRomCurve3.");
|
|
|
+h.CatmullRomCurve3.call(this,a);this.type="catmullrom";this.closed=!0}function sd(a,b,c,d,e,f){Oa.call(this,a,b,c,c,d,e,f)}void 0===Number.EPSILON&&(Number.EPSILON=Math.pow(2,-52));void 0===Math.sign&&(Math.sign=function(a){return 0>a?-1:0<a?1:+a});void 0===Function.prototype.name&&Object.defineProperty(Function.prototype,"name",{get:function(){return this.toString().match(/^\s*function\s*(\S*)\s*\(/)[1]}});void 0===Object.assign&&function(){Object.assign=function(a){if(void 0===a||null===a)throw new TypeError("Cannot convert undefined or null to object");
|
|
|
for(var b=Object(a),c=1;c<arguments.length;c++){var d=arguments[c];if(void 0!==d&&null!==d)for(var e in d)Object.prototype.hasOwnProperty.call(d,e)&&(b[e]=d[e])}return b}}();Object.assign(qa.prototype,{addEventListener:function(a,b){void 0===this._listeners&&(this._listeners={});var c=this._listeners;void 0===c[a]&&(c[a]=[]);-1===c[a].indexOf(b)&&c[a].push(b)},hasEventListener:function(a,b){if(void 0===this._listeners)return!1;var c=this._listeners;return void 0!==c[a]&&-1!==c[a].indexOf(b)?!0:!1},
|
|
|
removeEventListener:function(a,b){if(void 0!==this._listeners){var c=this._listeners[a];if(void 0!==c){var d=c.indexOf(b);-1!==d&&c.splice(d,1)}}},dispatchEvent:function(a){if(void 0!==this._listeners){var b=this._listeners[a.type];if(void 0!==b){a.target=this;var c=[],d,e=b.length;for(d=0;d<e;d++)c[d]=b[d];for(d=0;d<e;d++)c[d].call(this,a)}}}});var xe={NoBlending:0,NormalBlending:1,AdditiveBlending:2,SubtractiveBlending:3,MultiplyBlending:4,CustomBlending:5},ye={UVMapping:300,CubeReflectionMapping:301,
|
|
|
CubeRefractionMapping:302,EquirectangularReflectionMapping:303,EquirectangularRefractionMapping:304,SphericalReflectionMapping:305,CubeUVReflectionMapping:306,CubeUVRefractionMapping:307},Ud={RepeatWrapping:1E3,ClampToEdgeWrapping:1001,MirroredRepeatWrapping:1002},Vd={NearestFilter:1003,NearestMipMapNearestFilter:1004,NearestMipMapLinearFilter:1005,LinearFilter:1006,LinearMipMapNearestFilter:1007,LinearMipMapLinearFilter:1008};h.Math={DEG2RAD:Math.PI/180,RAD2DEG:180/Math.PI,generateUUID:function(){var a=
|
|
@@ -285,8 +283,8 @@ return this},setZ:function(a){this.z=a;return this},setW:function(a){this.w=a;re
|
|
|
this.y,this.z,this.w)},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;this.w=void 0!==a.w?a.w:1;return this},add:function(a,b){if(void 0!==b)return console.warn("THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(a,b);this.x+=a.x;this.y+=a.y;this.z+=a.z;this.w+=a.w;return this},addScalar:function(a){this.x+=a;this.y+=a;this.z+=a;this.w+=a;return this},addVectors:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;this.z=a.z+b.z;this.w=a.w+b.w;return this},
|
|
|
addScaledVector:function(a,b){this.x+=a.x*b;this.y+=a.y*b;this.z+=a.z*b;this.w+=a.w*b;return this},sub:function(a,b){if(void 0!==b)return console.warn("THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(a,b);this.x-=a.x;this.y-=a.y;this.z-=a.z;this.w-=a.w;return this},subScalar:function(a){this.x-=a;this.y-=a;this.z-=a;this.w-=a;return this},subVectors:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;this.z=a.z-b.z;this.w=a.w-b.w;return this},multiplyScalar:function(a){isFinite(a)?
|
|
|
(this.x*=a,this.y*=a,this.z*=a,this.w*=a):this.w=this.z=this.y=this.x=0;return this},applyMatrix4:function(a){var b=this.x,c=this.y,d=this.z,e=this.w;a=a.elements;this.x=a[0]*b+a[4]*c+a[8]*d+a[12]*e;this.y=a[1]*b+a[5]*c+a[9]*d+a[13]*e;this.z=a[2]*b+a[6]*c+a[10]*d+a[14]*e;this.w=a[3]*b+a[7]*c+a[11]*d+a[15]*e;return this},divideScalar:function(a){return this.multiplyScalar(1/a)},setAxisAngleFromQuaternion:function(a){this.w=2*Math.acos(a.w);var b=Math.sqrt(1-a.w*a.w);1E-4>b?(this.x=1,this.z=this.y=
|
|
|
-0):(this.x=a.x/b,this.y=a.y/b,this.z=a.z/b);return this},setAxisAngleFromRotationMatrix:function(a){var b,c,d;a=a.elements;var e=a[0];d=a[4];var f=a[8],g=a[1],k=a[5],l=a[9];c=a[2];b=a[6];var m=a[10];if(.01>Math.abs(d-g)&&.01>Math.abs(f-c)&&.01>Math.abs(l-b)){if(.1>Math.abs(d+g)&&.1>Math.abs(f+c)&&.1>Math.abs(l+b)&&.1>Math.abs(e+k+m-3))return this.set(1,0,0,0),this;a=Math.PI;e=(e+1)/2;k=(k+1)/2;m=(m+1)/2;d=(d+g)/4;f=(f+c)/4;l=(l+b)/4;e>k&&e>m?.01>e?(b=0,d=c=.707106781):(b=Math.sqrt(e),c=d/b,d=f/b):
|
|
|
-k>m?.01>k?(b=.707106781,c=0,d=.707106781):(c=Math.sqrt(k),b=d/c,d=l/c):.01>m?(c=b=.707106781,d=0):(d=Math.sqrt(m),b=f/d,c=l/d);this.set(b,c,d,a);return this}a=Math.sqrt((b-l)*(b-l)+(f-c)*(f-c)+(g-d)*(g-d));.001>Math.abs(a)&&(a=1);this.x=(b-l)/a;this.y=(f-c)/a;this.z=(g-d)/a;this.w=Math.acos((e+k+m-1)/2);return this},min:function(a){this.x=Math.min(this.x,a.x);this.y=Math.min(this.y,a.y);this.z=Math.min(this.z,a.z);this.w=Math.min(this.w,a.w);return this},max:function(a){this.x=Math.max(this.x,a.x);
|
|
|
+0):(this.x=a.x/b,this.y=a.y/b,this.z=a.z/b);return this},setAxisAngleFromRotationMatrix:function(a){var b,c,d;a=a.elements;var e=a[0];d=a[4];var f=a[8],g=a[1],k=a[5],l=a[9];c=a[2];b=a[6];var h=a[10];if(.01>Math.abs(d-g)&&.01>Math.abs(f-c)&&.01>Math.abs(l-b)){if(.1>Math.abs(d+g)&&.1>Math.abs(f+c)&&.1>Math.abs(l+b)&&.1>Math.abs(e+k+h-3))return this.set(1,0,0,0),this;a=Math.PI;e=(e+1)/2;k=(k+1)/2;h=(h+1)/2;d=(d+g)/4;f=(f+c)/4;l=(l+b)/4;e>k&&e>h?.01>e?(b=0,d=c=.707106781):(b=Math.sqrt(e),c=d/b,d=f/b):
|
|
|
+k>h?.01>k?(b=.707106781,c=0,d=.707106781):(c=Math.sqrt(k),b=d/c,d=l/c):.01>h?(c=b=.707106781,d=0):(d=Math.sqrt(h),b=f/d,c=l/d);this.set(b,c,d,a);return this}a=Math.sqrt((b-l)*(b-l)+(f-c)*(f-c)+(g-d)*(g-d));.001>Math.abs(a)&&(a=1);this.x=(b-l)/a;this.y=(f-c)/a;this.z=(g-d)/a;this.w=Math.acos((e+k+h-1)/2);return this},min:function(a){this.x=Math.min(this.x,a.x);this.y=Math.min(this.y,a.y);this.z=Math.min(this.z,a.z);this.w=Math.min(this.w,a.w);return this},max:function(a){this.x=Math.max(this.x,a.x);
|
|
|
this.y=Math.max(this.y,a.y);this.z=Math.max(this.z,a.z);this.w=Math.max(this.w,a.w);return this},clamp:function(a,b){this.x=Math.max(a.x,Math.min(b.x,this.x));this.y=Math.max(a.y,Math.min(b.y,this.y));this.z=Math.max(a.z,Math.min(b.z,this.z));this.w=Math.max(a.w,Math.min(b.w,this.w));return this},clampScalar:function(){var a,b;return function(c,d){void 0===a&&(a=new ha,b=new ha);a.set(c,c,c,c);b.set(d,d,d,d);return this.clamp(a,b)}}(),floor:function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);
|
|
|
this.z=Math.floor(this.z);this.w=Math.floor(this.w);return this},ceil:function(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);this.z=Math.ceil(this.z);this.w=Math.ceil(this.w);return this},round:function(){this.x=Math.round(this.x);this.y=Math.round(this.y);this.z=Math.round(this.z);this.w=Math.round(this.w);return this},roundToZero:function(){this.x=0>this.x?Math.ceil(this.x):Math.floor(this.x);this.y=0>this.y?Math.ceil(this.y):Math.floor(this.y);this.z=0>this.z?Math.ceil(this.z):Math.floor(this.z);
|
|
|
this.w=0>this.w?Math.ceil(this.w):Math.floor(this.w);return this},negate:function(){this.x=-this.x;this.y=-this.y;this.z=-this.z;this.w=-this.w;return this},dot:function(a){return this.x*a.x+this.y*a.y+this.z*a.z+this.w*a.w},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},lengthManhattan:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)},
|
|
@@ -296,19 +294,19 @@ a[b+3];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);a
|
|
|
set x(a){this._x=a;this.onChangeCallback()},get y(){return this._y},set y(a){this._y=a;this.onChangeCallback()},get z(){return this._z},set z(a){this._z=a;this.onChangeCallback()},get w(){return this._w},set w(a){this._w=a;this.onChangeCallback()},set:function(a,b,c,d){this._x=a;this._y=b;this._z=c;this._w=d;this.onChangeCallback();return this},clone:function(){return new this.constructor(this._x,this._y,this._z,this._w)},copy:function(a){this._x=a.x;this._y=a.y;this._z=a.z;this._w=a.w;this.onChangeCallback();
|
|
|
return this},setFromEuler:function(a,b){if(!1===(a&&a.isEuler))throw Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");var c=Math.cos(a._x/2),d=Math.cos(a._y/2),e=Math.cos(a._z/2),f=Math.sin(a._x/2),g=Math.sin(a._y/2),k=Math.sin(a._z/2),l=a.order;"XYZ"===l?(this._x=f*d*e+c*g*k,this._y=c*g*e-f*d*k,this._z=c*d*k+f*g*e,this._w=c*d*e-f*g*k):"YXZ"===l?(this._x=f*d*e+c*g*k,this._y=c*g*e-f*d*k,this._z=c*d*k-f*g*e,this._w=c*d*e+f*g*k):"ZXY"===l?(this._x=
|
|
|
f*d*e-c*g*k,this._y=c*g*e+f*d*k,this._z=c*d*k+f*g*e,this._w=c*d*e-f*g*k):"ZYX"===l?(this._x=f*d*e-c*g*k,this._y=c*g*e+f*d*k,this._z=c*d*k-f*g*e,this._w=c*d*e+f*g*k):"YZX"===l?(this._x=f*d*e+c*g*k,this._y=c*g*e+f*d*k,this._z=c*d*k-f*g*e,this._w=c*d*e-f*g*k):"XZY"===l&&(this._x=f*d*e-c*g*k,this._y=c*g*e-f*d*k,this._z=c*d*k+f*g*e,this._w=c*d*e+f*g*k);if(!1!==b)this.onChangeCallback();return this},setFromAxisAngle:function(a,b){var c=b/2,d=Math.sin(c);this._x=a.x*d;this._y=a.y*d;this._z=a.z*d;this._w=
|
|
|
-Math.cos(c);this.onChangeCallback();return this},setFromRotationMatrix:function(a){var b=a.elements,c=b[0];a=b[4];var d=b[8],e=b[1],f=b[5],g=b[9],k=b[2],l=b[6],b=b[10],m=c+f+b;0<m?(c=.5/Math.sqrt(m+1),this._w=.25/c,this._x=(l-g)*c,this._y=(d-k)*c,this._z=(e-a)*c):c>f&&c>b?(c=2*Math.sqrt(1+c-f-b),this._w=(l-g)/c,this._x=.25*c,this._y=(a+e)/c,this._z=(d+k)/c):f>b?(c=2*Math.sqrt(1+f-c-b),this._w=(d-k)/c,this._x=(a+e)/c,this._y=.25*c,this._z=(g+l)/c):(c=2*Math.sqrt(1+b-c-f),this._w=(e-a)/c,this._x=(d+
|
|
|
+Math.cos(c);this.onChangeCallback();return this},setFromRotationMatrix:function(a){var b=a.elements,c=b[0];a=b[4];var d=b[8],e=b[1],f=b[5],g=b[9],k=b[2],l=b[6],b=b[10],h=c+f+b;0<h?(c=.5/Math.sqrt(h+1),this._w=.25/c,this._x=(l-g)*c,this._y=(d-k)*c,this._z=(e-a)*c):c>f&&c>b?(c=2*Math.sqrt(1+c-f-b),this._w=(l-g)/c,this._x=.25*c,this._y=(a+e)/c,this._z=(d+k)/c):f>b?(c=2*Math.sqrt(1+f-c-b),this._w=(d-k)/c,this._x=(a+e)/c,this._y=.25*c,this._z=(g+l)/c):(c=2*Math.sqrt(1+b-c-f),this._w=(e-a)/c,this._x=(d+
|
|
|
k)/c,this._y=(g+l)/c,this._z=.25*c);this.onChangeCallback();return this},setFromUnitVectors:function(){var a,b;return function(c,d){void 0===a&&(a=new q);b=c.dot(d)+1;1E-6>b?(b=0,Math.abs(c.x)>Math.abs(c.z)?a.set(-c.y,c.x,0):a.set(0,-c.z,c.y)):a.crossVectors(c,d);this._x=a.x;this._y=a.y;this._z=a.z;this._w=b;return this.normalize()}}(),inverse:function(){return this.conjugate().normalize()},conjugate:function(){this._x*=-1;this._y*=-1;this._z*=-1;this.onChangeCallback();return this},dot:function(a){return this._x*
|
|
|
a._x+this._y*a._y+this._z*a._z+this._w*a._w},lengthSq:function(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w},length:function(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)},normalize:function(){var a=this.length();0===a?(this._z=this._y=this._x=0,this._w=1):(a=1/a,this._x*=a,this._y*=a,this._z*=a,this._w*=a);this.onChangeCallback();return this},multiply:function(a,b){return void 0!==b?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),
|
|
|
-this.multiplyQuaternions(a,b)):this.multiplyQuaternions(this,a)},premultiply:function(a){return this.multiplyQuaternions(a,this)},multiplyQuaternions:function(a,b){var c=a._x,d=a._y,e=a._z,f=a._w,g=b._x,k=b._y,l=b._z,m=b._w;this._x=c*m+f*g+d*l-e*k;this._y=d*m+f*k+e*g-c*l;this._z=e*m+f*l+c*k-d*g;this._w=f*m-c*g-d*k-e*l;this.onChangeCallback();return this},slerp:function(a,b){if(0===b)return this;if(1===b)return this.copy(a);var c=this._x,d=this._y,e=this._z,f=this._w,g=f*a._w+c*a._x+d*a._y+e*a._z;
|
|
|
+this.multiplyQuaternions(a,b)):this.multiplyQuaternions(this,a)},premultiply:function(a){return this.multiplyQuaternions(a,this)},multiplyQuaternions:function(a,b){var c=a._x,d=a._y,e=a._z,f=a._w,g=b._x,k=b._y,l=b._z,h=b._w;this._x=c*h+f*g+d*l-e*k;this._y=d*h+f*k+e*g-c*l;this._z=e*h+f*l+c*k-d*g;this._w=f*h-c*g-d*k-e*l;this.onChangeCallback();return this},slerp:function(a,b){if(0===b)return this;if(1===b)return this.copy(a);var c=this._x,d=this._y,e=this._z,f=this._w,g=f*a._w+c*a._x+d*a._y+e*a._z;
|
|
|
0>g?(this._w=-a._w,this._x=-a._x,this._y=-a._y,this._z=-a._z,g=-g):this.copy(a);if(1<=g)return this._w=f,this._x=c,this._y=d,this._z=e,this;var k=Math.sqrt(1-g*g);if(.001>Math.abs(k))return this._w=.5*(f+this._w),this._x=.5*(c+this._x),this._y=.5*(d+this._y),this._z=.5*(e+this._z),this;var l=Math.atan2(k,g),g=Math.sin((1-b)*l)/k,k=Math.sin(b*l)/k;this._w=f*g+this._w*k;this._x=c*g+this._x*k;this._y=d*g+this._y*k;this._z=e*g+this._z*k;this.onChangeCallback();return this},equals:function(a){return a._x===
|
|
|
this._x&&a._y===this._y&&a._z===this._z&&a._w===this._w},fromArray:function(a,b){void 0===b&&(b=0);this._x=a[b];this._y=a[b+1];this._z=a[b+2];this._w=a[b+3];this.onChangeCallback();return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);a[b]=this._x;a[b+1]=this._y;a[b+2]=this._z;a[b+3]=this._w;return a},onChange:function(a){this.onChangeCallback=a;return this},onChangeCallback:function(){}};Object.assign(da,{slerp:function(a,b,c,d){return c.copy(a).slerp(b,d)},slerpFlat:function(a,
|
|
|
-b,c,d,e,f,g){var k=c[d+0],l=c[d+1],m=c[d+2];c=c[d+3];d=e[f+0];var h=e[f+1],p=e[f+2];e=e[f+3];if(c!==e||k!==d||l!==h||m!==p){f=1-g;var n=k*d+l*h+m*p+c*e,u=0<=n?1:-1,t=1-n*n;t>Number.EPSILON&&(t=Math.sqrt(t),n=Math.atan2(t,n*u),f=Math.sin(f*n)/t,g=Math.sin(g*n)/t);u*=g;k=k*f+d*u;l=l*f+h*u;m=m*f+p*u;c=c*f+e*u;f===1-g&&(g=1/Math.sqrt(k*k+l*l+m*m+c*c),k*=g,l*=g,m*=g,c*=g)}a[b]=k;a[b+1]=l;a[b+2]=m;a[b+3]=c}});q.prototype={constructor:q,isVector3:!0,set:function(a,b,c){this.x=a;this.y=b;this.z=c;return this},
|
|
|
+b,c,d,e,f,g){var k=c[d+0],l=c[d+1],h=c[d+2];c=c[d+3];d=e[f+0];var r=e[f+1],p=e[f+2];e=e[f+3];if(c!==e||k!==d||l!==r||h!==p){f=1-g;var m=k*d+l*r+h*p+c*e,u=0<=m?1:-1,t=1-m*m;t>Number.EPSILON&&(t=Math.sqrt(t),m=Math.atan2(t,m*u),f=Math.sin(f*m)/t,g=Math.sin(g*m)/t);u*=g;k=k*f+d*u;l=l*f+r*u;h=h*f+p*u;c=c*f+e*u;f===1-g&&(g=1/Math.sqrt(k*k+l*l+h*h+c*c),k*=g,l*=g,h*=g,c*=g)}a[b]=k;a[b+1]=l;a[b+2]=h;a[b+3]=c}});q.prototype={constructor:q,isVector3:!0,set:function(a,b,c){this.x=a;this.y=b;this.z=c;return this},
|
|
|
setScalar:function(a){this.z=this.y=this.x=a;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y=a;return this},setZ:function(a){this.z=a;return this},setComponent:function(a,b){switch(a){case 0:this.x=b;break;case 1:this.y=b;break;case 2:this.z=b;break;default:throw Error("index is out of range: "+a);}return this},getComponent:function(a){switch(a){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw Error("index is out of range: "+a);}},clone:function(){return new this.constructor(this.x,
|
|
|
this.y,this.z)},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;return this},add:function(a,b){if(void 0!==b)return console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(a,b);this.x+=a.x;this.y+=a.y;this.z+=a.z;return this},addScalar:function(a){this.x+=a;this.y+=a;this.z+=a;return this},addVectors:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;this.z=a.z+b.z;return this},addScaledVector:function(a,b){this.x+=a.x*b;this.y+=a.y*b;this.z+=
|
|
|
a.z*b;return this},sub:function(a,b){if(void 0!==b)return console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(a,b);this.x-=a.x;this.y-=a.y;this.z-=a.z;return this},subScalar:function(a){this.x-=a;this.y-=a;this.z-=a;return this},subVectors:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;this.z=a.z-b.z;return this},multiply:function(a,b){if(void 0!==b)return console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),
|
|
|
this.multiplyVectors(a,b);this.x*=a.x;this.y*=a.y;this.z*=a.z;return this},multiplyScalar:function(a){isFinite(a)?(this.x*=a,this.y*=a,this.z*=a):this.z=this.y=this.x=0;return this},multiplyVectors:function(a,b){this.x=a.x*b.x;this.y=a.y*b.y;this.z=a.z*b.z;return this},applyEuler:function(){var a;return function(b){!1===(b&&b.isEuler)&&console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order.");void 0===a&&(a=new da);return this.applyQuaternion(a.setFromEuler(b))}}(),
|
|
|
applyAxisAngle:function(){var a;return function(b,c){void 0===a&&(a=new da);return this.applyQuaternion(a.setFromAxisAngle(b,c))}}(),applyMatrix3:function(a){var b=this.x,c=this.y,d=this.z;a=a.elements;this.x=a[0]*b+a[3]*c+a[6]*d;this.y=a[1]*b+a[4]*c+a[7]*d;this.z=a[2]*b+a[5]*c+a[8]*d;return this},applyMatrix4:function(a){var b=this.x,c=this.y,d=this.z;a=a.elements;this.x=a[0]*b+a[4]*c+a[8]*d+a[12];this.y=a[1]*b+a[5]*c+a[9]*d+a[13];this.z=a[2]*b+a[6]*c+a[10]*d+a[14];return this},applyProjection:function(a){var b=
|
|
|
-this.x,c=this.y,d=this.z;a=a.elements;var e=1/(a[3]*b+a[7]*c+a[11]*d+a[15]);this.x=(a[0]*b+a[4]*c+a[8]*d+a[12])*e;this.y=(a[1]*b+a[5]*c+a[9]*d+a[13])*e;this.z=(a[2]*b+a[6]*c+a[10]*d+a[14])*e;return this},applyQuaternion:function(a){var b=this.x,c=this.y,d=this.z,e=a.x,f=a.y,g=a.z;a=a.w;var k=a*b+f*d-g*c,l=a*c+g*b-e*d,m=a*d+e*c-f*b,b=-e*b-f*c-g*d;this.x=k*a+b*-e+l*-g-m*-f;this.y=l*a+b*-f+m*-e-k*-g;this.z=m*a+b*-g+k*-f-l*-e;return this},project:function(){var a;return function(b){void 0===a&&(a=new H);
|
|
|
+this.x,c=this.y,d=this.z;a=a.elements;var e=1/(a[3]*b+a[7]*c+a[11]*d+a[15]);this.x=(a[0]*b+a[4]*c+a[8]*d+a[12])*e;this.y=(a[1]*b+a[5]*c+a[9]*d+a[13])*e;this.z=(a[2]*b+a[6]*c+a[10]*d+a[14])*e;return this},applyQuaternion:function(a){var b=this.x,c=this.y,d=this.z,e=a.x,f=a.y,g=a.z;a=a.w;var k=a*b+f*d-g*c,l=a*c+g*b-e*d,h=a*d+e*c-f*b,b=-e*b-f*c-g*d;this.x=k*a+b*-e+l*-g-h*-f;this.y=l*a+b*-f+h*-e-k*-g;this.z=h*a+b*-g+k*-f-l*-e;return this},project:function(){var a;return function(b){void 0===a&&(a=new H);
|
|
|
a.multiplyMatrices(b.projectionMatrix,a.getInverse(b.matrixWorld));return this.applyProjection(a)}}(),unproject:function(){var a;return function(b){void 0===a&&(a=new H);a.multiplyMatrices(b.matrixWorld,a.getInverse(b.projectionMatrix));return this.applyProjection(a)}}(),transformDirection:function(a){var b=this.x,c=this.y,d=this.z;a=a.elements;this.x=a[0]*b+a[4]*c+a[8]*d;this.y=a[1]*b+a[5]*c+a[9]*d;this.z=a[2]*b+a[6]*c+a[10]*d;return this.normalize()},divide:function(a){this.x/=a.x;this.y/=a.y;this.z/=
|
|
|
a.z;return this},divideScalar:function(a){return this.multiplyScalar(1/a)},min:function(a){this.x=Math.min(this.x,a.x);this.y=Math.min(this.y,a.y);this.z=Math.min(this.z,a.z);return this},max:function(a){this.x=Math.max(this.x,a.x);this.y=Math.max(this.y,a.y);this.z=Math.max(this.z,a.z);return this},clamp:function(a,b){this.x=Math.max(a.x,Math.min(b.x,this.x));this.y=Math.max(a.y,Math.min(b.y,this.y));this.z=Math.max(a.z,Math.min(b.z,this.z));return this},clampScalar:function(){var a,b;return function(c,
|
|
|
d){void 0===a&&(a=new q,b=new q);a.set(c,c,c);b.set(d,d,d);return this.clamp(a,b)}}(),clampLength:function(a,b){var c=this.length();return this.multiplyScalar(Math.max(a,Math.min(b,c))/c)},floor:function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);this.z=Math.floor(this.z);return this},ceil:function(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);this.z=Math.ceil(this.z);return this},round:function(){this.x=Math.round(this.x);this.y=Math.round(this.y);this.z=Math.round(this.z);return this},
|
|
@@ -318,20 +316,20 @@ b);var c=this.x,d=this.y,e=this.z;this.x=d*a.z-e*a.y;this.y=e*a.x-c*a.z;this.z=c
|
|
|
a&&(a=new q);return this.sub(a.copy(b).multiplyScalar(2*this.dot(b)))}}(),angleTo:function(a){a=this.dot(a)/Math.sqrt(this.lengthSq()*a.lengthSq());return Math.acos(h.Math.clamp(a,-1,1))},distanceTo:function(a){return Math.sqrt(this.distanceToSquared(a))},distanceToSquared:function(a){var b=this.x-a.x,c=this.y-a.y;a=this.z-a.z;return b*b+c*c+a*a},distanceToManhattan:function(a){return Math.abs(this.x-a.x)+Math.abs(this.y-a.y)+Math.abs(this.z-a.z)},setFromSpherical:function(a){var b=Math.sin(a.phi)*
|
|
|
a.radius;this.x=b*Math.sin(a.theta);this.y=Math.cos(a.phi)*a.radius;this.z=b*Math.cos(a.theta);return this},setFromMatrixPosition:function(a){return this.setFromMatrixColumn(a,3)},setFromMatrixScale:function(a){var b=this.setFromMatrixColumn(a,0).length(),c=this.setFromMatrixColumn(a,1).length();a=this.setFromMatrixColumn(a,2).length();this.x=b;this.y=c;this.z=a;return this},setFromMatrixColumn:function(a,b){if("number"===typeof a){console.warn("THREE.Vector3: setFromMatrixColumn now expects ( matrix, index ).");
|
|
|
var c=a;a=b;b=c}return this.fromArray(a.elements,4*b)},equals:function(a){return a.x===this.x&&a.y===this.y&&a.z===this.z},fromArray:function(a,b){void 0===b&&(b=0);this.x=a[b];this.y=a[b+1];this.z=a[b+2];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);a[b]=this.x;a[b+1]=this.y;a[b+2]=this.z;return a},fromAttribute:function(a,b,c){void 0===c&&(c=0);b=b*a.itemSize+c;this.x=a.array[b];this.y=a.array[b+1];this.z=a.array[b+2];return this}};H.prototype={constructor:H,isMatrix4:!0,
|
|
|
-set:function(a,b,c,d,e,f,g,k,l,m,h,p,n,u,t,w){var q=this.elements;q[0]=a;q[4]=b;q[8]=c;q[12]=d;q[1]=e;q[5]=f;q[9]=g;q[13]=k;q[2]=l;q[6]=m;q[10]=h;q[14]=p;q[3]=n;q[7]=u;q[11]=t;q[15]=w;return this},identity:function(){this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);return this},clone:function(){return(new H).fromArray(this.elements)},copy:function(a){this.elements.set(a.elements);return this},copyPosition:function(a){var b=this.elements;a=a.elements;b[12]=a[12];b[13]=a[13];b[14]=a[14];return this},extractBasis:function(a,
|
|
|
+set:function(a,b,c,d,e,f,g,k,l,h,r,p,m,u,t,w){var q=this.elements;q[0]=a;q[4]=b;q[8]=c;q[12]=d;q[1]=e;q[5]=f;q[9]=g;q[13]=k;q[2]=l;q[6]=h;q[10]=r;q[14]=p;q[3]=m;q[7]=u;q[11]=t;q[15]=w;return this},identity:function(){this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);return this},clone:function(){return(new H).fromArray(this.elements)},copy:function(a){this.elements.set(a.elements);return this},copyPosition:function(a){var b=this.elements;a=a.elements;b[12]=a[12];b[13]=a[13];b[14]=a[14];return this},extractBasis:function(a,
|
|
|
b,c){a.setFromMatrixColumn(this,0);b.setFromMatrixColumn(this,1);c.setFromMatrixColumn(this,2);return this},makeBasis:function(a,b,c){this.set(a.x,b.x,c.x,0,a.y,b.y,c.y,0,a.z,b.z,c.z,0,0,0,0,1);return this},extractRotation:function(){var a;return function(b){void 0===a&&(a=new q);var c=this.elements,d=b.elements,e=1/a.setFromMatrixColumn(b,0).length(),f=1/a.setFromMatrixColumn(b,1).length();b=1/a.setFromMatrixColumn(b,2).length();c[0]=d[0]*e;c[1]=d[1]*e;c[2]=d[2]*e;c[4]=d[4]*f;c[5]=d[5]*f;c[6]=d[6]*
|
|
|
-f;c[8]=d[8]*b;c[9]=d[9]*b;c[10]=d[10]*b;return this}}(),makeRotationFromEuler:function(a){!1===(a&&a.isEuler)&&console.error("THREE.Matrix: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.");var b=this.elements,c=a.x,d=a.y,e=a.z,f=Math.cos(c),c=Math.sin(c),g=Math.cos(d),d=Math.sin(d),k=Math.cos(e),e=Math.sin(e);if("XYZ"===a.order){a=f*k;var l=f*e,m=c*k,h=c*e;b[0]=g*k;b[4]=-g*e;b[8]=d;b[1]=l+m*d;b[5]=a-h*d;b[9]=-c*g;b[2]=h-a*d;b[6]=m+l*d;b[10]=f*g}else"YXZ"===
|
|
|
-a.order?(a=g*k,l=g*e,m=d*k,h=d*e,b[0]=a+h*c,b[4]=m*c-l,b[8]=f*d,b[1]=f*e,b[5]=f*k,b[9]=-c,b[2]=l*c-m,b[6]=h+a*c,b[10]=f*g):"ZXY"===a.order?(a=g*k,l=g*e,m=d*k,h=d*e,b[0]=a-h*c,b[4]=-f*e,b[8]=m+l*c,b[1]=l+m*c,b[5]=f*k,b[9]=h-a*c,b[2]=-f*d,b[6]=c,b[10]=f*g):"ZYX"===a.order?(a=f*k,l=f*e,m=c*k,h=c*e,b[0]=g*k,b[4]=m*d-l,b[8]=a*d+h,b[1]=g*e,b[5]=h*d+a,b[9]=l*d-m,b[2]=-d,b[6]=c*g,b[10]=f*g):"YZX"===a.order?(a=f*g,l=f*d,m=c*g,h=c*d,b[0]=g*k,b[4]=h-a*e,b[8]=m*e+l,b[1]=e,b[5]=f*k,b[9]=-c*k,b[2]=-d*k,b[6]=l*
|
|
|
-e+m,b[10]=a-h*e):"XZY"===a.order&&(a=f*g,l=f*d,m=c*g,h=c*d,b[0]=g*k,b[4]=-e,b[8]=d*k,b[1]=a*e+h,b[5]=f*k,b[9]=l*e-m,b[2]=m*e-l,b[6]=c*k,b[10]=h*e+a);b[3]=0;b[7]=0;b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=1;return this},makeRotationFromQuaternion:function(a){var b=this.elements,c=a.x,d=a.y,e=a.z,f=a.w,g=c+c,k=d+d,l=e+e;a=c*g;var h=c*k,c=c*l,r=d*k,d=d*l,e=e*l,g=f*g,k=f*k,f=f*l;b[0]=1-(r+e);b[4]=h-f;b[8]=c+k;b[1]=h+f;b[5]=1-(a+e);b[9]=d-g;b[2]=c-k;b[6]=d+g;b[10]=1-(a+r);b[3]=0;b[7]=0;b[11]=0;b[12]=0;b[13]=
|
|
|
+f;c[8]=d[8]*b;c[9]=d[9]*b;c[10]=d[10]*b;return this}}(),makeRotationFromEuler:function(a){!1===(a&&a.isEuler)&&console.error("THREE.Matrix: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.");var b=this.elements,c=a.x,d=a.y,e=a.z,f=Math.cos(c),c=Math.sin(c),g=Math.cos(d),d=Math.sin(d),k=Math.cos(e),e=Math.sin(e);if("XYZ"===a.order){a=f*k;var l=f*e,h=c*k,r=c*e;b[0]=g*k;b[4]=-g*e;b[8]=d;b[1]=l+h*d;b[5]=a-r*d;b[9]=-c*g;b[2]=r-a*d;b[6]=h+l*d;b[10]=f*g}else"YXZ"===
|
|
|
+a.order?(a=g*k,l=g*e,h=d*k,r=d*e,b[0]=a+r*c,b[4]=h*c-l,b[8]=f*d,b[1]=f*e,b[5]=f*k,b[9]=-c,b[2]=l*c-h,b[6]=r+a*c,b[10]=f*g):"ZXY"===a.order?(a=g*k,l=g*e,h=d*k,r=d*e,b[0]=a-r*c,b[4]=-f*e,b[8]=h+l*c,b[1]=l+h*c,b[5]=f*k,b[9]=r-a*c,b[2]=-f*d,b[6]=c,b[10]=f*g):"ZYX"===a.order?(a=f*k,l=f*e,h=c*k,r=c*e,b[0]=g*k,b[4]=h*d-l,b[8]=a*d+r,b[1]=g*e,b[5]=r*d+a,b[9]=l*d-h,b[2]=-d,b[6]=c*g,b[10]=f*g):"YZX"===a.order?(a=f*g,l=f*d,h=c*g,r=c*d,b[0]=g*k,b[4]=r-a*e,b[8]=h*e+l,b[1]=e,b[5]=f*k,b[9]=-c*k,b[2]=-d*k,b[6]=l*
|
|
|
+e+h,b[10]=a-r*e):"XZY"===a.order&&(a=f*g,l=f*d,h=c*g,r=c*d,b[0]=g*k,b[4]=-e,b[8]=d*k,b[1]=a*e+r,b[5]=f*k,b[9]=l*e-h,b[2]=h*e-l,b[6]=c*k,b[10]=r*e+a);b[3]=0;b[7]=0;b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=1;return this},makeRotationFromQuaternion:function(a){var b=this.elements,c=a.x,d=a.y,e=a.z,f=a.w,g=c+c,k=d+d,l=e+e;a=c*g;var h=c*k,c=c*l,r=d*k,d=d*l,e=e*l,g=f*g,k=f*k,f=f*l;b[0]=1-(r+e);b[4]=h-f;b[8]=c+k;b[1]=h+f;b[5]=1-(a+e);b[9]=d-g;b[2]=c-k;b[6]=d+g;b[10]=1-(a+r);b[3]=0;b[7]=0;b[11]=0;b[12]=0;b[13]=
|
|
|
0;b[14]=0;b[15]=1;return this},lookAt:function(){var a,b,c;return function(d,e,f){void 0===a&&(a=new q,b=new q,c=new q);var g=this.elements;c.subVectors(d,e).normalize();0===c.lengthSq()&&(c.z=1);a.crossVectors(f,c).normalize();0===a.lengthSq()&&(c.z+=1E-4,a.crossVectors(f,c).normalize());b.crossVectors(c,a);g[0]=a.x;g[4]=b.x;g[8]=c.x;g[1]=a.y;g[5]=b.y;g[9]=c.y;g[2]=a.z;g[6]=b.z;g[10]=c.z;return this}}(),multiply:function(a,b){return void 0!==b?(console.warn("THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."),
|
|
|
-this.multiplyMatrices(a,b)):this.multiplyMatrices(this,a)},premultiply:function(a){return this.multiplyMatrices(a,this)},multiplyMatrices:function(a,b){var c=a.elements,d=b.elements,e=this.elements,f=c[0],g=c[4],k=c[8],l=c[12],h=c[1],r=c[5],p=c[9],n=c[13],u=c[2],t=c[6],w=c[10],q=c[14],v=c[3],x=c[7],I=c[11],c=c[15],y=d[0],E=d[4],G=d[8],D=d[12],L=d[1],C=d[5],Q=d[9],z=d[13],B=d[2],H=d[6],J=d[10],N=d[14],O=d[3],R=d[7],S=d[11],d=d[15];e[0]=f*y+g*L+k*B+l*O;e[4]=f*E+g*C+k*H+l*R;e[8]=f*G+g*Q+k*J+l*S;e[12]=
|
|
|
-f*D+g*z+k*N+l*d;e[1]=h*y+r*L+p*B+n*O;e[5]=h*E+r*C+p*H+n*R;e[9]=h*G+r*Q+p*J+n*S;e[13]=h*D+r*z+p*N+n*d;e[2]=u*y+t*L+w*B+q*O;e[6]=u*E+t*C+w*H+q*R;e[10]=u*G+t*Q+w*J+q*S;e[14]=u*D+t*z+w*N+q*d;e[3]=v*y+x*L+I*B+c*O;e[7]=v*E+x*C+I*H+c*R;e[11]=v*G+x*Q+I*J+c*S;e[15]=v*D+x*z+I*N+c*d;return this},multiplyToArray:function(a,b,c){var d=this.elements;this.multiplyMatrices(a,b);c[0]=d[0];c[1]=d[1];c[2]=d[2];c[3]=d[3];c[4]=d[4];c[5]=d[5];c[6]=d[6];c[7]=d[7];c[8]=d[8];c[9]=d[9];c[10]=d[10];c[11]=d[11];c[12]=d[12];
|
|
|
+this.multiplyMatrices(a,b)):this.multiplyMatrices(this,a)},premultiply:function(a){return this.multiplyMatrices(a,this)},multiplyMatrices:function(a,b){var c=a.elements,d=b.elements,e=this.elements,f=c[0],g=c[4],k=c[8],l=c[12],h=c[1],r=c[5],p=c[9],m=c[13],u=c[2],t=c[6],w=c[10],q=c[14],v=c[3],x=c[7],I=c[11],c=c[15],y=d[0],E=d[4],G=d[8],D=d[12],L=d[1],C=d[5],Q=d[9],z=d[13],B=d[2],H=d[6],J=d[10],N=d[14],O=d[3],R=d[7],S=d[11],d=d[15];e[0]=f*y+g*L+k*B+l*O;e[4]=f*E+g*C+k*H+l*R;e[8]=f*G+g*Q+k*J+l*S;e[12]=
|
|
|
+f*D+g*z+k*N+l*d;e[1]=h*y+r*L+p*B+m*O;e[5]=h*E+r*C+p*H+m*R;e[9]=h*G+r*Q+p*J+m*S;e[13]=h*D+r*z+p*N+m*d;e[2]=u*y+t*L+w*B+q*O;e[6]=u*E+t*C+w*H+q*R;e[10]=u*G+t*Q+w*J+q*S;e[14]=u*D+t*z+w*N+q*d;e[3]=v*y+x*L+I*B+c*O;e[7]=v*E+x*C+I*H+c*R;e[11]=v*G+x*Q+I*J+c*S;e[15]=v*D+x*z+I*N+c*d;return this},multiplyToArray:function(a,b,c){var d=this.elements;this.multiplyMatrices(a,b);c[0]=d[0];c[1]=d[1];c[2]=d[2];c[3]=d[3];c[4]=d[4];c[5]=d[5];c[6]=d[6];c[7]=d[7];c[8]=d[8];c[9]=d[9];c[10]=d[10];c[11]=d[11];c[12]=d[12];
|
|
|
c[13]=d[13];c[14]=d[14];c[15]=d[15];return this},multiplyScalar:function(a){var b=this.elements;b[0]*=a;b[4]*=a;b[8]*=a;b[12]*=a;b[1]*=a;b[5]*=a;b[9]*=a;b[13]*=a;b[2]*=a;b[6]*=a;b[10]*=a;b[14]*=a;b[3]*=a;b[7]*=a;b[11]*=a;b[15]*=a;return this},applyToVector3Array:function(){var a;return function(b,c,d){void 0===a&&(a=new q);void 0===c&&(c=0);void 0===d&&(d=b.length);for(var e=0;e<d;e+=3,c+=3)a.fromArray(b,c),a.applyMatrix4(this),a.toArray(b,c);return b}}(),applyToBuffer:function(){var a;return function(b,
|
|
|
-c,d){void 0===a&&(a=new q);void 0===c&&(c=0);void 0===d&&(d=b.length/b.itemSize);for(var e=0;e<d;e++,c++)a.x=b.getX(c),a.y=b.getY(c),a.z=b.getZ(c),a.applyMatrix4(this),b.setXYZ(a.x,a.y,a.z);return b}}(),determinant:function(){var a=this.elements,b=a[0],c=a[4],d=a[8],e=a[12],f=a[1],g=a[5],k=a[9],l=a[13],h=a[2],r=a[6],p=a[10],n=a[14];return a[3]*(+e*k*r-d*l*r-e*g*p+c*l*p+d*g*n-c*k*n)+a[7]*(+b*k*n-b*l*p+e*f*p-d*f*n+d*l*h-e*k*h)+a[11]*(+b*l*r-b*g*n-e*f*r+c*f*n+e*g*h-c*l*h)+a[15]*(-d*g*h-b*k*r+b*g*p+d*
|
|
|
+c,d){void 0===a&&(a=new q);void 0===c&&(c=0);void 0===d&&(d=b.length/b.itemSize);for(var e=0;e<d;e++,c++)a.x=b.getX(c),a.y=b.getY(c),a.z=b.getZ(c),a.applyMatrix4(this),b.setXYZ(a.x,a.y,a.z);return b}}(),determinant:function(){var a=this.elements,b=a[0],c=a[4],d=a[8],e=a[12],f=a[1],g=a[5],k=a[9],l=a[13],h=a[2],r=a[6],p=a[10],m=a[14];return a[3]*(+e*k*r-d*l*r-e*g*p+c*l*p+d*g*m-c*k*m)+a[7]*(+b*k*m-b*l*p+e*f*p-d*f*m+d*l*h-e*k*h)+a[11]*(+b*l*r-b*g*m-e*f*r+c*f*m+e*g*h-c*l*h)+a[15]*(-d*g*h-b*k*r+b*g*p+d*
|
|
|
f*r-c*f*p+c*k*h)},transpose:function(){var a=this.elements,b;b=a[1];a[1]=a[4];a[4]=b;b=a[2];a[2]=a[8];a[8]=b;b=a[6];a[6]=a[9];a[9]=b;b=a[3];a[3]=a[12];a[12]=b;b=a[7];a[7]=a[13];a[13]=b;b=a[11];a[11]=a[14];a[14]=b;return this},flattenToArrayOffset:function(a,b){console.warn("THREE.Matrix3: .flattenToArrayOffset is deprecated - just use .toArray instead.");return this.toArray(a,b)},getPosition:function(){var a;return function(){void 0===a&&(a=new q);console.warn("THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead.");
|
|
|
-return a.setFromMatrixColumn(this,3)}}(),setPosition:function(a){var b=this.elements;b[12]=a.x;b[13]=a.y;b[14]=a.z;return this},getInverse:function(a,b){var c=this.elements,d=a.elements,e=d[0],f=d[1],g=d[2],k=d[3],l=d[4],h=d[5],r=d[6],p=d[7],n=d[8],u=d[9],t=d[10],w=d[11],q=d[12],v=d[13],x=d[14],d=d[15],I=u*x*p-v*t*p+v*r*w-h*x*w-u*r*d+h*t*d,y=q*t*p-n*x*p-q*r*w+l*x*w+n*r*d-l*t*d,E=n*v*p-q*u*p+q*h*w-l*v*w-n*h*d+l*u*d,G=q*u*r-n*v*r-q*h*t+l*v*t+n*h*x-l*u*x,D=e*I+f*y+g*E+k*G;if(0===D){if(!0===b)throw Error("THREE.Matrix4.getInverse(): can't invert matrix, determinant is 0");
|
|
|
-console.warn("THREE.Matrix4.getInverse(): can't invert matrix, determinant is 0");return this.identity()}D=1/D;c[0]=I*D;c[1]=(v*t*k-u*x*k-v*g*w+f*x*w+u*g*d-f*t*d)*D;c[2]=(h*x*k-v*r*k+v*g*p-f*x*p-h*g*d+f*r*d)*D;c[3]=(u*r*k-h*t*k-u*g*p+f*t*p+h*g*w-f*r*w)*D;c[4]=y*D;c[5]=(n*x*k-q*t*k+q*g*w-e*x*w-n*g*d+e*t*d)*D;c[6]=(q*r*k-l*x*k-q*g*p+e*x*p+l*g*d-e*r*d)*D;c[7]=(l*t*k-n*r*k+n*g*p-e*t*p-l*g*w+e*r*w)*D;c[8]=E*D;c[9]=(q*u*k-n*v*k-q*f*w+e*v*w+n*f*d-e*u*d)*D;c[10]=(l*v*k-q*h*k+q*f*p-e*v*p-l*f*d+e*h*d)*D;c[11]=
|
|
|
-(n*h*k-l*u*k-n*f*p+e*u*p+l*f*w-e*h*w)*D;c[12]=G*D;c[13]=(n*v*g-q*u*g+q*f*t-e*v*t-n*f*x+e*u*x)*D;c[14]=(q*h*g-l*v*g-q*f*r+e*v*r+l*f*x-e*h*x)*D;c[15]=(l*u*g-n*h*g+n*f*r-e*u*r-l*f*t+e*h*t)*D;return this},scale:function(a){var b=this.elements,c=a.x,d=a.y;a=a.z;b[0]*=c;b[4]*=d;b[8]*=a;b[1]*=c;b[5]*=d;b[9]*=a;b[2]*=c;b[6]*=d;b[10]*=a;b[3]*=c;b[7]*=d;b[11]*=a;return this},getMaxScaleOnAxis:function(){var a=this.elements;return Math.sqrt(Math.max(a[0]*a[0]+a[1]*a[1]+a[2]*a[2],a[4]*a[4]+a[5]*a[5]+a[6]*a[6],
|
|
|
+return a.setFromMatrixColumn(this,3)}}(),setPosition:function(a){var b=this.elements;b[12]=a.x;b[13]=a.y;b[14]=a.z;return this},getInverse:function(a,b){var c=this.elements,d=a.elements,e=d[0],f=d[1],g=d[2],k=d[3],l=d[4],h=d[5],r=d[6],p=d[7],m=d[8],u=d[9],t=d[10],w=d[11],q=d[12],v=d[13],x=d[14],d=d[15],I=u*x*p-v*t*p+v*r*w-h*x*w-u*r*d+h*t*d,y=q*t*p-m*x*p-q*r*w+l*x*w+m*r*d-l*t*d,E=m*v*p-q*u*p+q*h*w-l*v*w-m*h*d+l*u*d,G=q*u*r-m*v*r-q*h*t+l*v*t+m*h*x-l*u*x,D=e*I+f*y+g*E+k*G;if(0===D){if(!0===b)throw Error("THREE.Matrix4.getInverse(): can't invert matrix, determinant is 0");
|
|
|
+console.warn("THREE.Matrix4.getInverse(): can't invert matrix, determinant is 0");return this.identity()}D=1/D;c[0]=I*D;c[1]=(v*t*k-u*x*k-v*g*w+f*x*w+u*g*d-f*t*d)*D;c[2]=(h*x*k-v*r*k+v*g*p-f*x*p-h*g*d+f*r*d)*D;c[3]=(u*r*k-h*t*k-u*g*p+f*t*p+h*g*w-f*r*w)*D;c[4]=y*D;c[5]=(m*x*k-q*t*k+q*g*w-e*x*w-m*g*d+e*t*d)*D;c[6]=(q*r*k-l*x*k-q*g*p+e*x*p+l*g*d-e*r*d)*D;c[7]=(l*t*k-m*r*k+m*g*p-e*t*p-l*g*w+e*r*w)*D;c[8]=E*D;c[9]=(q*u*k-m*v*k-q*f*w+e*v*w+m*f*d-e*u*d)*D;c[10]=(l*v*k-q*h*k+q*f*p-e*v*p-l*f*d+e*h*d)*D;c[11]=
|
|
|
+(m*h*k-l*u*k-m*f*p+e*u*p+l*f*w-e*h*w)*D;c[12]=G*D;c[13]=(m*v*g-q*u*g+q*f*t-e*v*t-m*f*x+e*u*x)*D;c[14]=(q*h*g-l*v*g-q*f*r+e*v*r+l*f*x-e*h*x)*D;c[15]=(l*u*g-m*h*g+m*f*r-e*u*r-l*f*t+e*h*t)*D;return this},scale:function(a){var b=this.elements,c=a.x,d=a.y;a=a.z;b[0]*=c;b[4]*=d;b[8]*=a;b[1]*=c;b[5]*=d;b[9]*=a;b[2]*=c;b[6]*=d;b[10]*=a;b[3]*=c;b[7]*=d;b[11]*=a;return this},getMaxScaleOnAxis:function(){var a=this.elements;return Math.sqrt(Math.max(a[0]*a[0]+a[1]*a[1]+a[2]*a[2],a[4]*a[4]+a[5]*a[5]+a[6]*a[6],
|
|
|
a[8]*a[8]+a[9]*a[9]+a[10]*a[10]))},makeTranslation:function(a,b,c){this.set(1,0,0,a,0,1,0,b,0,0,1,c,0,0,0,1);return this},makeRotationX: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},makeRotationY: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},makeRotationZ: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},makeRotationAxis:function(a,b){var c=
|
|
|
Math.cos(b),d=Math.sin(b),e=1-c,f=a.x,g=a.y,k=a.z,l=e*f,h=e*g;this.set(l*f+c,l*g-d*k,l*k+d*g,0,l*g+d*k,h*g+c,h*k-d*f,0,l*k-d*g,h*k+d*f,e*k*k+c,0,0,0,0,1);return this},makeScale:function(a,b,c){this.set(a,0,0,0,0,b,0,0,0,0,c,0,0,0,0,1);return this},compose:function(a,b,c){this.makeRotationFromQuaternion(b);this.scale(c);this.setPosition(a);return this},decompose:function(){var a,b;return function(c,d,e){void 0===a&&(a=new q,b=new H);var f=this.elements,g=a.set(f[0],f[1],f[2]).length(),k=a.set(f[4],
|
|
|
f[5],f[6]).length(),l=a.set(f[8],f[9],f[10]).length();0>this.determinant()&&(g=-g);c.x=f[12];c.y=f[13];c.z=f[14];b.elements.set(this.elements);c=1/g;var f=1/k,h=1/l;b.elements[0]*=c;b.elements[1]*=c;b.elements[2]*=c;b.elements[4]*=f;b.elements[5]*=f;b.elements[6]*=f;b.elements[8]*=h;b.elements[9]*=h;b.elements[10]*=h;d.setFromRotationMatrix(b);e.x=g;e.y=k;e.z=l;return this}}(),makeFrustum:function(a,b,c,d,e,f){var g=this.elements;g[0]=2*e/(b-a);g[4]=0;g[8]=(b+a)/(b-a);g[12]=0;g[1]=0;g[5]=2*e/(d-c);
|
|
@@ -413,7 +411,7 @@ shadowRadius:{},shadowMapSize:{}}},spotShadowMap:{value:[]},spotShadowMatrix:{va
|
|
|
Bb={basic:{uniforms:h.UniformsUtils.merge([W.common,W.aomap,W.fog]),vertexShader:X.meshbasic_vert,fragmentShader:X.meshbasic_frag},lambert:{uniforms:h.UniformsUtils.merge([W.common,W.aomap,W.lightmap,W.emissivemap,W.fog,W.lights,{emissive:{value:new M(0)}}]),vertexShader:X.meshlambert_vert,fragmentShader:X.meshlambert_frag},phong:{uniforms:h.UniformsUtils.merge([W.common,W.aomap,W.lightmap,W.emissivemap,W.bumpmap,W.normalmap,W.displacementmap,W.fog,W.lights,{emissive:{value:new M(0)},specular:{value:new M(1118481)},
|
|
|
shininess:{value:30}}]),vertexShader:X.meshphong_vert,fragmentShader:X.meshphong_frag},standard:{uniforms:h.UniformsUtils.merge([W.common,W.aomap,W.lightmap,W.emissivemap,W.bumpmap,W.normalmap,W.displacementmap,W.roughnessmap,W.metalnessmap,W.fog,W.lights,{emissive:{value:new M(0)},roughness:{value:.5},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:X.meshphysical_vert,fragmentShader:X.meshphysical_frag},points:{uniforms:h.UniformsUtils.merge([W.points,W.fog]),vertexShader:X.points_vert,
|
|
|
fragmentShader:X.points_frag},dashed:{uniforms:h.UniformsUtils.merge([W.common,W.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:X.linedashed_vert,fragmentShader:X.linedashed_frag},depth:{uniforms:h.UniformsUtils.merge([W.common,W.displacementmap]),vertexShader:X.depth_vert,fragmentShader:X.depth_frag},normal:{uniforms:{opacity:{value:1}},vertexShader:X.normal_vert,fragmentShader:X.normal_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:X.cube_vert,
|
|
|
-fragmentShader:X.cube_frag},equirect:{uniforms:{tEquirect:{value:null},tFlip:{value:-1}},vertexShader:X.equirect_vert,fragmentShader:X.equirect_frag},distanceRGBA:{uniforms:{lightPos:{value:new q}},vertexShader:X.distanceRGBA_vert,fragmentShader:X.distanceRGBA_frag}};Bb.physical={uniforms:h.UniformsUtils.merge([Bb.standard.uniforms,{clearCoat:{value:0},clearCoatRoughness:{value:0}}]),vertexShader:X.meshphysical_vert,fragmentShader:X.meshphysical_frag};ec.prototype={constructor:ec,set:function(a,b){this.min.copy(a);
|
|
|
+fragmentShader:X.cube_frag},equirect:{uniforms:{tEquirect:{value:null},tFlip:{value:-1}},vertexShader:X.equirect_vert,fragmentShader:X.equirect_frag},distanceRGBA:{uniforms:{lightPos:{value:new q}},vertexShader:X.distanceRGBA_vert,fragmentShader:X.distanceRGBA_frag}};Bb.physical={uniforms:h.UniformsUtils.merge([Bb.standard.uniforms,{clearCoat:{value:0},clearCoatRoughness:{value:0}}]),vertexShader:X.meshphysical_vert,fragmentShader:X.meshphysical_frag};dc.prototype={constructor:dc,set:function(a,b){this.min.copy(a);
|
|
|
this.max.copy(b);return this},setFromPoints:function(a){this.makeEmpty();for(var b=0,c=a.length;b<c;b++)this.expandByPoint(a[b]);return this},setFromCenterAndSize:function(){var a=new C;return function(b,c){var d=a.copy(c).multiplyScalar(.5);this.min.copy(b).sub(d);this.max.copy(b).add(d);return this}}(),clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.min.copy(a.min);this.max.copy(a.max);return this},makeEmpty:function(){this.min.x=this.min.y=Infinity;this.max.x=this.max.y=
|
|
|
-Infinity;return this},isEmpty:function(){return this.max.x<this.min.x||this.max.y<this.min.y},getCenter:function(a){a=a||new C;return this.isEmpty()?a.set(0,0):a.addVectors(this.min,this.max).multiplyScalar(.5)},getSize:function(a){a=a||new C;return this.isEmpty()?a.set(0,0):a.subVectors(this.max,this.min)},expandByPoint:function(a){this.min.min(a);this.max.max(a);return this},expandByVector:function(a){this.min.sub(a);this.max.add(a);return this},expandByScalar:function(a){this.min.addScalar(-a);
|
|
|
this.max.addScalar(a);return this},containsPoint:function(a){return a.x<this.min.x||a.x>this.max.x||a.y<this.min.y||a.y>this.max.y?!1:!0},containsBox:function(a){return this.min.x<=a.min.x&&a.max.x<=this.max.x&&this.min.y<=a.min.y&&a.max.y<=this.max.y?!0:!1},getParameter:function(a,b){return(b||new C).set((a.x-this.min.x)/(this.max.x-this.min.x),(a.y-this.min.y)/(this.max.y-this.min.y))},intersectsBox:function(a){return a.max.x<this.min.x||a.min.x>this.max.x||a.max.y<this.min.y||a.min.y>this.max.y?
|
|
@@ -443,29 +441,29 @@ this.radius=a.radius;return this},empty:function(){return 0>=this.radius},contai
|
|
|
clampPoint:function(a,b){var c=this.center.distanceToSquared(a),d=b||new q;d.copy(a);c>this.radius*this.radius&&(d.sub(this.center).normalize(),d.multiplyScalar(this.radius).add(this.center));return d},getBoundingBox:function(a){a=a||new Ha;a.set(this.center,this.center);a.expandByScalar(this.radius);return a},applyMatrix4:function(a){this.center.applyMatrix4(a);this.radius*=a.getMaxScaleOnAxis();return this},translate:function(a){this.center.add(a);return this},equals:function(a){return a.center.equals(this.center)&&
|
|
|
a.radius===this.radius}};za.prototype={constructor:za,isMatrix3:!0,set:function(a,b,c,d,e,f,g,k,l){var h=this.elements;h[0]=a;h[1]=d;h[2]=g;h[3]=b;h[4]=e;h[5]=k;h[6]=c;h[7]=f;h[8]=l;return this},identity:function(){this.set(1,0,0,0,1,0,0,0,1);return this},clone:function(){return(new this.constructor).fromArray(this.elements)},copy:function(a){a=a.elements;this.set(a[0],a[3],a[6],a[1],a[4],a[7],a[2],a[5],a[8]);return this},setFromMatrix4:function(a){a=a.elements;this.set(a[0],a[4],a[8],a[1],a[5],a[9],
|
|
|
a[2],a[6],a[10]);return this},applyToVector3Array:function(){var a;return function(b,c,d){void 0===a&&(a=new q);void 0===c&&(c=0);void 0===d&&(d=b.length);for(var e=0;e<d;e+=3,c+=3)a.fromArray(b,c),a.applyMatrix3(this),a.toArray(b,c);return b}}(),applyToBuffer:function(){var a;return function(b,c,d){void 0===a&&(a=new q);void 0===c&&(c=0);void 0===d&&(d=b.length/b.itemSize);for(var e=0;e<d;e++,c++)a.x=b.getX(c),a.y=b.getY(c),a.z=b.getZ(c),a.applyMatrix3(this),b.setXYZ(a.x,a.y,a.z);return b}}(),multiplyScalar:function(a){var b=
|
|
|
-this.elements;b[0]*=a;b[3]*=a;b[6]*=a;b[1]*=a;b[4]*=a;b[7]*=a;b[2]*=a;b[5]*=a;b[8]*=a;return this},determinant:function(){var a=this.elements,b=a[0],c=a[1],d=a[2],e=a[3],f=a[4],g=a[5],k=a[6],l=a[7],a=a[8];return b*f*a-b*g*l-c*e*a+c*g*k+d*e*l-d*f*k},getInverse:function(a,b){a&&a.isMatrix4&&console.error("THREE.Matrix3.getInverse no longer takes a Matrix4 argument.");var c=a.elements,d=this.elements,e=c[0],f=c[1],g=c[2],k=c[3],l=c[4],h=c[5],r=c[6],p=c[7],c=c[8],n=c*l-h*p,u=h*r-c*k,t=p*k-l*r,q=e*n+f*
|
|
|
-u+g*t;if(0===q){if(!0===b)throw Error("THREE.Matrix3.getInverse(): can't invert matrix, determinant is 0");console.warn("THREE.Matrix3.getInverse(): can't invert matrix, determinant is 0");return this.identity()}q=1/q;d[0]=n*q;d[1]=(g*p-c*f)*q;d[2]=(h*f-g*l)*q;d[3]=u*q;d[4]=(c*e-g*r)*q;d[5]=(g*k-h*e)*q;d[6]=t*q;d[7]=(f*r-p*e)*q;d[8]=(l*e-f*k)*q;return this},transpose:function(){var a,b=this.elements;a=b[1];b[1]=b[3];b[3]=a;a=b[2];b[2]=b[6];b[6]=a;a=b[5];b[5]=b[7];b[7]=a;return this},flattenToArrayOffset:function(a,
|
|
|
+this.elements;b[0]*=a;b[3]*=a;b[6]*=a;b[1]*=a;b[4]*=a;b[7]*=a;b[2]*=a;b[5]*=a;b[8]*=a;return this},determinant:function(){var a=this.elements,b=a[0],c=a[1],d=a[2],e=a[3],f=a[4],g=a[5],k=a[6],l=a[7],a=a[8];return b*f*a-b*g*l-c*e*a+c*g*k+d*e*l-d*f*k},getInverse:function(a,b){a&&a.isMatrix4&&console.error("THREE.Matrix3.getInverse no longer takes a Matrix4 argument.");var c=a.elements,d=this.elements,e=c[0],f=c[1],g=c[2],k=c[3],l=c[4],h=c[5],r=c[6],p=c[7],c=c[8],m=c*l-h*p,u=h*r-c*k,t=p*k-l*r,q=e*m+f*
|
|
|
+u+g*t;if(0===q){if(!0===b)throw Error("THREE.Matrix3.getInverse(): can't invert matrix, determinant is 0");console.warn("THREE.Matrix3.getInverse(): can't invert matrix, determinant is 0");return this.identity()}q=1/q;d[0]=m*q;d[1]=(g*p-c*f)*q;d[2]=(h*f-g*l)*q;d[3]=u*q;d[4]=(c*e-g*r)*q;d[5]=(g*k-h*e)*q;d[6]=t*q;d[7]=(f*r-p*e)*q;d[8]=(l*e-f*k)*q;return this},transpose:function(){var a,b=this.elements;a=b[1];b[1]=b[3];b[3]=a;a=b[2];b[2]=b[6];b[6]=a;a=b[5];b[5]=b[7];b[7]=a;return this},flattenToArrayOffset:function(a,
|
|
|
b){console.warn("THREE.Matrix3: .flattenToArrayOffset is deprecated - just use .toArray instead.");return this.toArray(a,b)},getNormalMatrix:function(a){return this.setFromMatrix4(a).getInverse(this).transpose()},transposeIntoArray:function(a){var b=this.elements;a[0]=b[0];a[1]=b[3];a[2]=b[6];a[3]=b[1];a[4]=b[4];a[5]=b[7];a[6]=b[2];a[7]=b[5];a[8]=b[8];return this},fromArray:function(a,b){void 0===b&&(b=0);for(var c=0;9>c;c++)this.elements[c]=a[c+b];return this},toArray:function(a,b){void 0===a&&(a=
|
|
|
[]);void 0===b&&(b=0);var c=this.elements;a[b]=c[0];a[b+1]=c[1];a[b+2]=c[2];a[b+3]=c[3];a[b+4]=c[4];a[b+5]=c[5];a[b+6]=c[6];a[b+7]=c[7];a[b+8]=c[8];return a}};ta.prototype={constructor:ta,set:function(a,b){this.normal.copy(a);this.constant=b;return this},setComponents:function(a,b,c,d){this.normal.set(a,b,c);this.constant=d;return this},setFromNormalAndCoplanarPoint:function(a,b){this.normal.copy(a);this.constant=-b.dot(this.normal);return this},setFromCoplanarPoints:function(){var a=new q,b=new q;
|
|
|
return function(c,d,e){d=a.subVectors(e,d).cross(b.subVectors(c,d)).normalize();this.setFromNormalAndCoplanarPoint(d,c);return this}}(),clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.normal.copy(a.normal);this.constant=a.constant;return this},normalize:function(){var a=1/this.normal.length();this.normal.multiplyScalar(a);this.constant*=a;return this},negate:function(){this.constant*=-1;this.normal.negate();return this},distanceToPoint:function(a){return this.normal.dot(a)+
|
|
|
this.constant},distanceToSphere:function(a){return this.distanceToPoint(a.center)-a.radius},projectPoint:function(a,b){return this.orthoPoint(a,b).sub(a).negate()},orthoPoint:function(a,b){var c=this.distanceToPoint(a);return(b||new q).copy(this.normal).multiplyScalar(c)},intersectLine:function(){var a=new q;return function(b,c){var d=c||new q,e=b.delta(a),f=this.normal.dot(e);if(0===f){if(0===this.distanceToPoint(b.start))return d.copy(b.start)}else return f=-(b.start.dot(this.normal)+this.constant)/
|
|
|
f,0>f||1<f?void 0:d.copy(e).multiplyScalar(f).add(b.start)}}(),intersectsLine:function(a){var b=this.distanceToPoint(a.start);a=this.distanceToPoint(a.end);return 0>b&&0<a||0>a&&0<b},intersectsBox:function(a){return a.intersectsPlane(this)},intersectsSphere:function(a){return a.intersectsPlane(this)},coplanarPoint:function(a){return(a||new q).copy(this.normal).multiplyScalar(-this.constant)},applyMatrix4:function(){var a=new q,b=new za;return function(c,d){var e=this.coplanarPoint(a).applyMatrix4(c),
|
|
|
-f=d||b.getNormalMatrix(c),f=this.normal.applyMatrix3(f).normalize();this.constant=-e.dot(f);return this}}(),translate:function(a){this.constant-=a.dot(this.normal);return this},equals:function(a){return a.normal.equals(this.normal)&&a.constant===this.constant}};fc.prototype={constructor:fc,set:function(a,b,c,d,e,f){var g=this.planes;g[0].copy(a);g[1].copy(b);g[2].copy(c);g[3].copy(d);g[4].copy(e);g[5].copy(f);return this},clone:function(){return(new this.constructor).copy(this)},copy:function(a){for(var b=
|
|
|
-this.planes,c=0;6>c;c++)b[c].copy(a.planes[c]);return this},setFromMatrix:function(a){var b=this.planes,c=a.elements;a=c[0];var d=c[1],e=c[2],f=c[3],g=c[4],k=c[5],l=c[6],h=c[7],r=c[8],p=c[9],n=c[10],u=c[11],t=c[12],q=c[13],F=c[14],c=c[15];b[0].setComponents(f-a,h-g,u-r,c-t).normalize();b[1].setComponents(f+a,h+g,u+r,c+t).normalize();b[2].setComponents(f+d,h+k,u+p,c+q).normalize();b[3].setComponents(f-d,h-k,u-p,c-q).normalize();b[4].setComponents(f-e,h-l,u-n,c-F).normalize();b[5].setComponents(f+e,
|
|
|
-h+l,u+n,c+F).normalize();return this},intersectsObject:function(){var a=new Ba;return function(b){var c=b.geometry;null===c.boundingSphere&&c.computeBoundingSphere();a.copy(c.boundingSphere).applyMatrix4(b.matrixWorld);return this.intersectsSphere(a)}}(),intersectsSprite:function(){var a=new Ba;return function(b){a.center.set(0,0,0);a.radius=.7071067811865476;a.applyMatrix4(b.matrixWorld);return this.intersectsSphere(a)}}(),intersectsSphere:function(a){var b=this.planes,c=a.center;a=-a.radius;for(var d=
|
|
|
+f=d||b.getNormalMatrix(c),f=this.normal.applyMatrix3(f).normalize();this.constant=-e.dot(f);return this}}(),translate:function(a){this.constant-=a.dot(this.normal);return this},equals:function(a){return a.normal.equals(this.normal)&&a.constant===this.constant}};ec.prototype={constructor:ec,set:function(a,b,c,d,e,f){var g=this.planes;g[0].copy(a);g[1].copy(b);g[2].copy(c);g[3].copy(d);g[4].copy(e);g[5].copy(f);return this},clone:function(){return(new this.constructor).copy(this)},copy:function(a){for(var b=
|
|
|
+this.planes,c=0;6>c;c++)b[c].copy(a.planes[c]);return this},setFromMatrix:function(a){var b=this.planes,c=a.elements;a=c[0];var d=c[1],e=c[2],f=c[3],g=c[4],k=c[5],l=c[6],h=c[7],r=c[8],p=c[9],m=c[10],u=c[11],t=c[12],q=c[13],F=c[14],c=c[15];b[0].setComponents(f-a,h-g,u-r,c-t).normalize();b[1].setComponents(f+a,h+g,u+r,c+t).normalize();b[2].setComponents(f+d,h+k,u+p,c+q).normalize();b[3].setComponents(f-d,h-k,u-p,c-q).normalize();b[4].setComponents(f-e,h-l,u-m,c-F).normalize();b[5].setComponents(f+e,
|
|
|
+h+l,u+m,c+F).normalize();return this},intersectsObject:function(){var a=new Ba;return function(b){var c=b.geometry;null===c.boundingSphere&&c.computeBoundingSphere();a.copy(c.boundingSphere).applyMatrix4(b.matrixWorld);return this.intersectsSphere(a)}}(),intersectsSprite:function(){var a=new Ba;return function(b){a.center.set(0,0,0);a.radius=.7071067811865476;a.applyMatrix4(b.matrixWorld);return this.intersectsSphere(a)}}(),intersectsSphere:function(a){var b=this.planes,c=a.center;a=-a.radius;for(var d=
|
|
|
0;6>d;d++)if(b[d].distanceToPoint(c)<a)return!1;return!0},intersectsBox:function(){var a=new q,b=new q;return function(c){for(var d=this.planes,e=0;6>e;e++){var f=d[e];a.x=0<f.normal.x?c.min.x:c.max.x;b.x=0<f.normal.x?c.max.x:c.min.x;a.y=0<f.normal.y?c.min.y:c.max.y;b.y=0<f.normal.y?c.max.y:c.min.y;a.z=0<f.normal.z?c.min.z:c.max.z;b.z=0<f.normal.z?c.max.z:c.min.z;var g=f.distanceToPoint(a),f=f.distanceToPoint(b);if(0>g&&0>f)return!1}return!0}}(),containsPoint:function(a){for(var b=this.planes,c=0;6>
|
|
|
c;c++)if(0>b[c].distanceToPoint(a))return!1;return!0}};Va.prototype={constructor:Va,set:function(a,b){this.origin.copy(a);this.direction.copy(b);return this},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.origin.copy(a.origin);this.direction.copy(a.direction);return this},at:function(a,b){return(b||new q).copy(this.direction).multiplyScalar(a).add(this.origin)},lookAt:function(a){this.direction.copy(a).sub(this.origin).normalize();return this},recast:function(){var a=
|
|
|
new q;return function(b){this.origin.copy(this.at(b,a));return this}}(),closestPointToPoint:function(a,b){var c=b||new q;c.subVectors(a,this.origin);var d=c.dot(this.direction);return 0>d?c.copy(this.origin):c.copy(this.direction).multiplyScalar(d).add(this.origin)},distanceToPoint:function(a){return Math.sqrt(this.distanceSqToPoint(a))},distanceSqToPoint:function(){var a=new q;return function(b){var c=a.subVectors(b,this.origin).dot(this.direction);if(0>c)return this.origin.distanceToSquared(b);
|
|
|
-a.copy(this.direction).multiplyScalar(c).add(this.origin);return a.distanceToSquared(b)}}(),distanceSqToSegment:function(){var a=new q,b=new q,c=new q;return function(d,e,f,g){a.copy(d).add(e).multiplyScalar(.5);b.copy(e).sub(d).normalize();c.copy(this.origin).sub(a);var k=.5*d.distanceTo(e),l=-this.direction.dot(b),h=c.dot(this.direction),r=-c.dot(b),p=c.lengthSq(),n=Math.abs(1-l*l),u;0<n?(d=l*r-h,e=l*h-r,u=k*n,0<=d?e>=-u?e<=u?(k=1/n,d*=k,e*=k,l=d*(d+l*e+2*h)+e*(l*d+e+2*r)+p):(e=k,d=Math.max(0,-(l*
|
|
|
+a.copy(this.direction).multiplyScalar(c).add(this.origin);return a.distanceToSquared(b)}}(),distanceSqToSegment:function(){var a=new q,b=new q,c=new q;return function(d,e,f,g){a.copy(d).add(e).multiplyScalar(.5);b.copy(e).sub(d).normalize();c.copy(this.origin).sub(a);var k=.5*d.distanceTo(e),l=-this.direction.dot(b),h=c.dot(this.direction),r=-c.dot(b),p=c.lengthSq(),m=Math.abs(1-l*l),u;0<m?(d=l*r-h,e=l*h-r,u=k*m,0<=d?e>=-u?e<=u?(k=1/m,d*=k,e*=k,l=d*(d+l*e+2*h)+e*(l*d+e+2*r)+p):(e=k,d=Math.max(0,-(l*
|
|
|
e+h)),l=-d*d+e*(e+2*r)+p):(e=-k,d=Math.max(0,-(l*e+h)),l=-d*d+e*(e+2*r)+p):e<=-u?(d=Math.max(0,-(-l*k+h)),e=0<d?-k:Math.min(Math.max(-k,-r),k),l=-d*d+e*(e+2*r)+p):e<=u?(d=0,e=Math.min(Math.max(-k,-r),k),l=e*(e+2*r)+p):(d=Math.max(0,-(l*k+h)),e=0<d?k:Math.min(Math.max(-k,-r),k),l=-d*d+e*(e+2*r)+p)):(e=0<l?-k:k,d=Math.max(0,-(l*e+h)),l=-d*d+e*(e+2*r)+p);f&&f.copy(this.direction).multiplyScalar(d).add(this.origin);g&&g.copy(b).multiplyScalar(e).add(a);return l}}(),intersectSphere:function(){var a=new q;
|
|
|
return function(b,c){a.subVectors(b.center,this.origin);var d=a.dot(this.direction),e=a.dot(a)-d*d,f=b.radius*b.radius;if(e>f)return null;f=Math.sqrt(f-e);e=d-f;d+=f;return 0>e&&0>d?null:0>e?this.at(d,c):this.at(e,c)}}(),intersectsSphere:function(a){return this.distanceToPoint(a.center)<=a.radius},distanceToPlane:function(a){var b=a.normal.dot(this.direction);if(0===b)return 0===a.distanceToPoint(this.origin)?0:null;a=-(this.origin.dot(a.normal)+a.constant)/b;return 0<=a?a:null},intersectPlane:function(a,
|
|
|
b){var c=this.distanceToPlane(a);return null===c?null:this.at(c,b)},intersectsPlane:function(a){var b=a.distanceToPoint(this.origin);return 0===b||0>a.normal.dot(this.direction)*b?!0:!1},intersectBox:function(a,b){var c,d,e,f,g;d=1/this.direction.x;f=1/this.direction.y;g=1/this.direction.z;var k=this.origin;0<=d?(c=(a.min.x-k.x)*d,d*=a.max.x-k.x):(c=(a.max.x-k.x)*d,d*=a.min.x-k.x);0<=f?(e=(a.min.y-k.y)*f,f*=a.max.y-k.y):(e=(a.max.y-k.y)*f,f*=a.min.y-k.y);if(c>f||e>d)return null;if(e>c||c!==c)c=e;
|
|
|
if(f<d||d!==d)d=f;0<=g?(e=(a.min.z-k.z)*g,g*=a.max.z-k.z):(e=(a.max.z-k.z)*g,g*=a.min.z-k.z);if(c>g||e>d)return null;if(e>c||c!==c)c=e;if(g<d||d!==d)d=g;return 0>d?null:this.at(0<=c?c:d,b)},intersectsBox:function(){var a=new q;return function(b){return null!==this.intersectBox(b,a)}}(),intersectTriangle:function(){var a=new q,b=new q,c=new q,d=new q;return function(e,f,g,k,l){b.subVectors(f,e);c.subVectors(g,e);d.crossVectors(b,c);f=this.direction.dot(d);if(0<f){if(k)return null;k=1}else if(0>f)k=
|
|
|
-1,f=-f;else return null;a.subVectors(this.origin,e);e=k*this.direction.dot(c.crossVectors(a,c));if(0>e)return null;g=k*this.direction.dot(b.cross(a));if(0>g||e+g>f)return null;e=-k*a.dot(d);return 0>e?null:this.at(e/f,l)}}(),applyMatrix4:function(a){this.direction.add(this.origin).applyMatrix4(a);this.origin.applyMatrix4(a);this.direction.sub(this.origin);this.direction.normalize();return this},equals:function(a){return a.origin.equals(this.origin)&&a.direction.equals(this.direction)}};Wa.RotationOrders=
|
|
|
"XYZ YZX ZXY XZY YXZ ZYX".split(" ");Wa.DefaultOrder="XYZ";Wa.prototype={constructor:Wa,isEuler:!0,get x(){return this._x},set x(a){this._x=a;this.onChangeCallback()},get y(){return this._y},set y(a){this._y=a;this.onChangeCallback()},get z(){return this._z},set z(a){this._z=a;this.onChangeCallback()},get order(){return this._order},set order(a){this._order=a;this.onChangeCallback()},set:function(a,b,c,d){this._x=a;this._y=b;this._z=c;this._order=d||this._order;this.onChangeCallback();return this},
|
|
|
-clone:function(){return new this.constructor(this._x,this._y,this._z,this._order)},copy:function(a){this._x=a._x;this._y=a._y;this._z=a._z;this._order=a._order;this.onChangeCallback();return this},setFromRotationMatrix:function(a,b,c){var d=h.Math.clamp,e=a.elements;a=e[0];var f=e[4],g=e[8],k=e[1],l=e[5],m=e[9],r=e[2],p=e[6],e=e[10];b=b||this._order;"XYZ"===b?(this._y=Math.asin(d(g,-1,1)),.99999>Math.abs(g)?(this._x=Math.atan2(-m,e),this._z=Math.atan2(-f,a)):(this._x=Math.atan2(p,l),this._z=0)):"YXZ"===
|
|
|
-b?(this._x=Math.asin(-d(m,-1,1)),.99999>Math.abs(m)?(this._y=Math.atan2(g,e),this._z=Math.atan2(k,l)):(this._y=Math.atan2(-r,a),this._z=0)):"ZXY"===b?(this._x=Math.asin(d(p,-1,1)),.99999>Math.abs(p)?(this._y=Math.atan2(-r,e),this._z=Math.atan2(-f,l)):(this._y=0,this._z=Math.atan2(k,a))):"ZYX"===b?(this._y=Math.asin(-d(r,-1,1)),.99999>Math.abs(r)?(this._x=Math.atan2(p,e),this._z=Math.atan2(k,a)):(this._x=0,this._z=Math.atan2(-f,l))):"YZX"===b?(this._z=Math.asin(d(k,-1,1)),.99999>Math.abs(k)?(this._x=
|
|
|
-Math.atan2(-m,l),this._y=Math.atan2(-r,a)):(this._x=0,this._y=Math.atan2(g,e))):"XZY"===b?(this._z=Math.asin(-d(f,-1,1)),.99999>Math.abs(f)?(this._x=Math.atan2(p,l),this._y=Math.atan2(g,a)):(this._x=Math.atan2(-m,e),this._y=0)):console.warn("THREE.Euler: .setFromRotationMatrix() given unsupported order: "+b);this._order=b;if(!1!==c)this.onChangeCallback();return this},setFromQuaternion:function(){var a;return function(b,c,d){void 0===a&&(a=new H);a.makeRotationFromQuaternion(b);return this.setFromRotationMatrix(a,
|
|
|
+clone:function(){return new this.constructor(this._x,this._y,this._z,this._order)},copy:function(a){this._x=a._x;this._y=a._y;this._z=a._z;this._order=a._order;this.onChangeCallback();return this},setFromRotationMatrix:function(a,b,c){var d=h.Math.clamp,e=a.elements;a=e[0];var f=e[4],g=e[8],k=e[1],l=e[5],n=e[9],r=e[2],p=e[6],e=e[10];b=b||this._order;"XYZ"===b?(this._y=Math.asin(d(g,-1,1)),.99999>Math.abs(g)?(this._x=Math.atan2(-n,e),this._z=Math.atan2(-f,a)):(this._x=Math.atan2(p,l),this._z=0)):"YXZ"===
|
|
|
+b?(this._x=Math.asin(-d(n,-1,1)),.99999>Math.abs(n)?(this._y=Math.atan2(g,e),this._z=Math.atan2(k,l)):(this._y=Math.atan2(-r,a),this._z=0)):"ZXY"===b?(this._x=Math.asin(d(p,-1,1)),.99999>Math.abs(p)?(this._y=Math.atan2(-r,e),this._z=Math.atan2(-f,l)):(this._y=0,this._z=Math.atan2(k,a))):"ZYX"===b?(this._y=Math.asin(-d(r,-1,1)),.99999>Math.abs(r)?(this._x=Math.atan2(p,e),this._z=Math.atan2(k,a)):(this._x=0,this._z=Math.atan2(-f,l))):"YZX"===b?(this._z=Math.asin(d(k,-1,1)),.99999>Math.abs(k)?(this._x=
|
|
|
+Math.atan2(-n,l),this._y=Math.atan2(-r,a)):(this._x=0,this._y=Math.atan2(g,e))):"XZY"===b?(this._z=Math.asin(-d(f,-1,1)),.99999>Math.abs(f)?(this._x=Math.atan2(p,l),this._y=Math.atan2(g,a)):(this._x=Math.atan2(-n,e),this._y=0)):console.warn("THREE.Euler: .setFromRotationMatrix() given unsupported order: "+b);this._order=b;if(!1!==c)this.onChangeCallback();return this},setFromQuaternion:function(){var a;return function(b,c,d){void 0===a&&(a=new H);a.makeRotationFromQuaternion(b);return this.setFromRotationMatrix(a,
|
|
|
c,d)}}(),setFromVector3:function(a,b){return this.set(a.x,a.y,a.z,b||this._order)},reorder:function(){var a=new da;return function(b){a.setFromEuler(this);return this.setFromQuaternion(a,b)}}(),equals:function(a){return a._x===this._x&&a._y===this._y&&a._z===this._z&&a._order===this._order},fromArray:function(a){this._x=a[0];this._y=a[1];this._z=a[2];void 0!==a[3]&&(this._order=a[3]);this.onChangeCallback();return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);a[b]=this._x;a[b+1]=
|
|
|
this._y;a[b+2]=this._z;a[b+3]=this._order;return a},toVector3:function(a){return a?a.set(this._x,this._y,this._z):new q(this._x,this._y,this._z)},onChange:function(a){this.onChangeCallback=a;return this},onChangeCallback:function(){}};Sc.prototype={constructor:Sc,set:function(a){this.mask=1<<a},enable:function(a){this.mask|=1<<a},toggle:function(a){this.mask^=1<<a},disable:function(a){this.mask&=~(1<<a)},test:function(a){return 0!==(this.mask&a.mask)}};z.DefaultUp=new q(0,1,0);z.DefaultMatrixAutoUpdate=
|
|
|
!0;Object.assign(z.prototype,qa.prototype,{isObject3D:!0,applyMatrix:function(a){this.matrix.multiplyMatrices(a,this.matrix);this.matrix.decompose(this.position,this.quaternion,this.scale)},setRotationFromAxisAngle:function(a,b){this.quaternion.setFromAxisAngle(a,b)},setRotationFromEuler:function(a){this.quaternion.setFromEuler(a,!0)},setRotationFromMatrix:function(a){this.quaternion.setFromRotationMatrix(a)},setRotationFromQuaternion:function(a){this.quaternion.copy(a)},rotateOnAxis:function(){var a=
|
|
@@ -496,27 +494,27 @@ this.itemSize+3]},setW:function(a,b){this.array[a*this.itemSize+3]=b;return this
|
|
|
{isGeometry:!0,applyMatrix:function(a){for(var b=(new za).getNormalMatrix(a),c=0,d=this.vertices.length;c<d;c++)this.vertices[c].applyMatrix4(a);c=0;for(d=this.faces.length;c<d;c++){a=this.faces[c];a.normal.applyMatrix3(b).normalize();for(var e=0,f=a.vertexNormals.length;e<f;e++)a.vertexNormals[e].applyMatrix3(b).normalize()}null!==this.boundingBox&&this.computeBoundingBox();null!==this.boundingSphere&&this.computeBoundingSphere();this.normalsNeedUpdate=this.verticesNeedUpdate=!0;return this},rotateX:function(){var a;
|
|
|
return function(b){void 0===a&&(a=new H);a.makeRotationX(b);this.applyMatrix(a);return this}}(),rotateY:function(){var a;return function(b){void 0===a&&(a=new H);a.makeRotationY(b);this.applyMatrix(a);return this}}(),rotateZ:function(){var a;return function(b){void 0===a&&(a=new H);a.makeRotationZ(b);this.applyMatrix(a);return this}}(),translate:function(){var a;return function(b,c,d){void 0===a&&(a=new H);a.makeTranslation(b,c,d);this.applyMatrix(a);return this}}(),scale:function(){var a;return function(b,
|
|
|
c,d){void 0===a&&(a=new H);a.makeScale(b,c,d);this.applyMatrix(a);return this}}(),lookAt:function(){var a;return function(b){void 0===a&&(a=new z);a.lookAt(b);a.updateMatrix();this.applyMatrix(a.matrix)}}(),fromBufferGeometry:function(a){function b(a,b,d,e){var f=void 0!==g?[r[a].clone(),r[b].clone(),r[d].clone()]:[],u=void 0!==k?[c.colors[a].clone(),c.colors[b].clone(),c.colors[d].clone()]:[];e=new pa(a,b,d,f,u,e);c.faces.push(e);void 0!==l&&c.faceVertexUvs[0].push([p[a].clone(),p[b].clone(),p[d].clone()]);
|
|
|
-void 0!==h&&c.faceVertexUvs[1].push([n[a].clone(),n[b].clone(),n[d].clone()])}var c=this,d=null!==a.index?a.index.array:void 0,e=a.attributes,f=e.position.array,g=void 0!==e.normal?e.normal.array:void 0,k=void 0!==e.color?e.color.array:void 0,l=void 0!==e.uv?e.uv.array:void 0,h=void 0!==e.uv2?e.uv2.array:void 0;void 0!==h&&(this.faceVertexUvs[1]=[]);for(var r=[],p=[],n=[],u=e=0;e<f.length;e+=3,u+=2)c.vertices.push(new q(f[e],f[e+1],f[e+2])),void 0!==g&&r.push(new q(g[e],g[e+1],g[e+2])),void 0!==k&&
|
|
|
-c.colors.push(new M(k[e],k[e+1],k[e+2])),void 0!==l&&p.push(new C(l[u],l[u+1])),void 0!==h&&n.push(new C(h[u],h[u+1]));if(void 0!==d)if(f=a.groups,0<f.length)for(e=0;e<f.length;e++)for(var t=f[e],w=t.start,F=t.count,u=w,w=w+F;u<w;u+=3)b(d[u],d[u+1],d[u+2],t.materialIndex);else for(e=0;e<d.length;e+=3)b(d[e],d[e+1],d[e+2]);else for(e=0;e<f.length/3;e+=3)b(e,e+1,e+2);this.computeFaceNormals();null!==a.boundingBox&&(this.boundingBox=a.boundingBox.clone());null!==a.boundingSphere&&(this.boundingSphere=
|
|
|
+void 0!==h&&c.faceVertexUvs[1].push([m[a].clone(),m[b].clone(),m[d].clone()])}var c=this,d=null!==a.index?a.index.array:void 0,e=a.attributes,f=e.position.array,g=void 0!==e.normal?e.normal.array:void 0,k=void 0!==e.color?e.color.array:void 0,l=void 0!==e.uv?e.uv.array:void 0,h=void 0!==e.uv2?e.uv2.array:void 0;void 0!==h&&(this.faceVertexUvs[1]=[]);for(var r=[],p=[],m=[],u=e=0;e<f.length;e+=3,u+=2)c.vertices.push(new q(f[e],f[e+1],f[e+2])),void 0!==g&&r.push(new q(g[e],g[e+1],g[e+2])),void 0!==k&&
|
|
|
+c.colors.push(new M(k[e],k[e+1],k[e+2])),void 0!==l&&p.push(new C(l[u],l[u+1])),void 0!==h&&m.push(new C(h[u],h[u+1]));if(void 0!==d)if(f=a.groups,0<f.length)for(e=0;e<f.length;e++)for(var t=f[e],w=t.start,F=t.count,u=w,w=w+F;u<w;u+=3)b(d[u],d[u+1],d[u+2],t.materialIndex);else for(e=0;e<d.length;e+=3)b(d[e],d[e+1],d[e+2]);else for(e=0;e<f.length/3;e+=3)b(e,e+1,e+2);this.computeFaceNormals();null!==a.boundingBox&&(this.boundingBox=a.boundingBox.clone());null!==a.boundingSphere&&(this.boundingSphere=
|
|
|
a.boundingSphere.clone());return this},center:function(){this.computeBoundingBox();var a=this.boundingBox.getCenter().negate();this.translate(a.x,a.y,a.z);return a},normalize:function(){this.computeBoundingSphere();var a=this.boundingSphere.center,b=this.boundingSphere.radius,b=0===b?1:1/b,c=new H;c.set(b,0,0,-b*a.x,0,b,0,-b*a.y,0,0,b,-b*a.z,0,0,0,1);this.applyMatrix(c);return this},computeFaceNormals:function(){for(var a=new q,b=new q,c=0,d=this.faces.length;c<d;c++){var e=this.faces[c],f=this.vertices[e.a],
|
|
|
g=this.vertices[e.b];a.subVectors(this.vertices[e.c],g);b.subVectors(f,g);a.cross(b);a.normalize();e.normal.copy(a)}},computeVertexNormals:function(a){void 0===a&&(a=!0);var b,c,d;d=Array(this.vertices.length);b=0;for(c=this.vertices.length;b<c;b++)d[b]=new q;if(a){var e,f,g,k=new q,l=new q;a=0;for(b=this.faces.length;a<b;a++)c=this.faces[a],e=this.vertices[c.a],f=this.vertices[c.b],g=this.vertices[c.c],k.subVectors(g,f),l.subVectors(e,f),k.cross(l),d[c.a].add(k),d[c.b].add(k),d[c.c].add(k)}else for(a=
|
|
|
0,b=this.faces.length;a<b;a++)c=this.faces[a],d[c.a].add(c.normal),d[c.b].add(c.normal),d[c.c].add(c.normal);b=0;for(c=this.vertices.length;b<c;b++)d[b].normalize();a=0;for(b=this.faces.length;a<b;a++)c=this.faces[a],e=c.vertexNormals,3===e.length?(e[0].copy(d[c.a]),e[1].copy(d[c.b]),e[2].copy(d[c.c])):(e[0]=d[c.a].clone(),e[1]=d[c.b].clone(),e[2]=d[c.c].clone());0<this.faces.length&&(this.normalsNeedUpdate=!0)},computeMorphNormals:function(){var a,b,c,d,e;c=0;for(d=this.faces.length;c<d;c++)for(e=
|
|
|
this.faces[c],e.__originalFaceNormal?e.__originalFaceNormal.copy(e.normal):e.__originalFaceNormal=e.normal.clone(),e.__originalVertexNormals||(e.__originalVertexNormals=[]),a=0,b=e.vertexNormals.length;a<b;a++)e.__originalVertexNormals[a]?e.__originalVertexNormals[a].copy(e.vertexNormals[a]):e.__originalVertexNormals[a]=e.vertexNormals[a].clone();var f=new P;f.faces=this.faces;a=0;for(b=this.morphTargets.length;a<b;a++){if(!this.morphNormals[a]){this.morphNormals[a]={};this.morphNormals[a].faceNormals=
|
|
|
[];this.morphNormals[a].vertexNormals=[];e=this.morphNormals[a].faceNormals;var g=this.morphNormals[a].vertexNormals,k,l;c=0;for(d=this.faces.length;c<d;c++)k=new q,l={a:new q,b:new q,c:new q},e.push(k),g.push(l)}g=this.morphNormals[a];f.vertices=this.morphTargets[a].vertices;f.computeFaceNormals();f.computeVertexNormals();c=0;for(d=this.faces.length;c<d;c++)e=this.faces[c],k=g.faceNormals[c],l=g.vertexNormals[c],k.copy(e.normal),l.a.copy(e.vertexNormals[0]),l.b.copy(e.vertexNormals[1]),l.c.copy(e.vertexNormals[2])}c=
|
|
|
0;for(d=this.faces.length;c<d;c++)e=this.faces[c],e.normal=e.__originalFaceNormal,e.vertexNormals=e.__originalVertexNormals},computeTangents:function(){console.warn("THREE.Geometry: .computeTangents() has been removed.")},computeLineDistances:function(){for(var a=0,b=this.vertices,c=0,d=b.length;c<d;c++)0<c&&(a+=b[c].distanceTo(b[c-1])),this.lineDistances[c]=a},computeBoundingBox:function(){null===this.boundingBox&&(this.boundingBox=new Ha);this.boundingBox.setFromPoints(this.vertices)},computeBoundingSphere:function(){null===
|
|
|
-this.boundingSphere&&(this.boundingSphere=new Ba);this.boundingSphere.setFromPoints(this.vertices)},merge:function(a,b,c){if(!1===(a&&a.isGeometry))console.error("THREE.Geometry.merge(): geometry not an instance of THREE.Geometry.",a);else{var d,e=this.vertices.length,f=this.vertices,g=a.vertices,k=this.faces,l=a.faces,h=this.faceVertexUvs[0],r=a.faceVertexUvs[0],p=this.colors,n=a.colors;void 0===c&&(c=0);void 0!==b&&(d=(new za).getNormalMatrix(b));a=0;for(var u=g.length;a<u;a++){var t=g[a].clone();
|
|
|
-void 0!==b&&t.applyMatrix4(b);f.push(t)}a=0;for(u=n.length;a<u;a++)p.push(n[a].clone());a=0;for(u=l.length;a<u;a++){var g=l[a],q=g.vertexNormals,n=g.vertexColors,p=new pa(g.a+e,g.b+e,g.c+e);p.normal.copy(g.normal);void 0!==d&&p.normal.applyMatrix3(d).normalize();b=0;for(f=q.length;b<f;b++)t=q[b].clone(),void 0!==d&&t.applyMatrix3(d).normalize(),p.vertexNormals.push(t);p.color.copy(g.color);b=0;for(f=n.length;b<f;b++)t=n[b],p.vertexColors.push(t.clone());p.materialIndex=g.materialIndex+c;k.push(p)}a=
|
|
|
+this.boundingSphere&&(this.boundingSphere=new Ba);this.boundingSphere.setFromPoints(this.vertices)},merge:function(a,b,c){if(!1===(a&&a.isGeometry))console.error("THREE.Geometry.merge(): geometry not an instance of THREE.Geometry.",a);else{var d,e=this.vertices.length,f=this.vertices,g=a.vertices,k=this.faces,l=a.faces,h=this.faceVertexUvs[0],r=a.faceVertexUvs[0],p=this.colors,m=a.colors;void 0===c&&(c=0);void 0!==b&&(d=(new za).getNormalMatrix(b));a=0;for(var u=g.length;a<u;a++){var t=g[a].clone();
|
|
|
+void 0!==b&&t.applyMatrix4(b);f.push(t)}a=0;for(u=m.length;a<u;a++)p.push(m[a].clone());a=0;for(u=l.length;a<u;a++){var g=l[a],q=g.vertexNormals,m=g.vertexColors,p=new pa(g.a+e,g.b+e,g.c+e);p.normal.copy(g.normal);void 0!==d&&p.normal.applyMatrix3(d).normalize();b=0;for(f=q.length;b<f;b++)t=q[b].clone(),void 0!==d&&t.applyMatrix3(d).normalize(),p.vertexNormals.push(t);p.color.copy(g.color);b=0;for(f=m.length;b<f;b++)t=m[b],p.vertexColors.push(t.clone());p.materialIndex=g.materialIndex+c;k.push(p)}a=
|
|
|
0;for(u=r.length;a<u;a++)if(c=r[a],d=[],void 0!==c){b=0;for(f=c.length;b<f;b++)d.push(c[b].clone());h.push(d)}}},mergeMesh:function(a){!1===(a&&a.isMesh)?console.error("THREE.Geometry.mergeMesh(): mesh not an instance of THREE.Mesh.",a):(a.matrixAutoUpdate&&a.updateMatrix(),this.merge(a.geometry,a.matrix))},mergeVertices:function(){var a={},b=[],c=[],d,e=Math.pow(10,4),f,g;f=0;for(g=this.vertices.length;f<g;f++)d=this.vertices[f],d=Math.round(d.x*e)+"_"+Math.round(d.y*e)+"_"+Math.round(d.z*e),void 0===
|
|
|
a[d]?(a[d]=f,b.push(this.vertices[f]),c[f]=b.length-1):c[f]=c[a[d]];a=[];f=0;for(g=this.faces.length;f<g;f++)for(e=this.faces[f],e.a=c[e.a],e.b=c[e.b],e.c=c[e.c],e=[e.a,e.b,e.c],d=0;3>d;d++)if(e[d]===e[(d+1)%3]){a.push(f);break}for(f=a.length-1;0<=f;f--)for(e=a[f],this.faces.splice(e,1),c=0,g=this.faceVertexUvs.length;c<g;c++)this.faceVertexUvs[c].splice(e,1);f=this.vertices.length-b.length;this.vertices=b;return f},sortFacesByMaterialIndex:function(){for(var a=this.faces,b=a.length,c=0;c<b;c++)a[c]._id=
|
|
|
c;a.sort(function(a,b){return a.materialIndex-b.materialIndex});var d=this.faceVertexUvs[0],e=this.faceVertexUvs[1],f,g;d&&d.length===b&&(f=[]);e&&e.length===b&&(g=[]);for(c=0;c<b;c++){var k=a[c]._id;f&&f.push(d[k]);g&&g.push(e[k])}f&&(this.faceVertexUvs[0]=f);g&&(this.faceVertexUvs[1]=g)},toJSON:function(){function a(a,b,c){return c?a|1<<b:a&~(1<<b)}function b(a){var b=a.x.toString()+a.y.toString()+a.z.toString();if(void 0!==h[b])return h[b];h[b]=l.length/3;l.push(a.x,a.y,a.z);return h[b]}function c(a){var b=
|
|
|
-a.r.toString()+a.g.toString()+a.b.toString();if(void 0!==p[b])return p[b];p[b]=r.length;r.push(a.getHex());return p[b]}function d(a){var b=a.x.toString()+a.y.toString();if(void 0!==u[b])return u[b];u[b]=n.length/2;n.push(a.x,a.y);return u[b]}var e={metadata:{version:4.4,type:"Geometry",generator:"Geometry.toJSON"}};e.uuid=this.uuid;e.type=this.type;""!==this.name&&(e.name=this.name);if(void 0!==this.parameters){var f=this.parameters,g;for(g in f)void 0!==f[g]&&(e[g]=f[g]);return e}f=[];for(g=0;g<
|
|
|
-this.vertices.length;g++){var k=this.vertices[g];f.push(k.x,k.y,k.z)}var k=[],l=[],h={},r=[],p={},n=[],u={};for(g=0;g<this.faces.length;g++){var t=this.faces[g],q=void 0!==this.faceVertexUvs[0][g],F=0<t.normal.length(),v=0<t.vertexNormals.length,x=1!==t.color.r||1!==t.color.g||1!==t.color.b,I=0<t.vertexColors.length,y=0,y=a(y,0,0),y=a(y,1,!0),y=a(y,2,!1),y=a(y,3,q),y=a(y,4,F),y=a(y,5,v),y=a(y,6,x),y=a(y,7,I);k.push(y);k.push(t.a,t.b,t.c);k.push(t.materialIndex);q&&(q=this.faceVertexUvs[0][g],k.push(d(q[0]),
|
|
|
-d(q[1]),d(q[2])));F&&k.push(b(t.normal));v&&(F=t.vertexNormals,k.push(b(F[0]),b(F[1]),b(F[2])));x&&k.push(c(t.color));I&&(t=t.vertexColors,k.push(c(t[0]),c(t[1]),c(t[2])))}e.data={};e.data.vertices=f;e.data.normals=l;0<r.length&&(e.data.colors=r);0<n.length&&(e.data.uvs=[n]);e.data.faces=k;return e},clone:function(){return(new P).copy(this)},copy:function(a){this.vertices=[];this.faces=[];this.faceVertexUvs=[[]];this.colors=[];for(var b=a.vertices,c=0,d=b.length;c<d;c++)this.vertices.push(b[c].clone());
|
|
|
-b=a.colors;c=0;for(d=b.length;c<d;c++)this.colors.push(b[c].clone());b=a.faces;c=0;for(d=b.length;c<d;c++)this.faces.push(b[c].clone());c=0;for(d=a.faceVertexUvs.length;c<d;c++){b=a.faceVertexUvs[c];void 0===this.faceVertexUvs[c]&&(this.faceVertexUvs[c]=[]);for(var e=0,f=b.length;e<f;e++){for(var g=b[e],k=[],h=0,m=g.length;h<m;h++)k.push(g[h].clone());this.faceVertexUvs[c].push(k)}}return this},dispose:function(){this.dispatchEvent({type:"dispose"})}});var Vc=0;Object.assign(je.prototype,qa.prototype,
|
|
|
+a.r.toString()+a.g.toString()+a.b.toString();if(void 0!==p[b])return p[b];p[b]=r.length;r.push(a.getHex());return p[b]}function d(a){var b=a.x.toString()+a.y.toString();if(void 0!==u[b])return u[b];u[b]=m.length/2;m.push(a.x,a.y);return u[b]}var e={metadata:{version:4.4,type:"Geometry",generator:"Geometry.toJSON"}};e.uuid=this.uuid;e.type=this.type;""!==this.name&&(e.name=this.name);if(void 0!==this.parameters){var f=this.parameters,g;for(g in f)void 0!==f[g]&&(e[g]=f[g]);return e}f=[];for(g=0;g<
|
|
|
+this.vertices.length;g++){var k=this.vertices[g];f.push(k.x,k.y,k.z)}var k=[],l=[],h={},r=[],p={},m=[],u={};for(g=0;g<this.faces.length;g++){var t=this.faces[g],q=void 0!==this.faceVertexUvs[0][g],F=0<t.normal.length(),v=0<t.vertexNormals.length,x=1!==t.color.r||1!==t.color.g||1!==t.color.b,I=0<t.vertexColors.length,y=0,y=a(y,0,0),y=a(y,1,!0),y=a(y,2,!1),y=a(y,3,q),y=a(y,4,F),y=a(y,5,v),y=a(y,6,x),y=a(y,7,I);k.push(y);k.push(t.a,t.b,t.c);k.push(t.materialIndex);q&&(q=this.faceVertexUvs[0][g],k.push(d(q[0]),
|
|
|
+d(q[1]),d(q[2])));F&&k.push(b(t.normal));v&&(F=t.vertexNormals,k.push(b(F[0]),b(F[1]),b(F[2])));x&&k.push(c(t.color));I&&(t=t.vertexColors,k.push(c(t[0]),c(t[1]),c(t[2])))}e.data={};e.data.vertices=f;e.data.normals=l;0<r.length&&(e.data.colors=r);0<m.length&&(e.data.uvs=[m]);e.data.faces=k;return e},clone:function(){return(new P).copy(this)},copy:function(a){this.vertices=[];this.faces=[];this.faceVertexUvs=[[]];this.colors=[];for(var b=a.vertices,c=0,d=b.length;c<d;c++)this.vertices.push(b[c].clone());
|
|
|
+b=a.colors;c=0;for(d=b.length;c<d;c++)this.colors.push(b[c].clone());b=a.faces;c=0;for(d=b.length;c<d;c++)this.faces.push(b[c].clone());c=0;for(d=a.faceVertexUvs.length;c<d;c++){b=a.faceVertexUvs[c];void 0===this.faceVertexUvs[c]&&(this.faceVertexUvs[c]=[]);for(var e=0,f=b.length;e<f;e++){for(var g=b[e],k=[],l=0,h=g.length;l<h;l++)k.push(g[l].clone());this.faceVertexUvs[c].push(k)}}return this},dispose:function(){this.dispatchEvent({type:"dispose"})}});var Vc=0;Object.assign(je.prototype,qa.prototype,
|
|
|
{computeBoundingBox:P.prototype.computeBoundingBox,computeBoundingSphere:P.prototype.computeBoundingSphere,computeFaceNormals:function(){console.warn("THREE.DirectGeometry: computeFaceNormals() is not a method of this type of geometry.")},computeVertexNormals:function(){console.warn("THREE.DirectGeometry: computeVertexNormals() is not a method of this type of geometry.")},computeGroups:function(a){var b,c=[],d;a=a.faces;for(var e=0;e<a.length;e++){var f=a[e];f.materialIndex!==d&&(d=f.materialIndex,
|
|
|
-void 0!==b&&(b.count=3*e-b.start,c.push(b)),b={start:3*e,materialIndex:d})}void 0!==b&&(b.count=3*e-b.start,c.push(b));this.groups=c},fromGeometry:function(a){var b=a.faces,c=a.vertices,d=a.faceVertexUvs,e=d[0]&&0<d[0].length,f=d[1]&&0<d[1].length,g=a.morphTargets,k=g.length,h;if(0<k){h=[];for(var m=0;m<k;m++)h[m]=[];this.morphTargets.position=h}var r=a.morphNormals,p=r.length,n;if(0<p){n=[];for(m=0;m<p;m++)n[m]=[];this.morphTargets.normal=n}for(var u=a.skinIndices,t=a.skinWeights,q=u.length===c.length,
|
|
|
-F=t.length===c.length,m=0;m<b.length;m++){var v=b[m];this.vertices.push(c[v.a],c[v.b],c[v.c]);var x=v.vertexNormals;3===x.length?this.normals.push(x[0],x[1],x[2]):(x=v.normal,this.normals.push(x,x,x));x=v.vertexColors;3===x.length?this.colors.push(x[0],x[1],x[2]):(x=v.color,this.colors.push(x,x,x));!0===e&&(x=d[0][m],void 0!==x?this.uvs.push(x[0],x[1],x[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv ",m),this.uvs.push(new C,new C,new C)));!0===f&&(x=d[1][m],void 0!==x?
|
|
|
-this.uvs2.push(x[0],x[1],x[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv2 ",m),this.uvs2.push(new C,new C,new C)));for(x=0;x<k;x++){var I=g[x].vertices;h[x].push(I[v.a],I[v.b],I[v.c])}for(x=0;x<p;x++)I=r[x].vertexNormals[m],n[x].push(I.a,I.b,I.c);q&&this.skinIndices.push(u[v.a],u[v.b],u[v.c]);F&&this.skinWeights.push(t[v.a],t[v.b],t[v.c])}this.computeGroups(a);this.verticesNeedUpdate=a.verticesNeedUpdate;this.normalsNeedUpdate=a.normalsNeedUpdate;this.colorsNeedUpdate=
|
|
|
+void 0!==b&&(b.count=3*e-b.start,c.push(b)),b={start:3*e,materialIndex:d})}void 0!==b&&(b.count=3*e-b.start,c.push(b));this.groups=c},fromGeometry:function(a){var b=a.faces,c=a.vertices,d=a.faceVertexUvs,e=d[0]&&0<d[0].length,f=d[1]&&0<d[1].length,g=a.morphTargets,k=g.length,l;if(0<k){l=[];for(var h=0;h<k;h++)l[h]=[];this.morphTargets.position=l}var r=a.morphNormals,p=r.length,m;if(0<p){m=[];for(h=0;h<p;h++)m[h]=[];this.morphTargets.normal=m}for(var u=a.skinIndices,t=a.skinWeights,q=u.length===c.length,
|
|
|
+F=t.length===c.length,h=0;h<b.length;h++){var v=b[h];this.vertices.push(c[v.a],c[v.b],c[v.c]);var x=v.vertexNormals;3===x.length?this.normals.push(x[0],x[1],x[2]):(x=v.normal,this.normals.push(x,x,x));x=v.vertexColors;3===x.length?this.colors.push(x[0],x[1],x[2]):(x=v.color,this.colors.push(x,x,x));!0===e&&(x=d[0][h],void 0!==x?this.uvs.push(x[0],x[1],x[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv ",h),this.uvs.push(new C,new C,new C)));!0===f&&(x=d[1][h],void 0!==x?
|
|
|
+this.uvs2.push(x[0],x[1],x[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv2 ",h),this.uvs2.push(new C,new C,new C)));for(x=0;x<k;x++){var I=g[x].vertices;l[x].push(I[v.a],I[v.b],I[v.c])}for(x=0;x<p;x++)I=r[x].vertexNormals[h],m[x].push(I.a,I.b,I.c);q&&this.skinIndices.push(u[v.a],u[v.b],u[v.c]);F&&this.skinWeights.push(t[v.a],t[v.b],t[v.c])}this.computeGroups(a);this.verticesNeedUpdate=a.verticesNeedUpdate;this.normalsNeedUpdate=a.normalsNeedUpdate;this.colorsNeedUpdate=
|
|
|
a.colorsNeedUpdate;this.uvsNeedUpdate=a.uvsNeedUpdate;this.groupsNeedUpdate=a.groupsNeedUpdate;return this},dispose:function(){this.dispatchEvent({type:"dispose"})}});Object.assign(J.prototype,qa.prototype,{isBufferGeometry:!0,getIndex:function(){return this.index},setIndex:function(a){this.index=a},addAttribute:function(a,b,c){if(!1===(b&&b.isBufferAttribute)&&!1===(b&&b.isInterleavedBufferAttribute))console.warn("THREE.BufferGeometry: .addAttribute() now expects ( name, attribute )."),this.addAttribute(a,
|
|
|
new B(b,c));else if("index"===a)console.warn("THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute."),this.setIndex(b);else return this.attributes[a]=b,this},getAttribute:function(a){return this.attributes[a]},removeAttribute:function(a){delete this.attributes[a];return this},addGroup:function(a,b,c){this.groups.push({start:a,count:b,materialIndex:void 0!==c?c:0})},clearGroups:function(){this.groups=[]},setDrawRange:function(a,b){this.drawRange.start=a;this.drawRange.count=b},applyMatrix:function(a){var b=
|
|
|
this.attributes.position;void 0!==b&&(a.applyToVector3Array(b.array),b.needsUpdate=!0);b=this.attributes.normal;void 0!==b&&((new za).getNormalMatrix(a).applyToVector3Array(b.array),b.needsUpdate=!0);null!==this.boundingBox&&this.computeBoundingBox();null!==this.boundingSphere&&this.computeBoundingSphere();return this},rotateX:function(){var a;return function(b){void 0===a&&(a=new H);a.makeRotationX(b);this.applyMatrix(a);return this}}(),rotateY:function(){var a;return function(b){void 0===a&&(a=
|
|
@@ -530,18 +528,18 @@ this.addAttribute("color",(new B(b,3)).copyColorsArray(a.colors)));0<a.uvs.lengt
|
|
|
[],d=a.morphTargets[c],e=0,f=d.length;e<f;e++){var g=d[e],k=new ia(3*g.length,3);b.push(k.copyVector3sArray(g))}this.morphAttributes[c]=b}0<a.skinIndices.length&&(c=new ia(4*a.skinIndices.length,4),this.addAttribute("skinIndex",c.copyVector4sArray(a.skinIndices)));0<a.skinWeights.length&&(c=new ia(4*a.skinWeights.length,4),this.addAttribute("skinWeight",c.copyVector4sArray(a.skinWeights)));null!==a.boundingSphere&&(this.boundingSphere=a.boundingSphere.clone());null!==a.boundingBox&&(this.boundingBox=
|
|
|
a.boundingBox.clone());return this},computeBoundingBox:function(){null===this.boundingBox&&(this.boundingBox=new Ha);var a=this.attributes.position.array;void 0!==a?this.boundingBox.setFromArray(a):this.boundingBox.makeEmpty();(isNaN(this.boundingBox.min.x)||isNaN(this.boundingBox.min.y)||isNaN(this.boundingBox.min.z))&&console.error('THREE.BufferGeometry.computeBoundingBox: Computed min/max have NaN values. The "position" attribute is likely to have NaN values.',this)},computeBoundingSphere:function(){var a=
|
|
|
new Ha,b=new q;return function(){null===this.boundingSphere&&(this.boundingSphere=new Ba);var c=this.attributes.position;if(c){var c=c.array,d=this.boundingSphere.center;a.setFromArray(c);a.getCenter(d);for(var e=0,f=0,g=c.length;f<g;f+=3)b.fromArray(c,f),e=Math.max(e,d.distanceToSquared(b));this.boundingSphere.radius=Math.sqrt(e);isNaN(this.boundingSphere.radius)&&console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.',
|
|
|
-this)}}}(),computeFaceNormals:function(){},computeVertexNormals:function(){var a=this.index,b=this.attributes,c=this.groups;if(b.position){var d=b.position.array;if(void 0===b.normal)this.addAttribute("normal",new B(new Float32Array(d.length),3));else for(var e=b.normal.array,f=0,g=e.length;f<g;f++)e[f]=0;var e=b.normal.array,k,h,m,r=new q,p=new q,n=new q,u=new q,t=new q;if(a){a=a.array;0===c.length&&this.addGroup(0,a.length);for(var w=0,F=c.length;w<F;++w)for(f=c[w],g=f.start,k=f.count,f=g,g+=k;f<
|
|
|
-g;f+=3)k=3*a[f+0],h=3*a[f+1],m=3*a[f+2],r.fromArray(d,k),p.fromArray(d,h),n.fromArray(d,m),u.subVectors(n,p),t.subVectors(r,p),u.cross(t),e[k]+=u.x,e[k+1]+=u.y,e[k+2]+=u.z,e[h]+=u.x,e[h+1]+=u.y,e[h+2]+=u.z,e[m]+=u.x,e[m+1]+=u.y,e[m+2]+=u.z}else for(f=0,g=d.length;f<g;f+=9)r.fromArray(d,f),p.fromArray(d,f+3),n.fromArray(d,f+6),u.subVectors(n,p),t.subVectors(r,p),u.cross(t),e[f]=u.x,e[f+1]=u.y,e[f+2]=u.z,e[f+3]=u.x,e[f+4]=u.y,e[f+5]=u.z,e[f+6]=u.x,e[f+7]=u.y,e[f+8]=u.z;this.normalizeNormals();b.normal.needsUpdate=
|
|
|
+this)}}}(),computeFaceNormals:function(){},computeVertexNormals:function(){var a=this.index,b=this.attributes,c=this.groups;if(b.position){var d=b.position.array;if(void 0===b.normal)this.addAttribute("normal",new B(new Float32Array(d.length),3));else for(var e=b.normal.array,f=0,g=e.length;f<g;f++)e[f]=0;var e=b.normal.array,k,h,n,r=new q,p=new q,m=new q,u=new q,t=new q;if(a){a=a.array;0===c.length&&this.addGroup(0,a.length);for(var w=0,F=c.length;w<F;++w)for(f=c[w],g=f.start,k=f.count,f=g,g+=k;f<
|
|
|
+g;f+=3)k=3*a[f+0],h=3*a[f+1],n=3*a[f+2],r.fromArray(d,k),p.fromArray(d,h),m.fromArray(d,n),u.subVectors(m,p),t.subVectors(r,p),u.cross(t),e[k]+=u.x,e[k+1]+=u.y,e[k+2]+=u.z,e[h]+=u.x,e[h+1]+=u.y,e[h+2]+=u.z,e[n]+=u.x,e[n+1]+=u.y,e[n+2]+=u.z}else for(f=0,g=d.length;f<g;f+=9)r.fromArray(d,f),p.fromArray(d,f+3),m.fromArray(d,f+6),u.subVectors(m,p),t.subVectors(r,p),u.cross(t),e[f]=u.x,e[f+1]=u.y,e[f+2]=u.z,e[f+3]=u.x,e[f+4]=u.y,e[f+5]=u.z,e[f+6]=u.x,e[f+7]=u.y,e[f+8]=u.z;this.normalizeNormals();b.normal.needsUpdate=
|
|
|
!0}},merge:function(a,b){if(!1===(a&&a.isBufferGeometry))console.error("THREE.BufferGeometry.merge(): geometry not an instance of THREE.BufferGeometry.",a);else{void 0===b&&(b=0);var c=this.attributes,d;for(d in c)if(void 0!==a.attributes[d])for(var e=c[d].array,f=a.attributes[d],g=f.array,k=0,f=f.itemSize*b;k<g.length;k++,f++)e[f]=g[k];return this}},normalizeNormals:function(){for(var a=this.attributes.normal.array,b,c,d,e=0,f=a.length;e<f;e+=3)b=a[e],c=a[e+1],d=a[e+2],b=1/Math.sqrt(b*b+c*c+d*d),
|
|
|
-a[e]*=b,a[e+1]*=b,a[e+2]*=b},toNonIndexed:function(){if(null===this.index)return console.warn("THREE.BufferGeometry.toNonIndexed(): Geometry is already non-indexed."),this;var a=new J,b=this.index.array,c=this.attributes,d;for(d in c){for(var e=c[d],f=e.array,e=e.itemSize,g=new f.constructor(b.length*e),k,h=0,m=0,r=b.length;m<r;m++){k=b[m]*e;for(var p=0;p<e;p++)g[h++]=f[k++]}a.addAttribute(d,new B(g,e))}return a},toJSON:function(){var a={metadata:{version:4.4,type:"BufferGeometry",generator:"BufferGeometry.toJSON"}};
|
|
|
+a[e]*=b,a[e+1]*=b,a[e+2]*=b},toNonIndexed:function(){if(null===this.index)return console.warn("THREE.BufferGeometry.toNonIndexed(): Geometry is already non-indexed."),this;var a=new J,b=this.index.array,c=this.attributes,d;for(d in c){for(var e=c[d],f=e.array,e=e.itemSize,g=new f.constructor(b.length*e),k,h=0,n=0,r=b.length;n<r;n++){k=b[n]*e;for(var p=0;p<e;p++)g[h++]=f[k++]}a.addAttribute(d,new B(g,e))}return a},toJSON:function(){var a={metadata:{version:4.4,type:"BufferGeometry",generator:"BufferGeometry.toJSON"}};
|
|
|
a.uuid=this.uuid;a.type=this.type;""!==this.name&&(a.name=this.name);if(void 0!==this.parameters){var b=this.parameters,c;for(c in b)void 0!==b[c]&&(a[c]=b[c]);return a}a.data={attributes:{}};var d=this.index;null!==d&&(b=Array.prototype.slice.call(d.array),a.data.index={type:d.array.constructor.name,array:b});d=this.attributes;for(c in d){var e=d[c],b=Array.prototype.slice.call(e.array);a.data.attributes[c]={itemSize:e.itemSize,type:e.array.constructor.name,array:b,normalized:e.normalized}}c=this.groups;
|
|
|
0<c.length&&(a.data.groups=JSON.parse(JSON.stringify(c)));c=this.boundingSphere;null!==c&&(a.data.boundingSphere={center:c.center.toArray(),radius:c.radius});return a},clone:function(){return(new J).copy(this)},copy:function(a){var b=a.index;null!==b&&this.setIndex(b.clone());var b=a.attributes,c;for(c in b)this.addAttribute(c,b[c].clone());a=a.groups;c=0;for(b=a.length;c<b;c++){var d=a[c];this.addGroup(d.start,d.count,d.materialIndex)}return this},dispose:function(){this.dispatchEvent({type:"dispose"})}});
|
|
|
J.MaxIndex=65535;va.prototype=Object.assign(Object.create(z.prototype),{constructor:va,isMesh:!0,setDrawMode:function(a){this.drawMode=a},copy:function(a){z.prototype.copy.call(this,a);this.drawMode=a.drawMode;return this},updateMorphTargets:function(){var a=this.geometry.morphTargets;if(void 0!==a&&0<a.length){this.morphTargetInfluences=[];this.morphTargetDictionary={};for(var b=0,c=a.length;b<c;b++)this.morphTargetInfluences.push(0),this.morphTargetDictionary[a[b].name]=b}},raycast:function(){function a(a,
|
|
|
-b,c,d,e,f,g){Ga.barycoordFromPoint(a,b,c,d,w);e.multiplyScalar(w.x);f.multiplyScalar(w.y);g.multiplyScalar(w.z);e.add(f).add(g);return e.clone()}function b(a,b,c,d,e,f,g){var k=a.material;if(null===(1===k.side?c.intersectTriangle(f,e,d,!0,g):c.intersectTriangle(d,e,f,2!==k.side,g)))return null;v.copy(g);v.applyMatrix4(a.matrixWorld);c=b.ray.origin.distanceTo(v);return c<b.near||c>b.far?null:{distance:c,point:v.clone(),object:a}}function c(c,d,e,f,m,p,r,q){g.fromArray(f,3*p);k.fromArray(f,3*r);h.fromArray(f,
|
|
|
-3*q);if(c=b(c,d,e,g,k,h,F))m&&(n.fromArray(m,2*p),u.fromArray(m,2*r),t.fromArray(m,2*q),c.uv=a(F,g,k,h,n,u,t)),c.face=new pa(p,r,q,Ga.normal(g,k,h)),c.faceIndex=p;return c}var d=new H,e=new Va,f=new Ba,g=new q,k=new q,h=new q,m=new q,r=new q,p=new q,n=new C,u=new C,t=new C,w=new q,F=new q,v=new q;return function(q,w){var v=this.geometry,E=this.material,G=this.matrixWorld;if(void 0!==E&&(null===v.boundingSphere&&v.computeBoundingSphere(),f.copy(v.boundingSphere),f.applyMatrix4(G),!1!==q.ray.intersectsSphere(f)&&
|
|
|
+b,c,d,e,f,g){Ga.barycoordFromPoint(a,b,c,d,w);e.multiplyScalar(w.x);f.multiplyScalar(w.y);g.multiplyScalar(w.z);e.add(f).add(g);return e.clone()}function b(a,b,c,d,e,f,g){var k=a.material;if(null===(1===k.side?c.intersectTriangle(f,e,d,!0,g):c.intersectTriangle(d,e,f,2!==k.side,g)))return null;v.copy(g);v.applyMatrix4(a.matrixWorld);c=b.ray.origin.distanceTo(v);return c<b.near||c>b.far?null:{distance:c,point:v.clone(),object:a}}function c(c,d,e,f,n,p,r,q){g.fromArray(f,3*p);k.fromArray(f,3*r);h.fromArray(f,
|
|
|
+3*q);if(c=b(c,d,e,g,k,h,F))n&&(m.fromArray(n,2*p),u.fromArray(n,2*r),t.fromArray(n,2*q),c.uv=a(F,g,k,h,m,u,t)),c.face=new pa(p,r,q,Ga.normal(g,k,h)),c.faceIndex=p;return c}var d=new H,e=new Va,f=new Ba,g=new q,k=new q,h=new q,n=new q,r=new q,p=new q,m=new C,u=new C,t=new C,w=new q,F=new q,v=new q;return function(q,w){var v=this.geometry,E=this.material,G=this.matrixWorld;if(void 0!==E&&(null===v.boundingSphere&&v.computeBoundingSphere(),f.copy(v.boundingSphere),f.applyMatrix4(G),!1!==q.ray.intersectsSphere(f)&&
|
|
|
(d.getInverse(G),e.copy(q.ray).applyMatrix4(d),null===v.boundingBox||!1!==e.intersectsBox(v.boundingBox)))){var D,L;if(v&&v.isBufferGeometry){var C,z,E=v.index,G=v.attributes,v=G.position.array;void 0!==G.uv&&(D=G.uv.array);if(null!==E)for(var G=E.array,B=0,H=G.length;B<H;B+=3){if(E=G[B],C=G[B+1],z=G[B+2],L=c(this,q,e,v,D,E,C,z))L.faceIndex=Math.floor(B/3),w.push(L)}else for(B=0,H=v.length;B<H;B+=9)if(E=B/3,C=E+1,z=E+2,L=c(this,q,e,v,D,E,C,z))L.index=E,w.push(L)}else if(v&&v.isGeometry){var J,P,G=
|
|
|
-E&&E.isMultiMaterial,B=!0===G?E.materials:null,H=v.vertices;C=v.faces;z=v.faceVertexUvs[0];0<z.length&&(D=z);for(var N=0,O=C.length;N<O;N++){var R=C[N];L=!0===G?B[R.materialIndex]:E;if(void 0!==L){z=H[R.a];J=H[R.b];P=H[R.c];if(!0===L.morphTargets){L=v.morphTargets;var S=this.morphTargetInfluences;g.set(0,0,0);k.set(0,0,0);h.set(0,0,0);for(var M=0,U=L.length;M<U;M++){var V=S[M];if(0!==V){var K=L[M].vertices;g.addScaledVector(m.subVectors(K[R.a],z),V);k.addScaledVector(r.subVectors(K[R.b],J),V);h.addScaledVector(p.subVectors(K[R.c],
|
|
|
-P),V)}}g.add(z);k.add(J);h.add(P);z=g;J=k;P=h}if(L=b(this,q,e,z,J,P,F))D&&(S=D[N],n.copy(S[0]),u.copy(S[1]),t.copy(S[2]),L.uv=a(F,z,J,P,n,u,t)),L.face=R,L.faceIndex=N,w.push(L)}}}}}}(),clone:function(){return(new this.constructor(this.geometry,this.material)).copy(this)}});cb.prototype=Object.create(J.prototype);cb.prototype.constructor=cb;db.prototype=Object.create(J.prototype);db.prototype.constructor=db;ra.prototype=Object.create(z.prototype);ra.prototype.constructor=ra;ra.prototype.isCamera=!0;
|
|
|
+E&&E.isMultiMaterial,B=!0===G?E.materials:null,H=v.vertices;C=v.faces;z=v.faceVertexUvs[0];0<z.length&&(D=z);for(var N=0,O=C.length;N<O;N++){var R=C[N];L=!0===G?B[R.materialIndex]:E;if(void 0!==L){z=H[R.a];J=H[R.b];P=H[R.c];if(!0===L.morphTargets){L=v.morphTargets;var S=this.morphTargetInfluences;g.set(0,0,0);k.set(0,0,0);h.set(0,0,0);for(var M=0,U=L.length;M<U;M++){var V=S[M];if(0!==V){var K=L[M].vertices;g.addScaledVector(n.subVectors(K[R.a],z),V);k.addScaledVector(r.subVectors(K[R.b],J),V);h.addScaledVector(p.subVectors(K[R.c],
|
|
|
+P),V)}}g.add(z);k.add(J);h.add(P);z=g;J=k;P=h}if(L=b(this,q,e,z,J,P,F))D&&(S=D[N],m.copy(S[0]),u.copy(S[1]),t.copy(S[2]),L.uv=a(F,z,J,P,m,u,t)),L.face=R,L.faceIndex=N,w.push(L)}}}}}}(),clone:function(){return(new this.constructor(this.geometry,this.material)).copy(this)}});cb.prototype=Object.create(J.prototype);cb.prototype.constructor=cb;db.prototype=Object.create(J.prototype);db.prototype.constructor=db;ra.prototype=Object.create(z.prototype);ra.prototype.constructor=ra;ra.prototype.isCamera=!0;
|
|
|
ra.prototype.getWorldDirection=function(){var a=new da;return function(b){b=b||new q;this.getWorldQuaternion(a);return b.set(0,0,-1).applyQuaternion(a)}}();ra.prototype.lookAt=function(){var a=new H;return function(b){a.lookAt(this.position,b,this.up);this.quaternion.setFromRotationMatrix(a)}}();ra.prototype.clone=function(){return(new this.constructor).copy(this)};ra.prototype.copy=function(a){z.prototype.copy.call(this,a);this.matrixWorldInverse.copy(a.matrixWorldInverse);this.projectionMatrix.copy(a.projectionMatrix);
|
|
|
return this};Da.prototype=Object.assign(Object.create(ra.prototype),{constructor:Da,isPerspectiveCamera:!0,copy:function(a){ra.prototype.copy.call(this,a);this.fov=a.fov;this.zoom=a.zoom;this.near=a.near;this.far=a.far;this.focus=a.focus;this.aspect=a.aspect;this.view=null===a.view?null:Object.assign({},a.view);this.filmGauge=a.filmGauge;this.filmOffset=a.filmOffset;return this},setFocalLength:function(a){a=.5*this.getFilmHeight()/a;this.fov=2*h.Math.RAD2DEG*Math.atan(a);this.updateProjectionMatrix()},
|
|
|
getFocalLength:function(){var a=Math.tan(.5*h.Math.DEG2RAD*this.fov);return.5*this.getFilmHeight()/a},getEffectiveFOV:function(){return 2*h.Math.RAD2DEG*Math.atan(Math.tan(.5*h.Math.DEG2RAD*this.fov)/this.zoom)},getFilmWidth:function(){return this.filmGauge*Math.min(this.aspect,1)},getFilmHeight:function(){return this.filmGauge/Math.max(this.aspect,1)},setViewOffset:function(a,b,c,d,e,f){this.aspect=a/b;this.view={fullWidth:a,fullHeight:b,offsetX:c,offsetY:d,width:e,height:f};this.updateProjectionMatrix()},
|
|
@@ -553,8 +551,8 @@ this.right;a.object.top=this.top;a.object.bottom=this.bottom;a.object.near=this.
|
|
|
Eb.prototype.toJSON=function(a){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}};eb.prototype=Object.create(z.prototype);eb.prototype.constructor=eb;eb.prototype.copy=function(a,b){z.prototype.copy.call(this,a,b);null!==a.background&&(this.background=a.background.clone());null!==a.fog&&(this.fog=a.fog.clone());null!==a.overrideMaterial&&(this.overrideMaterial=a.overrideMaterial.clone());this.autoUpdate=a.autoUpdate;this.matrixAutoUpdate=a.matrixAutoUpdate;return this};eb.prototype.toJSON=
|
|
|
function(a){var b=z.prototype.toJSON.call(this,a);null!==this.background&&(b.object.background=this.background.toJSON(a));null!==this.fog&&(b.object.fog=this.fog.toJSON());return b};yd.prototype=Object.assign(Object.create(z.prototype),{constructor:yd,isLensFlare:!0,copy:function(a){z.prototype.copy.call(this,a);this.positionScreen.copy(a.positionScreen);this.customUpdateCallback=a.customUpdateCallback;for(var b=0,c=a.lensFlares.length;b<c;b++)this.lensFlares.push(a.lensFlares[b]);return this},add:function(a,
|
|
|
b,c,d,e,f){void 0===b&&(b=-1);void 0===c&&(c=0);void 0===f&&(f=1);void 0===e&&(e=new M(16777215));void 0===d&&(d=1);c=Math.min(c,Math.max(0,c));this.lensFlares.push({texture:a,size:b,distance:c,x:0,y:0,z:0,scale:1,rotation:0,opacity:f,color:e,blending:d})},updateLensFlares:function(){var a,b=this.lensFlares.length,c,d=2*-this.positionScreen.x,e=2*-this.positionScreen.y;for(a=0;a<b;a++)c=this.lensFlares[a],c.x=this.positionScreen.x+d*c.distance,c.y=this.positionScreen.y+e*c.distance,c.wantedRotation=
|
|
|
-c.x*Math.PI*.25,c.rotation+=.25*(c.wantedRotation-c.rotation)}});fb.prototype=Object.create(T.prototype);fb.prototype.constructor=fb;fb.prototype.copy=function(a){T.prototype.copy.call(this,a);this.color.copy(a.color);this.map=a.map;this.rotation=a.rotation;return this};ic.prototype=Object.assign(Object.create(z.prototype),{constructor:ic,isSprite:!0,raycast:function(){var a=new q;return function(b,c){a.setFromMatrixPosition(this.matrixWorld);var d=b.ray.distanceSqToPoint(a);d>this.scale.x*this.scale.y/
|
|
|
-4||c.push({distance:Math.sqrt(d),point:this.position,face:null,object:this})}}(),clone:function(){return(new this.constructor(this.material)).copy(this)}});jc.prototype=Object.assign(Object.create(z.prototype),{constructor:jc,copy:function(a){z.prototype.copy.call(this,a,!1);a=a.levels;for(var b=0,c=a.length;b<c;b++){var d=a[b];this.addLevel(d.object.clone(),d.distance)}return this},addLevel:function(a,b){void 0===b&&(b=0);b=Math.abs(b);for(var c=this.levels,d=0;d<c.length&&!(b<c[d].distance);d++);
|
|
|
+c.x*Math.PI*.25,c.rotation+=.25*(c.wantedRotation-c.rotation)}});fb.prototype=Object.create(T.prototype);fb.prototype.constructor=fb;fb.prototype.copy=function(a){T.prototype.copy.call(this,a);this.color.copy(a.color);this.map=a.map;this.rotation=a.rotation;return this};hc.prototype=Object.assign(Object.create(z.prototype),{constructor:hc,isSprite:!0,raycast:function(){var a=new q;return function(b,c){a.setFromMatrixPosition(this.matrixWorld);var d=b.ray.distanceSqToPoint(a);d>this.scale.x*this.scale.y/
|
|
|
+4||c.push({distance:Math.sqrt(d),point:this.position,face:null,object:this})}}(),clone:function(){return(new this.constructor(this.material)).copy(this)}});ic.prototype=Object.assign(Object.create(z.prototype),{constructor:ic,copy:function(a){z.prototype.copy.call(this,a,!1);a=a.levels;for(var b=0,c=a.length;b<c;b++){var d=a[b];this.addLevel(d.object.clone(),d.distance)}return this},addLevel:function(a,b){void 0===b&&(b=0);b=Math.abs(b);for(var c=this.levels,d=0;d<c.length&&!(b<c[d].distance);d++);
|
|
|
c.splice(d,0,{distance:b,object:a});this.add(a)},getObjectForDistance:function(a){for(var b=this.levels,c=1,d=b.length;c<d&&!(a<b[c].distance);c++);return b[c-1].object},raycast:function(){var a=new q;return function(b,c){a.setFromMatrixPosition(this.matrixWorld);var d=b.ray.origin.distanceTo(a);this.getObjectForDistance(d).raycast(b,c)}}(),update:function(){var a=new q,b=new q;return function(c){var d=this.levels;if(1<d.length){a.setFromMatrixPosition(c.matrixWorld);b.setFromMatrixPosition(this.matrixWorld);
|
|
|
c=a.distanceTo(b);d[0].object.visible=!0;for(var e=1,f=d.length;e<f;e++)if(c>=d[e].distance)d[e-1].object.visible=!1,d[e].object.visible=!0;else break;for(;e<f;e++)d[e].object.visible=!1}}}(),toJSON:function(a){a=z.prototype.toJSON.call(this,a);a.object.levels=[];for(var b=this.levels,c=0,d=b.length;c<d;c++){var e=b[c];a.object.levels.push({object:e.object.uuid,distance:e.distance})}return a}});gb.prototype=Object.create(ca.prototype);gb.prototype.constructor=gb;gb.prototype.isDataTexture=!0;Object.assign(Wc.prototype,
|
|
|
{calculateInverses:function(){this.boneInverses=[];for(var a=0,b=this.bones.length;a<b;a++){var c=new H;this.bones[a]&&c.getInverse(this.bones[a].matrixWorld);this.boneInverses.push(c)}},pose:function(){for(var a,b=0,c=this.bones.length;b<c;b++)(a=this.bones[b])&&a.matrixWorld.getInverse(this.boneInverses[b]);b=0;for(c=this.bones.length;b<c;b++)if(a=this.bones[b])a.parent&&a.parent.isBone?(a.matrix.getInverse(a.parent.matrixWorld),a.matrix.multiply(a.matrixWorld)):a.matrix.copy(a.matrixWorld),a.matrix.decompose(a.position,
|
|
@@ -562,38 +560,38 @@ a.quaternion,a.scale)},update:function(){var a=new H;return function(){for(var b
|
|
|
a);this.skin=a.skin;return this}});Yc.prototype=Object.assign(Object.create(va.prototype),{constructor:Yc,isSkinnedMesh:!0,bind:function(a,b){this.skeleton=a;void 0===b&&(this.updateMatrixWorld(!0),this.skeleton.calculateInverses(),b=this.matrixWorld);this.bindMatrix.copy(b);this.bindMatrixInverse.getInverse(b)},pose:function(){this.skeleton.pose()},normalizeSkinWeights:function(){if(this.geometry&&this.geometry.isGeometry)for(var a=0;a<this.geometry.skinWeights.length;a++){var b=this.geometry.skinWeights[a],
|
|
|
c=1/b.lengthManhattan();Infinity!==c?b.multiplyScalar(c):b.set(1,0,0,0)}else if(this.geometry&&this.geometry.isBufferGeometry)for(var b=new ha,d=this.geometry.attributes.skinWeight,a=0;a<d.count;a++)b.x=d.getX(a),b.y=d.getY(a),b.z=d.getZ(a),b.w=d.getW(a),c=1/b.lengthManhattan(),Infinity!==c?b.multiplyScalar(c):b.set(1,0,0,0),d.setXYZW(a,b.x,b.y,b.z,b.w)},updateMatrixWorld:function(a){va.prototype.updateMatrixWorld.call(this,!0);"attached"===this.bindMode?this.bindMatrixInverse.getInverse(this.matrixWorld):
|
|
|
"detached"===this.bindMode?this.bindMatrixInverse.getInverse(this.bindMatrix):console.warn("THREE.SkinnedMesh unrecognized bindMode: "+this.bindMode)},clone:function(){return(new this.constructor(this.geometry,this.material,this.skeleton.useVertexTexture)).copy(this)}});na.prototype=Object.create(T.prototype);na.prototype.constructor=na;na.prototype.isLineBasicMaterial=!0;na.prototype.copy=function(a){T.prototype.copy.call(this,a);this.color.copy(a.color);this.linewidth=a.linewidth;this.linecap=a.linecap;
|
|
|
-this.linejoin=a.linejoin;return this};Na.prototype=Object.assign(Object.create(z.prototype),{constructor:Na,isLine:!0,raycast:function(){var a=new H,b=new Va,c=new Ba;return function(d,e){var f=d.linePrecision,f=f*f,g=this.geometry,k=this.matrixWorld;null===g.boundingSphere&&g.computeBoundingSphere();c.copy(g.boundingSphere);c.applyMatrix4(k);if(!1!==d.ray.intersectsSphere(c)){a.getInverse(k);b.copy(d.ray).applyMatrix4(a);var h=new q,m=new q,k=new q,r=new q,p=this&&this.isLineSegments?2:1;if(g&&g.isBufferGeometry){var n=
|
|
|
-g.index,u=g.attributes.position.array;if(null!==n)for(var n=n.array,g=0,t=n.length-1;g<t;g+=p){var w=n[g+1];h.fromArray(u,3*n[g]);m.fromArray(u,3*w);w=b.distanceSqToSegment(h,m,r,k);w>f||(r.applyMatrix4(this.matrixWorld),w=d.ray.origin.distanceTo(r),w<d.near||w>d.far||e.push({distance:w,point:k.clone().applyMatrix4(this.matrixWorld),index:g,face:null,faceIndex:null,object:this}))}else for(g=0,t=u.length/3-1;g<t;g+=p)h.fromArray(u,3*g),m.fromArray(u,3*g+3),w=b.distanceSqToSegment(h,m,r,k),w>f||(r.applyMatrix4(this.matrixWorld),
|
|
|
-w=d.ray.origin.distanceTo(r),w<d.near||w>d.far||e.push({distance:w,point:k.clone().applyMatrix4(this.matrixWorld),index:g,face:null,faceIndex:null,object:this}))}else if(g&&g.isGeometry)for(h=g.vertices,m=h.length,g=0;g<m-1;g+=p)w=b.distanceSqToSegment(h[g],h[g+1],r,k),w>f||(r.applyMatrix4(this.matrixWorld),w=d.ray.origin.distanceTo(r),w<d.near||w>d.far||e.push({distance:w,point:k.clone().applyMatrix4(this.matrixWorld),index:g,face:null,faceIndex:null,object:this}))}}}(),clone:function(){return(new this.constructor(this.geometry,
|
|
|
+this.linejoin=a.linejoin;return this};Na.prototype=Object.assign(Object.create(z.prototype),{constructor:Na,isLine:!0,raycast:function(){var a=new H,b=new Va,c=new Ba;return function(d,e){var f=d.linePrecision,f=f*f,g=this.geometry,k=this.matrixWorld;null===g.boundingSphere&&g.computeBoundingSphere();c.copy(g.boundingSphere);c.applyMatrix4(k);if(!1!==d.ray.intersectsSphere(c)){a.getInverse(k);b.copy(d.ray).applyMatrix4(a);var h=new q,n=new q,k=new q,r=new q,p=this&&this.isLineSegments?2:1;if(g&&g.isBufferGeometry){var m=
|
|
|
+g.index,u=g.attributes.position.array;if(null!==m)for(var m=m.array,g=0,t=m.length-1;g<t;g+=p){var w=m[g+1];h.fromArray(u,3*m[g]);n.fromArray(u,3*w);w=b.distanceSqToSegment(h,n,r,k);w>f||(r.applyMatrix4(this.matrixWorld),w=d.ray.origin.distanceTo(r),w<d.near||w>d.far||e.push({distance:w,point:k.clone().applyMatrix4(this.matrixWorld),index:g,face:null,faceIndex:null,object:this}))}else for(g=0,t=u.length/3-1;g<t;g+=p)h.fromArray(u,3*g),n.fromArray(u,3*g+3),w=b.distanceSqToSegment(h,n,r,k),w>f||(r.applyMatrix4(this.matrixWorld),
|
|
|
+w=d.ray.origin.distanceTo(r),w<d.near||w>d.far||e.push({distance:w,point:k.clone().applyMatrix4(this.matrixWorld),index:g,face:null,faceIndex:null,object:this}))}else if(g&&g.isGeometry)for(h=g.vertices,n=h.length,g=0;g<n-1;g+=p)w=b.distanceSqToSegment(h[g],h[g+1],r,k),w>f||(r.applyMatrix4(this.matrixWorld),w=d.ray.origin.distanceTo(r),w<d.near||w>d.far||e.push({distance:w,point:k.clone().applyMatrix4(this.matrixWorld),index:g,face:null,faceIndex:null,object:this}))}}}(),clone:function(){return(new this.constructor(this.geometry,
|
|
|
this.material)).copy(this)}});ka.prototype=Object.assign(Object.create(Na.prototype),{constructor:ka,isLineSegments:!0});Ja.prototype=Object.create(T.prototype);Ja.prototype.constructor=Ja;Ja.prototype.isPointsMaterial=!0;Ja.prototype.copy=function(a){T.prototype.copy.call(this,a);this.color.copy(a.color);this.map=a.map;this.size=a.size;this.sizeAttenuation=a.sizeAttenuation;return this};Fb.prototype=Object.assign(Object.create(z.prototype),{constructor:Fb,isPoints:!0,raycast:function(){var a=new H,
|
|
|
-b=new Va,c=new Ba;return function(d,e){function f(a,c){var f=b.distanceSqToPoint(a);if(f<r){var k=b.closestPointToPoint(a);k.applyMatrix4(h);var m=d.ray.origin.distanceTo(k);m<d.near||m>d.far||e.push({distance:m,distanceToRay:Math.sqrt(f),point:k.clone(),index:c,face:null,object:g})}}var g=this,k=this.geometry,h=this.matrixWorld,m=d.params.Points.threshold;null===k.boundingSphere&&k.computeBoundingSphere();c.copy(k.boundingSphere);c.applyMatrix4(h);if(!1!==d.ray.intersectsSphere(c)){a.getInverse(h);
|
|
|
-b.copy(d.ray).applyMatrix4(a);var m=m/((this.scale.x+this.scale.y+this.scale.z)/3),r=m*m,m=new q;if(k&&k.isBufferGeometry){var p=k.index,k=k.attributes.position.array;if(null!==p)for(var n=p.array,p=0,u=n.length;p<u;p++){var t=n[p];m.fromArray(k,3*t);f(m,t)}else for(p=0,n=k.length/3;p<n;p++)m.fromArray(k,3*p),f(m,p)}else for(m=k.vertices,p=0,n=m.length;p<n;p++)f(m[p],p)}}}(),clone:function(){return(new this.constructor(this.geometry,this.material)).copy(this)}});kc.prototype=Object.assign(Object.create(z.prototype),
|
|
|
-{constructor:kc});Zc.prototype=Object.create(ca.prototype);Zc.prototype.constructor=Zc;Gb.prototype=Object.create(ca.prototype);Gb.prototype.constructor=Gb;Gb.prototype.isCompressedTexture=!0;$c.prototype=Object.create(ca.prototype);$c.prototype.constructor=$c;lc.prototype=Object.create(ca.prototype);lc.prototype.constructor=lc;lc.prototype.isDepthTexture=!0;Hb.prototype=Object.create(J.prototype);Hb.prototype.constructor=Hb;Ib.prototype=Object.create(J.prototype);Ib.prototype.constructor=Ib;mc.prototype=
|
|
|
-Object.create(P.prototype);mc.prototype.constructor=mc;la.prototype=Object.create(J.prototype);la.prototype.constructor=la;nc.prototype=Object.create(la.prototype);nc.prototype.constructor=nc;oc.prototype=Object.create(P.prototype);oc.prototype.constructor=oc;pc.prototype=Object.create(la.prototype);pc.prototype.constructor=pc;qc.prototype=Object.create(P.prototype);qc.prototype.constructor=qc;rc.prototype=Object.create(la.prototype);rc.prototype.constructor=rc;sc.prototype=Object.create(P.prototype);
|
|
|
-sc.prototype.constructor=sc;tc.prototype=Object.create(la.prototype);tc.prototype.constructor=tc;uc.prototype=Object.create(P.prototype);uc.prototype.constructor=uc;vc.prototype=Object.create(P.prototype);vc.prototype.constructor=vc;Jb.prototype=Object.create(J.prototype);Jb.prototype.constructor=Jb;Kb.prototype=Object.create(P.prototype);Kb.prototype.constructor=Kb;Lb.prototype=Object.create(J.prototype);Lb.prototype.constructor=Lb;wc.prototype=Object.create(P.prototype);wc.prototype.constructor=
|
|
|
-wc;Mb.prototype=Object.create(J.prototype);Mb.prototype.constructor=Mb;xc.prototype=Object.create(P.prototype);xc.prototype.constructor=xc;h.ShapeUtils={area:function(a){for(var b=a.length,c=0,d=b-1,e=0;e<b;d=e++)c+=a[d].x*a[e].y-a[e].x*a[d].y;return.5*c},triangulate:function(){return function(a,b){var c=a.length;if(3>c)return null;var d=[],e=[],f=[],g,k,l;if(0<h.ShapeUtils.area(a))for(k=0;k<c;k++)e[k]=k;else for(k=0;k<c;k++)e[k]=c-1-k;var m=2*c;for(k=c-1;2<c;){if(0>=m--){console.warn("THREE.ShapeUtils: Unable to triangulate polygon! in triangulate()");
|
|
|
-break}g=k;c<=g&&(g=0);k=g+1;c<=k&&(k=0);l=k+1;c<=l&&(l=0);var r;a:{var p,n,u,t,q,F,v,x;p=a[e[g]].x;n=a[e[g]].y;u=a[e[k]].x;t=a[e[k]].y;q=a[e[l]].x;F=a[e[l]].y;if(0>=(u-p)*(F-n)-(t-n)*(q-p))r=!1;else{var I,y,E,G,D,L,C,z,B,H;I=q-u;y=F-t;E=p-q;G=n-F;D=u-p;L=t-n;for(r=0;r<c;r++)if(v=a[e[r]].x,x=a[e[r]].y,!(v===p&&x===n||v===u&&x===t||v===q&&x===F)&&(C=v-p,z=x-n,B=v-u,H=x-t,v-=q,x-=F,B=I*H-y*B,C=D*z-L*C,z=E*x-G*v,B>=-Number.EPSILON&&z>=-Number.EPSILON&&C>=-Number.EPSILON)){r=!1;break a}r=!0}}if(r){d.push([a[e[g]],
|
|
|
-a[e[k]],a[e[l]]]);f.push([e[g],e[k],e[l]]);g=k;for(l=k+1;l<c;g++,l++)e[g]=e[l];c--;m=2*c}}return b?f:d}}(),triangulateShape:function(a,b){function c(a){var b=a.length;2<b&&a[b-1].equals(a[0])&&a.pop()}function d(a,b,c){return a.x!==b.x?a.x<b.x?a.x<=c.x&&c.x<=b.x:b.x<=c.x&&c.x<=a.x:a.y<b.y?a.y<=c.y&&c.y<=b.y:b.y<=c.y&&c.y<=a.y}function e(a,b,c,e,f){var g=b.x-a.x,k=b.y-a.y,h=e.x-c.x,l=e.y-c.y,m=a.x-c.x,n=a.y-c.y,p=k*h-g*l,r=k*m-g*n;if(Math.abs(p)>Number.EPSILON){if(0<p){if(0>r||r>p)return[];h=l*m-h*
|
|
|
+b=new Va,c=new Ba;return function(d,e){function f(a,c){var f=b.distanceSqToPoint(a);if(f<r){var k=b.closestPointToPoint(a);k.applyMatrix4(h);var m=d.ray.origin.distanceTo(k);m<d.near||m>d.far||e.push({distance:m,distanceToRay:Math.sqrt(f),point:k.clone(),index:c,face:null,object:g})}}var g=this,k=this.geometry,h=this.matrixWorld,n=d.params.Points.threshold;null===k.boundingSphere&&k.computeBoundingSphere();c.copy(k.boundingSphere);c.applyMatrix4(h);if(!1!==d.ray.intersectsSphere(c)){a.getInverse(h);
|
|
|
+b.copy(d.ray).applyMatrix4(a);var n=n/((this.scale.x+this.scale.y+this.scale.z)/3),r=n*n,n=new q;if(k&&k.isBufferGeometry){var p=k.index,k=k.attributes.position.array;if(null!==p)for(var m=p.array,p=0,u=m.length;p<u;p++){var t=m[p];n.fromArray(k,3*t);f(n,t)}else for(p=0,m=k.length/3;p<m;p++)n.fromArray(k,3*p),f(n,p)}else for(n=k.vertices,p=0,m=n.length;p<m;p++)f(n[p],p)}}}(),clone:function(){return(new this.constructor(this.geometry,this.material)).copy(this)}});jc.prototype=Object.assign(Object.create(z.prototype),
|
|
|
+{constructor:jc});Zc.prototype=Object.create(ca.prototype);Zc.prototype.constructor=Zc;Gb.prototype=Object.create(ca.prototype);Gb.prototype.constructor=Gb;Gb.prototype.isCompressedTexture=!0;$c.prototype=Object.create(ca.prototype);$c.prototype.constructor=$c;kc.prototype=Object.create(ca.prototype);kc.prototype.constructor=kc;kc.prototype.isDepthTexture=!0;Hb.prototype=Object.create(J.prototype);Hb.prototype.constructor=Hb;Ib.prototype=Object.create(J.prototype);Ib.prototype.constructor=Ib;lc.prototype=
|
|
|
+Object.create(P.prototype);lc.prototype.constructor=lc;la.prototype=Object.create(J.prototype);la.prototype.constructor=la;mc.prototype=Object.create(la.prototype);mc.prototype.constructor=mc;nc.prototype=Object.create(P.prototype);nc.prototype.constructor=nc;oc.prototype=Object.create(la.prototype);oc.prototype.constructor=oc;pc.prototype=Object.create(P.prototype);pc.prototype.constructor=pc;qc.prototype=Object.create(la.prototype);qc.prototype.constructor=qc;rc.prototype=Object.create(P.prototype);
|
|
|
+rc.prototype.constructor=rc;sc.prototype=Object.create(la.prototype);sc.prototype.constructor=sc;tc.prototype=Object.create(P.prototype);tc.prototype.constructor=tc;uc.prototype=Object.create(P.prototype);uc.prototype.constructor=uc;Jb.prototype=Object.create(J.prototype);Jb.prototype.constructor=Jb;vc.prototype=Object.create(P.prototype);vc.prototype.constructor=vc;Kb.prototype=Object.create(J.prototype);Kb.prototype.constructor=Kb;wc.prototype=Object.create(P.prototype);wc.prototype.constructor=
|
|
|
+wc;Lb.prototype=Object.create(J.prototype);Lb.prototype.constructor=Lb;xc.prototype=Object.create(P.prototype);xc.prototype.constructor=xc;h.ShapeUtils={area:function(a){for(var b=a.length,c=0,d=b-1,e=0;e<b;d=e++)c+=a[d].x*a[e].y-a[e].x*a[d].y;return.5*c},triangulate:function(){return function(a,b){var c=a.length;if(3>c)return null;var d=[],e=[],f=[],g,k,l;if(0<h.ShapeUtils.area(a))for(k=0;k<c;k++)e[k]=k;else for(k=0;k<c;k++)e[k]=c-1-k;var n=2*c;for(k=c-1;2<c;){if(0>=n--){console.warn("THREE.ShapeUtils: Unable to triangulate polygon! in triangulate()");
|
|
|
+break}g=k;c<=g&&(g=0);k=g+1;c<=k&&(k=0);l=k+1;c<=l&&(l=0);var r;a:{var p,m,u,t,q,F,v,x;p=a[e[g]].x;m=a[e[g]].y;u=a[e[k]].x;t=a[e[k]].y;q=a[e[l]].x;F=a[e[l]].y;if(0>=(u-p)*(F-m)-(t-m)*(q-p))r=!1;else{var I,y,E,G,D,L,C,z,B,H;I=q-u;y=F-t;E=p-q;G=m-F;D=u-p;L=t-m;for(r=0;r<c;r++)if(v=a[e[r]].x,x=a[e[r]].y,!(v===p&&x===m||v===u&&x===t||v===q&&x===F)&&(C=v-p,z=x-m,B=v-u,H=x-t,v-=q,x-=F,B=I*H-y*B,C=D*z-L*C,z=E*x-G*v,B>=-Number.EPSILON&&z>=-Number.EPSILON&&C>=-Number.EPSILON)){r=!1;break a}r=!0}}if(r){d.push([a[e[g]],
|
|
|
+a[e[k]],a[e[l]]]);f.push([e[g],e[k],e[l]]);g=k;for(l=k+1;l<c;g++,l++)e[g]=e[l];c--;n=2*c}}return b?f:d}}(),triangulateShape:function(a,b){function c(a){var b=a.length;2<b&&a[b-1].equals(a[0])&&a.pop()}function d(a,b,c){return a.x!==b.x?a.x<b.x?a.x<=c.x&&c.x<=b.x:b.x<=c.x&&c.x<=a.x:a.y<b.y?a.y<=c.y&&c.y<=b.y:b.y<=c.y&&c.y<=a.y}function e(a,b,c,e,f){var g=b.x-a.x,k=b.y-a.y,h=e.x-c.x,l=e.y-c.y,m=a.x-c.x,n=a.y-c.y,p=k*h-g*l,r=k*m-g*n;if(Math.abs(p)>Number.EPSILON){if(0<p){if(0>r||r>p)return[];h=l*m-h*
|
|
|
n;if(0>h||h>p)return[]}else{if(0<r||r<p)return[];h=l*m-h*n;if(0<h||h<p)return[]}if(0===h)return!f||0!==r&&r!==p?[a]:[];if(h===p)return!f||0!==r&&r!==p?[b]:[];if(0===r)return[c];if(r===p)return[e];f=h/p;return[{x:a.x+f*g,y:a.y+f*k}]}if(0!==r||l*m!==h*n)return[];k=0===g&&0===k;h=0===h&&0===l;if(k&&h)return a.x!==c.x||a.y!==c.y?[]:[a];if(k)return d(c,e,a)?[a]:[];if(h)return d(a,b,c)?[c]:[];0!==g?(a.x<b.x?(g=a,h=a.x,k=b,a=b.x):(g=b,h=b.x,k=a,a=a.x),c.x<e.x?(b=c,p=c.x,l=e,c=e.x):(b=e,p=e.x,l=c,c=c.x)):
|
|
|
-(a.y<b.y?(g=a,h=a.y,k=b,a=b.y):(g=b,h=b.y,k=a,a=a.y),c.y<e.y?(b=c,p=c.y,l=e,c=e.y):(b=e,p=e.y,l=c,c=c.y));return h<=p?a<p?[]:a===p?f?[]:[b]:a<=c?[b,k]:[b,l]:h>c?[]:h===c?f?[]:[g]:a<=c?[g,k]:[g,l]}function f(a,b,c,d){var e=b.x-a.x,f=b.y-a.y;b=c.x-a.x;c=c.y-a.y;var g=d.x-a.x;d=d.y-a.y;a=e*c-f*b;e=e*d-f*g;return Math.abs(a)>Number.EPSILON?(b=g*c-d*b,0<a?0<=e&&0<=b:0<=e||0<=b):0<e}c(a);b.forEach(c);var g,k,l,m,r,p={};l=a.concat();g=0;for(k=b.length;g<k;g++)Array.prototype.push.apply(l,b[g]);g=0;for(k=
|
|
|
+(a.y<b.y?(g=a,h=a.y,k=b,a=b.y):(g=b,h=b.y,k=a,a=a.y),c.y<e.y?(b=c,p=c.y,l=e,c=e.y):(b=e,p=e.y,l=c,c=c.y));return h<=p?a<p?[]:a===p?f?[]:[b]:a<=c?[b,k]:[b,l]:h>c?[]:h===c?f?[]:[g]:a<=c?[g,k]:[g,l]}function f(a,b,c,d){var e=b.x-a.x,f=b.y-a.y;b=c.x-a.x;c=c.y-a.y;var g=d.x-a.x;d=d.y-a.y;a=e*c-f*b;e=e*d-f*g;return Math.abs(a)>Number.EPSILON?(b=g*c-d*b,0<a?0<=e&&0<=b:0<=e||0<=b):0<e}c(a);b.forEach(c);var g,k,l,n,r,p={};l=a.concat();g=0;for(k=b.length;g<k;g++)Array.prototype.push.apply(l,b[g]);g=0;for(k=
|
|
|
l.length;g<k;g++)r=l[g].x+":"+l[g].y,void 0!==p[r]&&console.warn("THREE.ShapeUtils: Duplicate point",r,g),p[r]=g;g=function(a,b){function c(a,b){var d=k.length-1,e=a-1;0>e&&(e=d);var g=a+1;g>d&&(g=0);d=f(k[a],k[e],k[g],h[b]);if(!d)return!1;d=h.length-1;e=b-1;0>e&&(e=d);g=b+1;g>d&&(g=0);return(d=f(h[b],h[e],h[g],k[a]))?!0:!1}function d(a,b){var c,f;for(c=0;c<k.length;c++)if(f=c+1,f%=k.length,f=e(a,b,k[c],k[f],!0),0<f.length)return!0;return!1}function g(a,c){var d,f,k,h;for(d=0;d<l.length;d++)for(f=
|
|
|
b[l[d]],k=0;k<f.length;k++)if(h=k+1,h%=f.length,h=e(a,c,f[k],f[h],!0),0<h.length)return!0;return!1}var k=a.concat(),h,l=[],m,n,p,r,q,C=[],z,B,H,J=0;for(m=b.length;J<m;J++)l.push(J);z=0;for(var N=2*l.length;0<l.length;){N--;if(0>N){console.log("Infinite Loop! Holes left:"+l.length+", Probably Hole outside Shape!");break}for(n=z;n<k.length;n++){p=k[n];m=-1;for(J=0;J<l.length;J++)if(r=l[J],q=p.x+":"+p.y+":"+r,void 0===C[q]){h=b[r];for(B=0;B<h.length;B++)if(r=h[B],c(n,B)&&!d(p,r)&&!g(p,r)){m=B;l.splice(J,
|
|
|
-1);z=k.slice(0,n+1);r=k.slice(n);B=h.slice(m);H=h.slice(0,m+1);k=z.concat(B).concat(H).concat(r);z=n;break}if(0<=m)break;C[q]=!0}if(0<=m)break}}return k}(a,b);var n=h.ShapeUtils.triangulate(g,!1);g=0;for(k=n.length;g<k;g++)for(m=n[g],l=0;3>l;l++)r=m[l].x+":"+m[l].y,r=p[r],void 0!==r&&(m[l]=r);return n.concat()},isClockWise:function(a){return 0>h.ShapeUtils.area(a)},b2:function(){return function(a,b,c,d){var e=1-a;return e*e*b+2*(1-a)*a*c+a*a*d}}(),b3:function(){return function(a,b,c,d,e){var f=1-
|
|
|
+1);z=k.slice(0,n+1);r=k.slice(n);B=h.slice(m);H=h.slice(0,m+1);k=z.concat(B).concat(H).concat(r);z=n;break}if(0<=m)break;C[q]=!0}if(0<=m)break}}return k}(a,b);var m=h.ShapeUtils.triangulate(g,!1);g=0;for(k=m.length;g<k;g++)for(n=m[g],l=0;3>l;l++)r=n[l].x+":"+n[l].y,r=p[r],void 0!==r&&(n[l]=r);return m.concat()},isClockWise:function(a){return 0>h.ShapeUtils.area(a)},b2:function(){return function(a,b,c,d){var e=1-a;return e*e*b+2*(1-a)*a*c+a*a*d}}(),b3:function(){return function(a,b,c,d,e){var f=1-
|
|
|
a,g=1-a;return f*f*f*b+3*g*g*a*c+3*(1-a)*a*a*d+a*a*a*e}}()};sa.prototype=Object.create(P.prototype);sa.prototype.constructor=sa;sa.prototype.addShapeList=function(a,b){for(var c=a.length,d=0;d<c;d++)this.addShape(a[d],b)};sa.prototype.addShape=function(a,b){function c(a,b,c){b||console.error("THREE.ExtrudeGeometry: vec does not exist");return b.clone().multiplyScalar(c).add(a)}function d(a,b,c){var d,e,f;e=a.x-b.x;f=a.y-b.y;d=c.x-a.x;var g=c.y-a.y,k=e*e+f*f;if(Math.abs(e*g-f*d)>Number.EPSILON){var h=
|
|
|
Math.sqrt(k),l=Math.sqrt(d*d+g*g),k=b.x-f/h;b=b.y+e/h;g=((c.x-g/l-k)*g-(c.y+d/l-b)*d)/(e*g-f*d);d=k+e*g-a.x;e=b+f*g-a.y;f=d*d+e*e;if(2>=f)return new C(d,e);f=Math.sqrt(f/2)}else a=!1,e>Number.EPSILON?d>Number.EPSILON&&(a=!0):e<-Number.EPSILON?d<-Number.EPSILON&&(a=!0):Math.sign(f)===Math.sign(g)&&(a=!0),a?(d=-f,f=Math.sqrt(k)):(d=e,e=f,f=Math.sqrt(k/2));return new C(d/f,e/f)}function e(a,b){var c,d;for(K=a.length;0<=--K;){c=K;d=K-1;0>d&&(d=a.length-1);var e,f=u+2*r;for(e=0;e<f;e++){var g=T*e,k=T*
|
|
|
(e+1),h=b+c+g,g=b+d+g,l=b+d+k,k=b+c+k,h=h+Q,g=g+Q,l=l+Q,k=k+Q;B.faces.push(new pa(h,g,k,null,null,1));B.faces.push(new pa(g,l,k,null,null,1));h=v.generateSideWallUV(B,h,g,l,k);B.faceVertexUvs[0].push([h[0],h[1],h[3]]);B.faceVertexUvs[0].push([h[1],h[2],h[3]])}}}function f(a,b,c){B.vertices.push(new q(a,b,c))}function g(a,b,c){a+=Q;b+=Q;c+=Q;B.faces.push(new pa(a,b,c,null,null,0));a=v.generateTopUV(B,a,b,c);B.faceVertexUvs[0].push(a)}var k=void 0!==b.amount?b.amount:100,l=void 0!==b.bevelThickness?
|
|
|
-b.bevelThickness:6,m=void 0!==b.bevelSize?b.bevelSize:l-2,r=void 0!==b.bevelSegments?b.bevelSegments:3,p=void 0!==b.bevelEnabled?b.bevelEnabled:!0,n=void 0!==b.curveSegments?b.curveSegments:12,u=void 0!==b.steps?b.steps:1,t=b.extrudePath,w,F=!1,v=void 0!==b.UVGenerator?b.UVGenerator:sa.WorldUVGenerator,x,I,y,E;t&&(w=t.getSpacedPoints(u),F=!0,p=!1,x=void 0!==b.frames?b.frames:new Kb.FrenetFrames(t,u,!1),I=new q,y=new q,E=new q);p||(m=l=r=0);var G,D,z,B=this,Q=this.vertices.length,t=a.extractPoints(n),
|
|
|
-n=t.shape,H=t.holes;if(t=!h.ShapeUtils.isClockWise(n)){n=n.reverse();D=0;for(z=H.length;D<z;D++)G=H[D],h.ShapeUtils.isClockWise(G)&&(H[D]=G.reverse());t=!1}var J=h.ShapeUtils.triangulateShape(n,H),P=n;D=0;for(z=H.length;D<z;D++)G=H[D],n=n.concat(G);var M,N,O,R,S,T=n.length,U,V=J.length,t=[],K=0;O=P.length;M=O-1;for(N=K+1;K<O;K++,M++,N++)M===O&&(M=0),N===O&&(N=0),t[K]=d(P[K],P[M],P[N]);var W=[],X,aa=t.concat();D=0;for(z=H.length;D<z;D++){G=H[D];X=[];K=0;O=G.length;M=O-1;for(N=K+1;K<O;K++,M++,N++)M===
|
|
|
-O&&(M=0),N===O&&(N=0),X[K]=d(G[K],G[M],G[N]);W.push(X);aa=aa.concat(X)}for(M=0;M<r;M++){O=M/r;R=l*Math.cos(O*Math.PI/2);N=m*Math.sin(O*Math.PI/2);K=0;for(O=P.length;K<O;K++)S=c(P[K],t[K],N),f(S.x,S.y,-R);D=0;for(z=H.length;D<z;D++)for(G=H[D],X=W[D],K=0,O=G.length;K<O;K++)S=c(G[K],X[K],N),f(S.x,S.y,-R)}N=m;for(K=0;K<T;K++)S=p?c(n[K],aa[K],N):n[K],F?(y.copy(x.normals[0]).multiplyScalar(S.x),I.copy(x.binormals[0]).multiplyScalar(S.y),E.copy(w[0]).add(y).add(I),f(E.x,E.y,E.z)):f(S.x,S.y,0);for(O=1;O<=
|
|
|
-u;O++)for(K=0;K<T;K++)S=p?c(n[K],aa[K],N):n[K],F?(y.copy(x.normals[O]).multiplyScalar(S.x),I.copy(x.binormals[O]).multiplyScalar(S.y),E.copy(w[O]).add(y).add(I),f(E.x,E.y,E.z)):f(S.x,S.y,k/u*O);for(M=r-1;0<=M;M--){O=M/r;R=l*Math.cos(O*Math.PI/2);N=m*Math.sin(O*Math.PI/2);K=0;for(O=P.length;K<O;K++)S=c(P[K],t[K],N),f(S.x,S.y,k+R);D=0;for(z=H.length;D<z;D++)for(G=H[D],X=W[D],K=0,O=G.length;K<O;K++)S=c(G[K],X[K],N),F?f(S.x,S.y+w[u-1].y,w[u-1].x+R):f(S.x,S.y,k+R)}(function(){if(p){var a=0*T;for(K=0;K<
|
|
|
+b.bevelThickness:6,n=void 0!==b.bevelSize?b.bevelSize:l-2,r=void 0!==b.bevelSegments?b.bevelSegments:3,p=void 0!==b.bevelEnabled?b.bevelEnabled:!0,m=void 0!==b.curveSegments?b.curveSegments:12,u=void 0!==b.steps?b.steps:1,t=b.extrudePath,w,F=!1,v=void 0!==b.UVGenerator?b.UVGenerator:sa.WorldUVGenerator,x,I,y,E;t&&(w=t.getSpacedPoints(u),F=!0,p=!1,x=void 0!==b.frames?b.frames:t.computeFrenetFrames(u,!1),I=new q,y=new q,E=new q);p||(n=l=r=0);var G,D,z,B=this,Q=this.vertices.length,t=a.extractPoints(m),
|
|
|
+m=t.shape,H=t.holes;if(t=!h.ShapeUtils.isClockWise(m)){m=m.reverse();D=0;for(z=H.length;D<z;D++)G=H[D],h.ShapeUtils.isClockWise(G)&&(H[D]=G.reverse());t=!1}var J=h.ShapeUtils.triangulateShape(m,H),P=m;D=0;for(z=H.length;D<z;D++)G=H[D],m=m.concat(G);var M,N,O,R,S,T=m.length,U,V=J.length,t=[],K=0;O=P.length;M=O-1;for(N=K+1;K<O;K++,M++,N++)M===O&&(M=0),N===O&&(N=0),t[K]=d(P[K],P[M],P[N]);var W=[],X,aa=t.concat();D=0;for(z=H.length;D<z;D++){G=H[D];X=[];K=0;O=G.length;M=O-1;for(N=K+1;K<O;K++,M++,N++)M===
|
|
|
+O&&(M=0),N===O&&(N=0),X[K]=d(G[K],G[M],G[N]);W.push(X);aa=aa.concat(X)}for(M=0;M<r;M++){O=M/r;R=l*Math.cos(O*Math.PI/2);N=n*Math.sin(O*Math.PI/2);K=0;for(O=P.length;K<O;K++)S=c(P[K],t[K],N),f(S.x,S.y,-R);D=0;for(z=H.length;D<z;D++)for(G=H[D],X=W[D],K=0,O=G.length;K<O;K++)S=c(G[K],X[K],N),f(S.x,S.y,-R)}N=n;for(K=0;K<T;K++)S=p?c(m[K],aa[K],N):m[K],F?(y.copy(x.normals[0]).multiplyScalar(S.x),I.copy(x.binormals[0]).multiplyScalar(S.y),E.copy(w[0]).add(y).add(I),f(E.x,E.y,E.z)):f(S.x,S.y,0);for(O=1;O<=
|
|
|
+u;O++)for(K=0;K<T;K++)S=p?c(m[K],aa[K],N):m[K],F?(y.copy(x.normals[O]).multiplyScalar(S.x),I.copy(x.binormals[O]).multiplyScalar(S.y),E.copy(w[O]).add(y).add(I),f(E.x,E.y,E.z)):f(S.x,S.y,k/u*O);for(M=r-1;0<=M;M--){O=M/r;R=l*Math.cos(O*Math.PI/2);N=n*Math.sin(O*Math.PI/2);K=0;for(O=P.length;K<O;K++)S=c(P[K],t[K],N),f(S.x,S.y,k+R);D=0;for(z=H.length;D<z;D++)for(G=H[D],X=W[D],K=0,O=G.length;K<O;K++)S=c(G[K],X[K],N),F?f(S.x,S.y+w[u-1].y,w[u-1].x+R):f(S.x,S.y,k+R)}(function(){if(p){var a=0*T;for(K=0;K<
|
|
|
V;K++)U=J[K],g(U[2]+a,U[1]+a,U[0]+a);a=T*(u+2*r);for(K=0;K<V;K++)U=J[K],g(U[0]+a,U[1]+a,U[2]+a)}else{for(K=0;K<V;K++)U=J[K],g(U[2],U[1],U[0]);for(K=0;K<V;K++)U=J[K],g(U[0]+T*u,U[1]+T*u,U[2]+T*u)}})();(function(){var a=0;e(P,a);a+=P.length;D=0;for(z=H.length;D<z;D++)G=H[D],e(G,a),a+=G.length})()};sa.WorldUVGenerator={generateTopUV:function(a,b,c,d){a=a.vertices;b=a[b];c=a[c];d=a[d];return[new C(b.x,b.y),new C(c.x,c.y),new C(d.x,d.y)]},generateSideWallUV:function(a,b,c,d,e){a=a.vertices;b=a[b];c=a[c];
|
|
|
-d=a[d];e=a[e];return.01>Math.abs(b.y-c.y)?[new C(b.x,1-b.z),new C(c.x,1-c.z),new C(d.x,1-d.z),new C(e.x,1-e.z)]:[new C(b.y,1-b.z),new C(c.y,1-c.z),new C(d.y,1-d.z),new C(e.y,1-e.z)]}};yc.prototype=Object.create(sa.prototype);yc.prototype.constructor=yc;hb.prototype=Object.create(J.prototype);hb.prototype.constructor=hb;Nb.prototype=Object.create(P.prototype);Nb.prototype.constructor=Nb;Ob.prototype=Object.create(J.prototype);Ob.prototype.constructor=Ob;zc.prototype=Object.create(P.prototype);zc.prototype.constructor=
|
|
|
-zc;Ac.prototype=Object.create(P.prototype);Ac.prototype.constructor=Ac;Pb.prototype=Object.create(J.prototype);Pb.prototype.constructor=Pb;Bc.prototype=Object.create(P.prototype);Bc.prototype.constructor=Bc;Xa.prototype=Object.create(P.prototype);Xa.prototype.constructor=Xa;Xa.prototype.addShapeList=function(a,b){for(var c=0,d=a.length;c<d;c++)this.addShape(a[c],b);return this};Xa.prototype.addShape=function(a,b){void 0===b&&(b={});var c=b.material,d=void 0===b.UVGenerator?sa.WorldUVGenerator:b.UVGenerator,
|
|
|
-e,f,g,k=this.vertices.length;e=a.extractPoints(void 0!==b.curveSegments?b.curveSegments:12);var l=e.shape,m=e.holes;if(!h.ShapeUtils.isClockWise(l))for(l=l.reverse(),e=0,f=m.length;e<f;e++)g=m[e],h.ShapeUtils.isClockWise(g)&&(m[e]=g.reverse());var r=h.ShapeUtils.triangulateShape(l,m);e=0;for(f=m.length;e<f;e++)g=m[e],l=l.concat(g);m=l.length;f=r.length;for(e=0;e<m;e++)g=l[e],this.vertices.push(new q(g.x,g.y,0));for(e=0;e<f;e++)m=r[e],l=m[0]+k,g=m[1]+k,m=m[2]+k,this.faces.push(new pa(l,g,m,null,null,
|
|
|
-c)),this.faceVertexUvs[0].push(d.generateTopUV(this,l,g,m))};Qb.prototype=Object.create(J.prototype);Qb.prototype.constructor=Qb;Ya.prototype=Object.create(J.prototype);Ya.prototype.constructor=Ya;ib.prototype=Object.create(P.prototype);ib.prototype.constructor=ib;Cc.prototype=Object.create(ib.prototype);Cc.prototype.constructor=Cc;Dc.prototype=Object.create(J.prototype);Dc.prototype.constructor=Dc;Rb.prototype=Object.create(J.prototype);Rb.prototype.constructor=Rb;Ec.prototype=Object.create(P.prototype);
|
|
|
-Ec.prototype.constructor=Ec;jb.prototype=Object.create(P.prototype);jb.prototype.constructor=jb;var Aa=Object.freeze({WireframeGeometry:Hb,ParametricGeometry:mc,ParametricBufferGeometry:Ib,TetrahedronGeometry:oc,TetrahedronBufferGeometry:nc,OctahedronGeometry:qc,OctahedronBufferGeometry:pc,IcosahedronGeometry:sc,IcosahedronBufferGeometry:rc,DodecahedronGeometry:uc,DodecahedronBufferGeometry:tc,PolyhedronGeometry:vc,PolyhedronBufferGeometry:la,TubeGeometry:Kb,TubeBufferGeometry:Jb,TorusKnotGeometry:wc,
|
|
|
-TorusKnotBufferGeometry:Lb,TorusGeometry:xc,TorusBufferGeometry:Mb,TextGeometry:yc,SphereBufferGeometry:hb,SphereGeometry:Nb,RingGeometry:zc,RingBufferGeometry:Ob,PlaneBufferGeometry:db,PlaneGeometry:Ac,LatheGeometry:Bc,LatheBufferGeometry:Pb,ShapeGeometry:Xa,ExtrudeGeometry:sa,EdgesGeometry:Qb,ConeGeometry:Cc,ConeBufferGeometry:Dc,CylinderGeometry:ib,CylinderBufferGeometry:Ya,CircleBufferGeometry:Rb,CircleGeometry:Ec,BoxBufferGeometry:cb,BoxGeometry:jb});Sb.prototype=Object.create(Ea.prototype);
|
|
|
-Sb.prototype.constructor=Sb;Sb.prototype.isShadowMaterial=!0;Tb.prototype=Object.create(Ea.prototype);Tb.prototype.constructor=Tb;Tb.prototype.isRawShaderMaterial=!0;Fc.prototype={constructor:Fc,isMultiMaterial:!0,toJSON:function(a){for(var b={metadata:{version:4.2,type:"material",generator:"MaterialExporter"},uuid:this.uuid,type:this.type,materials:[]},c=this.materials,d=0,e=c.length;d<e;d++){var f=c[d].toJSON(a);delete f.metadata;b.materials.push(f)}b.visible=this.visible;return b},clone:function(){for(var a=
|
|
|
+d=a[d];e=a[e];return.01>Math.abs(b.y-c.y)?[new C(b.x,1-b.z),new C(c.x,1-c.z),new C(d.x,1-d.z),new C(e.x,1-e.z)]:[new C(b.y,1-b.z),new C(c.y,1-c.z),new C(d.y,1-d.z),new C(e.y,1-e.z)]}};yc.prototype=Object.create(sa.prototype);yc.prototype.constructor=yc;hb.prototype=Object.create(J.prototype);hb.prototype.constructor=hb;Mb.prototype=Object.create(P.prototype);Mb.prototype.constructor=Mb;Nb.prototype=Object.create(J.prototype);Nb.prototype.constructor=Nb;zc.prototype=Object.create(P.prototype);zc.prototype.constructor=
|
|
|
+zc;Ac.prototype=Object.create(P.prototype);Ac.prototype.constructor=Ac;Ob.prototype=Object.create(J.prototype);Ob.prototype.constructor=Ob;Bc.prototype=Object.create(P.prototype);Bc.prototype.constructor=Bc;Xa.prototype=Object.create(P.prototype);Xa.prototype.constructor=Xa;Xa.prototype.addShapeList=function(a,b){for(var c=0,d=a.length;c<d;c++)this.addShape(a[c],b);return this};Xa.prototype.addShape=function(a,b){void 0===b&&(b={});var c=b.material,d=void 0===b.UVGenerator?sa.WorldUVGenerator:b.UVGenerator,
|
|
|
+e,f,g,k=this.vertices.length;e=a.extractPoints(void 0!==b.curveSegments?b.curveSegments:12);var l=e.shape,n=e.holes;if(!h.ShapeUtils.isClockWise(l))for(l=l.reverse(),e=0,f=n.length;e<f;e++)g=n[e],h.ShapeUtils.isClockWise(g)&&(n[e]=g.reverse());var r=h.ShapeUtils.triangulateShape(l,n);e=0;for(f=n.length;e<f;e++)g=n[e],l=l.concat(g);n=l.length;f=r.length;for(e=0;e<n;e++)g=l[e],this.vertices.push(new q(g.x,g.y,0));for(e=0;e<f;e++)n=r[e],l=n[0]+k,g=n[1]+k,n=n[2]+k,this.faces.push(new pa(l,g,n,null,null,
|
|
|
+c)),this.faceVertexUvs[0].push(d.generateTopUV(this,l,g,n))};Pb.prototype=Object.create(J.prototype);Pb.prototype.constructor=Pb;Ya.prototype=Object.create(J.prototype);Ya.prototype.constructor=Ya;ib.prototype=Object.create(P.prototype);ib.prototype.constructor=ib;Cc.prototype=Object.create(ib.prototype);Cc.prototype.constructor=Cc;Dc.prototype=Object.create(J.prototype);Dc.prototype.constructor=Dc;Qb.prototype=Object.create(J.prototype);Qb.prototype.constructor=Qb;Ec.prototype=Object.create(P.prototype);
|
|
|
+Ec.prototype.constructor=Ec;jb.prototype=Object.create(P.prototype);jb.prototype.constructor=jb;var Aa=Object.freeze({WireframeGeometry:Hb,ParametricGeometry:lc,ParametricBufferGeometry:Ib,TetrahedronGeometry:nc,TetrahedronBufferGeometry:mc,OctahedronGeometry:pc,OctahedronBufferGeometry:oc,IcosahedronGeometry:rc,IcosahedronBufferGeometry:qc,DodecahedronGeometry:tc,DodecahedronBufferGeometry:sc,PolyhedronGeometry:uc,PolyhedronBufferGeometry:la,TubeGeometry:vc,TubeBufferGeometry:Jb,TorusKnotGeometry:wc,
|
|
|
+TorusKnotBufferGeometry:Kb,TorusGeometry:xc,TorusBufferGeometry:Lb,TextGeometry:yc,SphereBufferGeometry:hb,SphereGeometry:Mb,RingGeometry:zc,RingBufferGeometry:Nb,PlaneBufferGeometry:db,PlaneGeometry:Ac,LatheGeometry:Bc,LatheBufferGeometry:Ob,ShapeGeometry:Xa,ExtrudeGeometry:sa,EdgesGeometry:Pb,ConeGeometry:Cc,ConeBufferGeometry:Dc,CylinderGeometry:ib,CylinderBufferGeometry:Ya,CircleBufferGeometry:Qb,CircleGeometry:Ec,BoxBufferGeometry:cb,BoxGeometry:jb});Rb.prototype=Object.create(Ea.prototype);
|
|
|
+Rb.prototype.constructor=Rb;Rb.prototype.isShadowMaterial=!0;Sb.prototype=Object.create(Ea.prototype);Sb.prototype.constructor=Sb;Sb.prototype.isRawShaderMaterial=!0;Fc.prototype={constructor:Fc,isMultiMaterial:!0,toJSON:function(a){for(var b={metadata:{version:4.2,type:"material",generator:"MaterialExporter"},uuid:this.uuid,type:this.type,materials:[]},c=this.materials,d=0,e=c.length;d<e;d++){var f=c[d].toJSON(a);delete f.metadata;b.materials.push(f)}b.visible=this.visible;return b},clone:function(){for(var a=
|
|
|
new this.constructor,b=0;b<this.materials.length;b++)a.materials.push(this.materials[b].clone());a.visible=this.visible;return a}};wa.prototype=Object.create(T.prototype);wa.prototype.constructor=wa;wa.prototype.isMeshStandardMaterial=!0;wa.prototype.copy=function(a){T.prototype.copy.call(this,a);this.defines={STANDARD:""};this.color.copy(a.color);this.roughness=a.roughness;this.metalness=a.metalness;this.map=a.map;this.lightMap=a.lightMap;this.lightMapIntensity=a.lightMapIntensity;this.aoMap=a.aoMap;
|
|
|
this.aoMapIntensity=a.aoMapIntensity;this.emissive.copy(a.emissive);this.emissiveMap=a.emissiveMap;this.emissiveIntensity=a.emissiveIntensity;this.bumpMap=a.bumpMap;this.bumpScale=a.bumpScale;this.normalMap=a.normalMap;this.normalScale.copy(a.normalScale);this.displacementMap=a.displacementMap;this.displacementScale=a.displacementScale;this.displacementBias=a.displacementBias;this.roughnessMap=a.roughnessMap;this.metalnessMap=a.metalnessMap;this.alphaMap=a.alphaMap;this.envMap=a.envMap;this.envMapIntensity=
|
|
|
a.envMapIntensity;this.refractionRatio=a.refractionRatio;this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;this.wireframeLinecap=a.wireframeLinecap;this.wireframeLinejoin=a.wireframeLinejoin;this.skinning=a.skinning;this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};kb.prototype=Object.create(wa.prototype);kb.prototype.constructor=kb;kb.prototype.isMeshPhysicalMaterial=!0;kb.prototype.copy=function(a){wa.prototype.copy.call(this,a);this.defines={PHYSICAL:""};
|
|
@@ -602,12 +600,12 @@ this.emissive.copy(a.emissive);this.emissiveMap=a.emissiveMap;this.emissiveInten
|
|
|
this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;this.wireframeLinecap=a.wireframeLinecap;this.wireframeLinejoin=a.wireframeLinejoin;this.skinning=a.skinning;this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};lb.prototype=Object.create(T.prototype);lb.prototype.constructor=lb;lb.prototype.isMeshNormalMaterial=!0;lb.prototype.copy=function(a){T.prototype.copy.call(this,a);this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;return this};
|
|
|
mb.prototype=Object.create(T.prototype);mb.prototype.constructor=mb;mb.prototype.isMeshLambertMaterial=!0;mb.prototype.copy=function(a){T.prototype.copy.call(this,a);this.color.copy(a.color);this.map=a.map;this.lightMap=a.lightMap;this.lightMapIntensity=a.lightMapIntensity;this.aoMap=a.aoMap;this.aoMapIntensity=a.aoMapIntensity;this.emissive.copy(a.emissive);this.emissiveMap=a.emissiveMap;this.emissiveIntensity=a.emissiveIntensity;this.specularMap=a.specularMap;this.alphaMap=a.alphaMap;this.envMap=
|
|
|
a.envMap;this.combine=a.combine;this.reflectivity=a.reflectivity;this.refractionRatio=a.refractionRatio;this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;this.wireframeLinecap=a.wireframeLinecap;this.wireframeLinejoin=a.wireframeLinejoin;this.skinning=a.skinning;this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};nb.prototype=Object.create(T.prototype);nb.prototype.constructor=nb;nb.prototype.isLineDashedMaterial=!0;nb.prototype.copy=function(a){T.prototype.copy.call(this,
|
|
|
-a);this.color.copy(a.color);this.linewidth=a.linewidth;this.scale=a.scale;this.dashSize=a.dashSize;this.gapSize=a.gapSize;return this};var vf=Object.freeze({ShadowMaterial:Sb,SpriteMaterial:fb,RawShaderMaterial:Tb,ShaderMaterial:Ea,PointsMaterial:Ja,MultiMaterial:Fc,MeshPhysicalMaterial:kb,MeshStandardMaterial:wa,MeshPhongMaterial:Za,MeshNormalMaterial:lb,MeshLambertMaterial:mb,MeshDepthMaterial:Ta,MeshBasicMaterial:Ia,LineDashedMaterial:nb,LineBasicMaterial:na,Material:T});h.Cache={enabled:!1,files:{},
|
|
|
+a);this.color.copy(a.color);this.linewidth=a.linewidth;this.scale=a.scale;this.dashSize=a.dashSize;this.gapSize=a.gapSize;return this};var uf=Object.freeze({ShadowMaterial:Rb,SpriteMaterial:fb,RawShaderMaterial:Sb,ShaderMaterial:Ea,PointsMaterial:Ja,MultiMaterial:Fc,MeshPhysicalMaterial:kb,MeshStandardMaterial:wa,MeshPhongMaterial:Za,MeshNormalMaterial:lb,MeshLambertMaterial:mb,MeshDepthMaterial:Ta,MeshBasicMaterial:Ia,LineDashedMaterial:nb,LineBasicMaterial:na,Material:T});h.Cache={enabled:!1,files:{},
|
|
|
add:function(a,b){!1!==this.enabled&&(this.files[a]=b)},get:function(a){if(!1!==this.enabled)return this.files[a]},remove:function(a){delete this.files[a]},clear:function(){this.files={}}};h.DefaultLoadingManager=new zd;Object.assign(xa.prototype,{load:function(a,b,c,d){void 0===a&&(a="");void 0!==this.path&&(a=this.path+a);var e=this,f=h.Cache.get(a);if(void 0!==f)return e.manager.itemStart(a),setTimeout(function(){b&&b(f);e.manager.itemEnd(a)},0),f;var g=a.match(/^data:(.*?)(;base64)?,(.*)$/);if(g){var k=
|
|
|
-g[1],l=!!g[2],g=g[3],g=window.decodeURIComponent(g);l&&(g=window.atob(g));try{var m,r=(this.responseType||"").toLowerCase();switch(r){case "arraybuffer":case "blob":m=new ArrayBuffer(g.length);for(var p=new Uint8Array(m),l=0;l<g.length;l++)p[l]=g.charCodeAt(l);"blob"===r&&(m=new Blob([m],{type:k}));break;case "document":m=(new DOMParser).parseFromString(g,k);break;case "json":m=JSON.parse(g);break;default:m=g}window.setTimeout(function(){b&&b(m);e.manager.itemEnd(a)},0)}catch(q){window.setTimeout(function(){d&&
|
|
|
-d(q);e.manager.itemError(a)},0)}}else{var n=new XMLHttpRequest;n.open("GET",a,!0);n.addEventListener("load",function(c){var f=c.target.response;h.Cache.add(a,f);200===this.status?(b&&b(f),e.manager.itemEnd(a)):0===this.status?(console.warn("THREE.XHRLoader: HTTP Status 0 received."),b&&b(f),e.manager.itemEnd(a)):(d&&d(c),e.manager.itemError(a))},!1);void 0!==c&&n.addEventListener("progress",function(a){c(a)},!1);n.addEventListener("error",function(b){d&&d(b);e.manager.itemError(a)},!1);void 0!==this.responseType&&
|
|
|
-(n.responseType=this.responseType);void 0!==this.withCredentials&&(n.withCredentials=this.withCredentials);n.overrideMimeType&&n.overrideMimeType("text/plain");n.send(null)}e.manager.itemStart(a);return n},setPath:function(a){this.path=a;return this},setResponseType:function(a){this.responseType=a;return this},setWithCredentials:function(a){this.withCredentials=a;return this}});Object.assign(oe.prototype,{load:function(a,b,c,d){function e(e){h.load(a[e],function(a){a=f._parser(a,!0);g[e]={width:a.width,
|
|
|
-height:a.height,format:a.format,mipmaps:a.mipmaps};m+=1;6===m&&(1===a.mipmapCount&&(k.minFilter=1006),k.format=a.format,k.needsUpdate=!0,b&&b(k))},c,d)}var f=this,g=[],k=new Gb;k.image=g;var h=new xa(this.manager);h.setPath(this.path);h.setResponseType("arraybuffer");if(Array.isArray(a))for(var m=0,r=0,p=a.length;r<p;++r)e(r);else h.load(a,function(a){a=f._parser(a,!0);if(a.isCubemap)for(var c=a.mipmaps.length/a.mipmapCount,d=0;d<c;d++){g[d]={mipmaps:[]};for(var e=0;e<a.mipmapCount;e++)g[d].mipmaps.push(a.mipmaps[d*
|
|
|
+g[1],l=!!g[2],g=g[3],g=window.decodeURIComponent(g);l&&(g=window.atob(g));try{var n,r=(this.responseType||"").toLowerCase();switch(r){case "arraybuffer":case "blob":n=new ArrayBuffer(g.length);for(var p=new Uint8Array(n),l=0;l<g.length;l++)p[l]=g.charCodeAt(l);"blob"===r&&(n=new Blob([n],{type:k}));break;case "document":n=(new DOMParser).parseFromString(g,k);break;case "json":n=JSON.parse(g);break;default:n=g}window.setTimeout(function(){b&&b(n);e.manager.itemEnd(a)},0)}catch(q){window.setTimeout(function(){d&&
|
|
|
+d(q);e.manager.itemError(a)},0)}}else{var m=new XMLHttpRequest;m.open("GET",a,!0);m.addEventListener("load",function(c){var f=c.target.response;h.Cache.add(a,f);200===this.status?(b&&b(f),e.manager.itemEnd(a)):0===this.status?(console.warn("THREE.XHRLoader: HTTP Status 0 received."),b&&b(f),e.manager.itemEnd(a)):(d&&d(c),e.manager.itemError(a))},!1);void 0!==c&&m.addEventListener("progress",function(a){c(a)},!1);m.addEventListener("error",function(b){d&&d(b);e.manager.itemError(a)},!1);void 0!==this.responseType&&
|
|
|
+(m.responseType=this.responseType);void 0!==this.withCredentials&&(m.withCredentials=this.withCredentials);m.overrideMimeType&&m.overrideMimeType("text/plain");m.send(null)}e.manager.itemStart(a);return m},setPath:function(a){this.path=a;return this},setResponseType:function(a){this.responseType=a;return this},setWithCredentials:function(a){this.withCredentials=a;return this}});Object.assign(oe.prototype,{load:function(a,b,c,d){function e(e){h.load(a[e],function(a){a=f._parser(a,!0);g[e]={width:a.width,
|
|
|
+height:a.height,format:a.format,mipmaps:a.mipmaps};n+=1;6===n&&(1===a.mipmapCount&&(k.minFilter=1006),k.format=a.format,k.needsUpdate=!0,b&&b(k))},c,d)}var f=this,g=[],k=new Gb;k.image=g;var h=new xa(this.manager);h.setPath(this.path);h.setResponseType("arraybuffer");if(Array.isArray(a))for(var n=0,r=0,p=a.length;r<p;++r)e(r);else h.load(a,function(a){a=f._parser(a,!0);if(a.isCubemap)for(var c=a.mipmaps.length/a.mipmapCount,d=0;d<c;d++){g[d]={mipmaps:[]};for(var e=0;e<a.mipmapCount;e++)g[d].mipmaps.push(a.mipmaps[d*
|
|
|
a.mipmapCount+e]),g[d].format=a.format,g[d].width=a.width,g[d].height=a.height}else k.image.width=a.width,k.image.height=a.height,k.mipmaps=a.mipmaps;1===a.mipmapCount&&(k.minFilter=1006);k.format=a.format;k.needsUpdate=!0;b&&b(k)},c,d);return k},setPath:function(a){this.path=a;return this}});Object.assign(Ad.prototype,{load:function(a,b,c,d){var e=this,f=new gb,g=new xa(this.manager);g.setResponseType("arraybuffer");g.load(a,function(a){if(a=e._parser(a))void 0!==a.image?f.image=a.image:void 0!==
|
|
|
a.data&&(f.image.width=a.width,f.image.height=a.height,f.image.data=a.data),f.wrapS=void 0!==a.wrapS?a.wrapS:1001,f.wrapT=void 0!==a.wrapT?a.wrapT:1001,f.magFilter=void 0!==a.magFilter?a.magFilter:1006,f.minFilter=void 0!==a.minFilter?a.minFilter:1008,f.anisotropy=void 0!==a.anisotropy?a.anisotropy:1,void 0!==a.format&&(f.format=a.format),void 0!==a.type&&(f.type=a.type),void 0!==a.mipmaps&&(f.mipmaps=a.mipmaps),1===a.mipmapCount&&(f.minFilter=1006),f.needsUpdate=!0,b&&b(f,a)},c,d);return f}});Object.assign(Gc.prototype,
|
|
|
{load:function(a,b,c,d){var e=this,f=document.createElementNS("http://www.w3.org/1999/xhtml","img");f.onload=function(){f.onload=null;URL.revokeObjectURL(f.src);b&&b(f);e.manager.itemEnd(a)};f.onerror=d;if(0===a.indexOf("data:"))f.src=a;else{var g=new xa;g.setPath(this.path);g.setResponseType("blob");g.setWithCredentials(this.withCredentials);g.load(a,function(a){f.src=URL.createObjectURL(a)},c,d)}e.manager.itemStart(a);return f},setCrossOrigin:function(a){this.crossOrigin=a;return this},setWithCredentials:function(a){this.withCredentials=
|
|
@@ -623,23 +621,23 @@ b,h=0;h!==b;++h)e[g++]=a[k+h];return e},flattenJSON:function(a,b,c,d){for(var e=
|
|
|
this.parameterPositions,c=this._cachedIndex,d=b[c],e=b[c-1];a:{b:{c:{d:if(!(a<d)){for(var f=c+2;;){if(void 0===d){if(a<e)break d;this._cachedIndex=c=b.length;return this.afterEnd_(c-1,a,e)}if(c===f)break;e=d;d=b[++c];if(a<d)break b}d=b.length;break c}if(a>=e)break a;else{f=b[1];a<f&&(c=2,e=f);for(f=c-2;;){if(void 0===e)return this._cachedIndex=0,this.beforeStart_(0,a,d);if(c===f)break;d=e;e=b[--c-1];if(a>=e)break b}d=c;c=0}}for(;c<d;)e=c+d>>>1,a<b[e]?d=e:c=e+1;d=b[c];e=b[c-1];if(void 0===e)return this._cachedIndex=
|
|
|
0,this.beforeStart_(0,a,d);if(void 0===d)return this._cachedIndex=c=b.length,this.afterEnd_(c-1,e,a)}this._cachedIndex=c;this.intervalChanged_(c,e,d)}return this.interpolate_(c,e,a,d)},settings:null,DefaultSettings_:{},getSettings_:function(){return this.settings||this.DefaultSettings_},copySampleValue_:function(a){var b=this.resultBuffer,c=this.sampleValues,d=this.valueSize;a*=d;for(var e=0;e!==d;++e)b[e]=c[a+e];return b},interpolate_:function(a,b,c,d){throw Error("call to abstract method");},intervalChanged_:function(a,
|
|
|
b,c){}};Object.assign(fa.prototype,{beforeStart_:fa.prototype.copySampleValue_,afterEnd_:fa.prototype.copySampleValue_});id.prototype=Object.assign(Object.create(fa.prototype),{constructor:id,DefaultSettings_:{endingStart:2400,endingEnd:2400},intervalChanged_:function(a,b,c){var d=this.parameterPositions,e=a-2,f=a+1,g=d[e],k=d[f];if(void 0===g)switch(this.getSettings_().endingStart){case 2401:e=a;g=2*b-c;break;case 2402:e=d.length-2;g=b+d[e]-d[e+1];break;default:e=a,g=c}if(void 0===k)switch(this.getSettings_().endingEnd){case 2401:f=
|
|
|
-a;k=2*c-b;break;case 2402:f=1;k=c+d[1]-d[0];break;default:f=a-1,k=b}a=.5*(c-b);d=this.valueSize;this._weightPrev=a/(b-g);this._weightNext=a/(k-c);this._offsetPrev=e*d;this._offsetNext=f*d},interpolate_:function(a,b,c,d){var e=this.resultBuffer,f=this.sampleValues,g=this.valueSize;a*=g;var k=a-g,h=this._offsetPrev,m=this._offsetNext,r=this._weightPrev,p=this._weightNext,n=(c-b)/(d-b);c=n*n;d=c*n;b=-r*d+2*r*c-r*n;r=(1+r)*d+(-1.5-2*r)*c+(-.5+r)*n+1;n=(-1-p)*d+(1.5+p)*c+.5*n;p=p*d-p*c;for(c=0;c!==g;++c)e[c]=
|
|
|
-b*f[h+c]+r*f[k+c]+n*f[a+c]+p*f[m+c];return e}});Hc.prototype=Object.assign(Object.create(fa.prototype),{constructor:Hc,interpolate_:function(a,b,c,d){var e=this.resultBuffer,f=this.sampleValues,g=this.valueSize;a*=g;var k=a-g;b=(c-b)/(d-b);c=1-b;for(d=0;d!==g;++d)e[d]=f[k+d]*c+f[a+d]*b;return e}});jd.prototype=Object.assign(Object.create(fa.prototype),{constructor:jd,interpolate_:function(a,b,c,d){return this.copySampleValue_(a-1)}});var Qa;Qa={TimeBufferType:Float32Array,ValueBufferType:Float32Array,
|
|
|
+a;k=2*c-b;break;case 2402:f=1;k=c+d[1]-d[0];break;default:f=a-1,k=b}a=.5*(c-b);d=this.valueSize;this._weightPrev=a/(b-g);this._weightNext=a/(k-c);this._offsetPrev=e*d;this._offsetNext=f*d},interpolate_:function(a,b,c,d){var e=this.resultBuffer,f=this.sampleValues,g=this.valueSize;a*=g;var k=a-g,h=this._offsetPrev,n=this._offsetNext,r=this._weightPrev,p=this._weightNext,m=(c-b)/(d-b);c=m*m;d=c*m;b=-r*d+2*r*c-r*m;r=(1+r)*d+(-1.5-2*r)*c+(-.5+r)*m+1;m=(-1-p)*d+(1.5+p)*c+.5*m;p=p*d-p*c;for(c=0;c!==g;++c)e[c]=
|
|
|
+b*f[h+c]+r*f[k+c]+m*f[a+c]+p*f[n+c];return e}});Hc.prototype=Object.assign(Object.create(fa.prototype),{constructor:Hc,interpolate_:function(a,b,c,d){var e=this.resultBuffer,f=this.sampleValues,g=this.valueSize;a*=g;var k=a-g;b=(c-b)/(d-b);c=1-b;for(d=0;d!==g;++d)e[d]=f[k+d]*c+f[a+d]*b;return e}});jd.prototype=Object.assign(Object.create(fa.prototype),{constructor:jd,interpolate_:function(a,b,c,d){return this.copySampleValue_(a-1)}});var Qa;Qa={TimeBufferType:Float32Array,ValueBufferType:Float32Array,
|
|
|
DefaultInterpolation:2301,InterpolantFactoryMethodDiscrete:function(a){return new jd(this.times,this.values,this.getValueSize(),a)},InterpolantFactoryMethodLinear:function(a){return new Hc(this.times,this.values,this.getValueSize(),a)},InterpolantFactoryMethodSmooth:function(a){return new id(this.times,this.values,this.getValueSize(),a)},setInterpolation:function(a){var b;switch(a){case 2300:b=this.InterpolantFactoryMethodDiscrete;break;case 2301:b=this.InterpolantFactoryMethodLinear;break;case 2302:b=
|
|
|
this.InterpolantFactoryMethodSmooth}if(void 0===b){b="unsupported interpolation for "+this.ValueTypeName+" keyframe track named "+this.name;if(void 0===this.createInterpolant)if(a!==this.DefaultInterpolation)this.setInterpolation(this.DefaultInterpolation);else throw Error(b);console.warn(b)}else this.createInterpolant=b},getInterpolation:function(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return 2300;case this.InterpolantFactoryMethodLinear:return 2301;case this.InterpolantFactoryMethodSmooth:return 2302}},
|
|
|
getValueSize:function(){return this.values.length/this.times.length},shift:function(a){if(0!==a)for(var b=this.times,c=0,d=b.length;c!==d;++c)b[c]+=a;return this},scale:function(a){if(1!==a)for(var b=this.times,c=0,d=b.length;c!==d;++c)b[c]*=a;return this},trim:function(a,b){for(var c=this.times,d=c.length,e=0,f=d-1;e!==d&&c[e]<a;)++e;for(;-1!==f&&c[f]>b;)--f;++f;if(0!==e||f!==d)e>=f&&(f=Math.max(f,1),e=f-1),d=this.getValueSize(),this.times=h.AnimationUtils.arraySlice(c,e,f),this.values=h.AnimationUtils.arraySlice(this.values,
|
|
|
e*d,f*d);return this},validate:function(){var a=!0,b=this.getValueSize();0!==b-Math.floor(b)&&(console.error("invalid value size in track",this),a=!1);var c=this.times,b=this.values,d=c.length;0===d&&(console.error("track is empty",this),a=!1);for(var e=null,f=0;f!==d;f++){var g=c[f];if("number"===typeof g&&isNaN(g)){console.error("time is not a valid number",this,f,g);a=!1;break}if(null!==e&&e>g){console.error("out of order keys",this,f,g,e);a=!1;break}e=g}if(void 0!==b&&h.AnimationUtils.isTypedArray(b))for(f=
|
|
|
-0,c=b.length;f!==c;++f)if(d=b[f],isNaN(d)){console.error("value is not a valid number",this,f,d);a=!1;break}return a},optimize:function(){for(var a=this.times,b=this.values,c=this.getValueSize(),d=2302===this.getInterpolation(),e=1,f=a.length-1,g=1;g<f;++g){var k=!1,l=a[g];if(l!==a[g+1]&&(1!==g||l!==l[0]))if(d)k=!0;else for(var m=g*c,r=m-c,p=m+c,l=0;l!==c;++l){var n=b[m+l];if(n!==b[r+l]||n!==b[p+l]){k=!0;break}}if(k){if(g!==e)for(a[e]=a[g],k=g*c,m=e*c,l=0;l!==c;++l)b[m+l]=b[k+l];++e}}if(0<f){a[e]=
|
|
|
-a[f];k=f*c;m=e*c;for(l=0;l!==c;++l)b[m+l]=b[k+l];++e}e!==a.length&&(this.times=h.AnimationUtils.arraySlice(a,0,e),this.values=h.AnimationUtils.arraySlice(b,0,e*c));return this}};Ub.prototype=Object.assign(Object.create(Qa),{constructor:Ub,ValueTypeName:"vector"});kd.prototype=Object.assign(Object.create(fa.prototype),{constructor:kd,interpolate_:function(a,b,c,d){var e=this.resultBuffer,f=this.sampleValues,g=this.valueSize;a*=g;b=(c-b)/(d-b);for(c=a+g;a!==c;a+=4)da.slerpFlat(e,0,f,a-g,f,a,b);return e}});
|
|
|
-Ic.prototype=Object.assign(Object.create(Qa),{constructor:Ic,ValueTypeName:"quaternion",DefaultInterpolation:2301,InterpolantFactoryMethodLinear:function(a){return new kd(this.times,this.values,this.getValueSize(),a)},InterpolantFactoryMethodSmooth:void 0});Vb.prototype=Object.assign(Object.create(Qa),{constructor:Vb,ValueTypeName:"number"});ld.prototype=Object.assign(Object.create(Qa),{constructor:ld,ValueTypeName:"string",ValueBufferType:Array,DefaultInterpolation:2300,InterpolantFactoryMethodLinear:void 0,
|
|
|
+0,c=b.length;f!==c;++f)if(d=b[f],isNaN(d)){console.error("value is not a valid number",this,f,d);a=!1;break}return a},optimize:function(){for(var a=this.times,b=this.values,c=this.getValueSize(),d=2302===this.getInterpolation(),e=1,f=a.length-1,g=1;g<f;++g){var k=!1,l=a[g];if(l!==a[g+1]&&(1!==g||l!==l[0]))if(d)k=!0;else for(var n=g*c,r=n-c,p=n+c,l=0;l!==c;++l){var m=b[n+l];if(m!==b[r+l]||m!==b[p+l]){k=!0;break}}if(k){if(g!==e)for(a[e]=a[g],k=g*c,n=e*c,l=0;l!==c;++l)b[n+l]=b[k+l];++e}}if(0<f){a[e]=
|
|
|
+a[f];k=f*c;n=e*c;for(l=0;l!==c;++l)b[n+l]=b[k+l];++e}e!==a.length&&(this.times=h.AnimationUtils.arraySlice(a,0,e),this.values=h.AnimationUtils.arraySlice(b,0,e*c));return this}};Tb.prototype=Object.assign(Object.create(Qa),{constructor:Tb,ValueTypeName:"vector"});kd.prototype=Object.assign(Object.create(fa.prototype),{constructor:kd,interpolate_:function(a,b,c,d){var e=this.resultBuffer,f=this.sampleValues,g=this.valueSize;a*=g;b=(c-b)/(d-b);for(c=a+g;a!==c;a+=4)da.slerpFlat(e,0,f,a-g,f,a,b);return e}});
|
|
|
+Ic.prototype=Object.assign(Object.create(Qa),{constructor:Ic,ValueTypeName:"quaternion",DefaultInterpolation:2301,InterpolantFactoryMethodLinear:function(a){return new kd(this.times,this.values,this.getValueSize(),a)},InterpolantFactoryMethodSmooth:void 0});Ub.prototype=Object.assign(Object.create(Qa),{constructor:Ub,ValueTypeName:"number"});ld.prototype=Object.assign(Object.create(Qa),{constructor:ld,ValueTypeName:"string",ValueBufferType:Array,DefaultInterpolation:2300,InterpolantFactoryMethodLinear:void 0,
|
|
|
InterpolantFactoryMethodSmooth:void 0});md.prototype=Object.assign(Object.create(Qa),{constructor:md,ValueTypeName:"bool",ValueBufferType:Array,DefaultInterpolation:2300,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0});nd.prototype=Object.assign(Object.create(Qa),{constructor:nd,ValueTypeName:"color"});qb.prototype=Qa;Qa.constructor=qb;Object.assign(qb,{parse:function(a){if(void 0===a.type)throw Error("track type undefined, can not parse");var b=qb._getTrackTypeForValueTypeName(a.type);
|
|
|
-if(void 0===a.times){var c=[],d=[];h.AnimationUtils.flattenJSON(a.keys,c,d,"value");a.times=c;a.values=d}return void 0!==b.parse?b.parse(a):new b(a.name,a.times,a.values,a.interpolation)},toJSON:function(a){var b=a.constructor;if(void 0!==b.toJSON)b=b.toJSON(a);else{var b={name:a.name,times:h.AnimationUtils.convertArray(a.times,Array),values:h.AnimationUtils.convertArray(a.values,Array)},c=a.getInterpolation();c!==a.DefaultInterpolation&&(b.interpolation=c)}b.type=a.ValueTypeName;return b},_getTrackTypeForValueTypeName:function(a){switch(a.toLowerCase()){case "scalar":case "double":case "float":case "number":case "integer":return Vb;
|
|
|
-case "vector":case "vector2":case "vector3":case "vector4":return Ub;case "color":return nd;case "quaternion":return Ic;case "bool":case "boolean":return md;case "string":return ld}throw Error("Unsupported typeName: "+a);}});ua.prototype={constructor:ua,resetDuration:function(){for(var a=0,b=0,c=this.tracks.length;b!==c;++b)var d=this.tracks[b],a=Math.max(a,d.times[d.times.length-1]);this.duration=a},trim:function(){for(var a=0;a<this.tracks.length;a++)this.tracks[a].trim(0,this.duration);return this},
|
|
|
+if(void 0===a.times){var c=[],d=[];h.AnimationUtils.flattenJSON(a.keys,c,d,"value");a.times=c;a.values=d}return void 0!==b.parse?b.parse(a):new b(a.name,a.times,a.values,a.interpolation)},toJSON:function(a){var b=a.constructor;if(void 0!==b.toJSON)b=b.toJSON(a);else{var b={name:a.name,times:h.AnimationUtils.convertArray(a.times,Array),values:h.AnimationUtils.convertArray(a.values,Array)},c=a.getInterpolation();c!==a.DefaultInterpolation&&(b.interpolation=c)}b.type=a.ValueTypeName;return b},_getTrackTypeForValueTypeName:function(a){switch(a.toLowerCase()){case "scalar":case "double":case "float":case "number":case "integer":return Ub;
|
|
|
+case "vector":case "vector2":case "vector3":case "vector4":return Tb;case "color":return nd;case "quaternion":return Ic;case "bool":case "boolean":return md;case "string":return ld}throw Error("Unsupported typeName: "+a);}});ua.prototype={constructor:ua,resetDuration:function(){for(var a=0,b=0,c=this.tracks.length;b!==c;++b)var d=this.tracks[b],a=Math.max(a,d.times[d.times.length-1]);this.duration=a},trim:function(){for(var a=0;a<this.tracks.length;a++)this.tracks[a].trim(0,this.duration);return this},
|
|
|
optimize:function(){for(var a=0;a<this.tracks.length;a++)this.tracks[a].optimize();return this}};Object.assign(ua,{parse:function(a){for(var b=[],c=a.tracks,d=1/(a.fps||1),e=0,f=c.length;e!==f;++e)b.push(qb.parse(c[e]).scale(d));return new ua(a.name,a.duration,b)},toJSON:function(a){var b=[],c=a.tracks;a={name:a.name,duration:a.duration,tracks:b};for(var d=0,e=c.length;d!==e;++d)b.push(qb.toJSON(c[d]));return a},CreateFromMorphTargetSequence:function(a,b,c,d){for(var e=b.length,f=[],g=0;g<e;g++){var k=
|
|
|
-[],l=[];k.push((g+e-1)%e,g,(g+1)%e);l.push(0,1,0);var m=h.AnimationUtils.getKeyframeOrder(k),k=h.AnimationUtils.sortedArray(k,1,m),l=h.AnimationUtils.sortedArray(l,1,m);d||0!==k[0]||(k.push(e),l.push(l[0]));f.push((new Vb(".morphTargetInfluences["+b[g].name+"]",k,l)).scale(1/c))}return new ua(a,-1,f)},findByName:function(a,b){var c=a;Array.isArray(a)||(c=a.geometry&&a.geometry.animations||a.animations);for(var d=0;d<c.length;d++)if(c[d].name===b)return c[d];return null},CreateClipsFromMorphTargetSequences:function(a,
|
|
|
-b,c){for(var d={},e=/^([\w-]*?)([\d]+)$/,f=0,g=a.length;f<g;f++){var k=a[f],h=k.name.match(e);if(h&&1<h.length){var m=h[1];(h=d[m])||(d[m]=h=[]);h.push(k)}}a=[];for(m in d)a.push(ua.CreateFromMorphTargetSequence(m,d[m],b,c));return a},parseAnimation:function(a,b){if(!a)return console.error(" no animation in JSONLoader data"),null;for(var c=function(a,b,c,d,e){if(0!==c.length){var f=[],g=[];h.AnimationUtils.flattenJSON(c,f,g,d);0!==f.length&&e.push(new a(b,f,g))}},d=[],e=a.name||"default",f=a.length||
|
|
|
--1,g=a.fps||30,k=a.hierarchy||[],l=0;l<k.length;l++){var m=k[l].keys;if(m&&0!==m.length)if(m[0].morphTargets){for(var f={},r=0;r<m.length;r++)if(m[r].morphTargets)for(var p=0;p<m[r].morphTargets.length;p++)f[m[r].morphTargets[p]]=-1;for(var n in f){for(var q=[],t=[],p=0;p!==m[r].morphTargets.length;++p){var w=m[r];q.push(w.time);t.push(w.morphTarget===n?1:0)}d.push(new Vb(".morphTargetInfluence["+n+"]",q,t))}f=f.length*(g||1)}else r=".bones["+b[l].name+"]",c(Ub,r+".position",m,"pos",d),c(Ic,r+".quaternion",
|
|
|
-m,"rot",d),c(Ub,r+".scale",m,"scl",d)}return 0===d.length?null:new ua(e,f,d)}});Object.assign(od.prototype,{load:function(a,b,c,d){var e=this;(new xa(e.manager)).load(a,function(a){b(e.parse(JSON.parse(a)))},c,d)},setTextures:function(a){this.textures=a},parse:function(a){function b(a){void 0===c[a]&&console.warn("THREE.MaterialLoader: Undefined texture",a);return c[a]}var c=this.textures,d=new vf[a.type];void 0!==a.uuid&&(d.uuid=a.uuid);void 0!==a.name&&(d.name=a.name);void 0!==a.color&&d.color.setHex(a.color);
|
|
|
+[],l=[];k.push((g+e-1)%e,g,(g+1)%e);l.push(0,1,0);var n=h.AnimationUtils.getKeyframeOrder(k),k=h.AnimationUtils.sortedArray(k,1,n),l=h.AnimationUtils.sortedArray(l,1,n);d||0!==k[0]||(k.push(e),l.push(l[0]));f.push((new Ub(".morphTargetInfluences["+b[g].name+"]",k,l)).scale(1/c))}return new ua(a,-1,f)},findByName:function(a,b){var c=a;Array.isArray(a)||(c=a.geometry&&a.geometry.animations||a.animations);for(var d=0;d<c.length;d++)if(c[d].name===b)return c[d];return null},CreateClipsFromMorphTargetSequences:function(a,
|
|
|
+b,c){for(var d={},e=/^([\w-]*?)([\d]+)$/,f=0,g=a.length;f<g;f++){var k=a[f],h=k.name.match(e);if(h&&1<h.length){var n=h[1];(h=d[n])||(d[n]=h=[]);h.push(k)}}a=[];for(n in d)a.push(ua.CreateFromMorphTargetSequence(n,d[n],b,c));return a},parseAnimation:function(a,b){if(!a)return console.error(" no animation in JSONLoader data"),null;for(var c=function(a,b,c,d,e){if(0!==c.length){var f=[],g=[];h.AnimationUtils.flattenJSON(c,f,g,d);0!==f.length&&e.push(new a(b,f,g))}},d=[],e=a.name||"default",f=a.length||
|
|
|
+-1,g=a.fps||30,k=a.hierarchy||[],l=0;l<k.length;l++){var n=k[l].keys;if(n&&0!==n.length)if(n[0].morphTargets){for(var f={},r=0;r<n.length;r++)if(n[r].morphTargets)for(var p=0;p<n[r].morphTargets.length;p++)f[n[r].morphTargets[p]]=-1;for(var m in f){for(var q=[],t=[],p=0;p!==n[r].morphTargets.length;++p){var w=n[r];q.push(w.time);t.push(w.morphTarget===m?1:0)}d.push(new Ub(".morphTargetInfluence["+m+"]",q,t))}f=f.length*(g||1)}else r=".bones["+b[l].name+"]",c(Tb,r+".position",n,"pos",d),c(Ic,r+".quaternion",
|
|
|
+n,"rot",d),c(Tb,r+".scale",n,"scl",d)}return 0===d.length?null:new ua(e,f,d)}});Object.assign(od.prototype,{load:function(a,b,c,d){var e=this;(new xa(e.manager)).load(a,function(a){b(e.parse(JSON.parse(a)))},c,d)},setTextures:function(a){this.textures=a},parse:function(a){function b(a){void 0===c[a]&&console.warn("THREE.MaterialLoader: Undefined texture",a);return c[a]}var c=this.textures,d=new uf[a.type];void 0!==a.uuid&&(d.uuid=a.uuid);void 0!==a.name&&(d.name=a.name);void 0!==a.color&&d.color.setHex(a.color);
|
|
|
void 0!==a.roughness&&(d.roughness=a.roughness);void 0!==a.metalness&&(d.metalness=a.metalness);void 0!==a.emissive&&d.emissive.setHex(a.emissive);void 0!==a.specular&&d.specular.setHex(a.specular);void 0!==a.shininess&&(d.shininess=a.shininess);void 0!==a.uniforms&&(d.uniforms=a.uniforms);void 0!==a.vertexShader&&(d.vertexShader=a.vertexShader);void 0!==a.fragmentShader&&(d.fragmentShader=a.fragmentShader);void 0!==a.vertexColors&&(d.vertexColors=a.vertexColors);void 0!==a.fog&&(d.fog=a.fog);void 0!==
|
|
|
a.shading&&(d.shading=a.shading);void 0!==a.blending&&(d.blending=a.blending);void 0!==a.side&&(d.side=a.side);void 0!==a.opacity&&(d.opacity=a.opacity);void 0!==a.transparent&&(d.transparent=a.transparent);void 0!==a.alphaTest&&(d.alphaTest=a.alphaTest);void 0!==a.depthTest&&(d.depthTest=a.depthTest);void 0!==a.depthWrite&&(d.depthWrite=a.depthWrite);void 0!==a.colorWrite&&(d.colorWrite=a.colorWrite);void 0!==a.wireframe&&(d.wireframe=a.wireframe);void 0!==a.wireframeLinewidth&&(d.wireframeLinewidth=
|
|
|
a.wireframeLinewidth);void 0!==a.wireframeLinecap&&(d.wireframeLinecap=a.wireframeLinecap);void 0!==a.wireframeLinejoin&&(d.wireframeLinejoin=a.wireframeLinejoin);void 0!==a.skinning&&(d.skinning=a.skinning);void 0!==a.morphTargets&&(d.morphTargets=a.morphTargets);void 0!==a.size&&(d.size=a.size);void 0!==a.sizeAttenuation&&(d.sizeAttenuation=a.sizeAttenuation);void 0!==a.map&&(d.map=b(a.map));void 0!==a.alphaMap&&(d.alphaMap=b(a.alphaMap),d.transparent=!0);void 0!==a.bumpMap&&(d.bumpMap=b(a.bumpMap));
|
|
@@ -647,22 +645,22 @@ void 0!==a.bumpScale&&(d.bumpScale=a.bumpScale);void 0!==a.normalMap&&(d.normalM
|
|
|
(d.metalnessMap=b(a.metalnessMap));void 0!==a.emissiveMap&&(d.emissiveMap=b(a.emissiveMap));void 0!==a.emissiveIntensity&&(d.emissiveIntensity=a.emissiveIntensity);void 0!==a.specularMap&&(d.specularMap=b(a.specularMap));void 0!==a.envMap&&(d.envMap=b(a.envMap));void 0!==a.reflectivity&&(d.reflectivity=a.reflectivity);void 0!==a.lightMap&&(d.lightMap=b(a.lightMap));void 0!==a.lightMapIntensity&&(d.lightMapIntensity=a.lightMapIntensity);void 0!==a.aoMap&&(d.aoMap=b(a.aoMap));void 0!==a.aoMapIntensity&&
|
|
|
(d.aoMapIntensity=a.aoMapIntensity);if(void 0!==a.materials)for(var e=0,f=a.materials.length;e<f;e++)d.materials.push(this.parse(a.materials[e]));return d}});Object.assign(Cd.prototype,{load:function(a,b,c,d){var e=this;(new xa(e.manager)).load(a,function(a){b(e.parse(JSON.parse(a)))},c,d)},parse:function(a){var b=new J,c=a.data.index,d={Int8Array:Int8Array,Uint8Array:Uint8Array,Uint8ClampedArray:Uint8ClampedArray,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,
|
|
|
Float32Array:Float32Array,Float64Array:Float64Array};void 0!==c&&(c=new d[c.type](c.array),b.setIndex(new B(c,1)));var e=a.data.attributes,f;for(f in e){var g=e[f],c=new d[g.type](g.array);b.addAttribute(f,new B(c,g.itemSize,g.normalized))}d=a.data.groups||a.data.drawcalls||a.data.offsets;if(void 0!==d)for(f=0,c=d.length;f!==c;++f)e=d[f],b.addGroup(e.start,e.count,e.materialIndex);a=a.data.boundingSphere;void 0!==a&&(d=new q,void 0!==a.center&&d.fromArray(a.center),b.boundingSphere=new Ba(d,a.radius));
|
|
|
-return b}});rb.prototype={constructor:rb,crossOrigin:void 0,extractUrlBase:function(a){a=a.split("/");if(1===a.length)return"./";a.pop();return a.join("/")+"/"},initMaterials:function(a,b,c){for(var d=[],e=0;e<a.length;++e)d[e]=this.createMaterial(a[e],b,c);return d},createMaterial:function(){var a,b,c;return function(d,e,f){function g(a,c,d,g,l){a=e+a;var m=rb.Handlers.get(a);null!==m?a=m.load(a):(b.setCrossOrigin(f),a=b.load(a));void 0!==c&&(a.repeat.fromArray(c),1!==c[0]&&(a.wrapS=1E3),1!==c[1]&&
|
|
|
-(a.wrapT=1E3));void 0!==d&&a.offset.fromArray(d);void 0!==g&&("repeat"===g[0]&&(a.wrapS=1E3),"mirror"===g[0]&&(a.wrapS=1002),"repeat"===g[1]&&(a.wrapT=1E3),"mirror"===g[1]&&(a.wrapT=1002));void 0!==l&&(a.anisotropy=l);c=h.Math.generateUUID();k[c]=a;return c}void 0===a&&(a=new M);void 0===b&&(b=new ad);void 0===c&&(c=new od);var k={},l={uuid:h.Math.generateUUID(),type:"MeshLambertMaterial"},m;for(m in d){var r=d[m];switch(m){case "DbgColor":case "DbgIndex":case "opticalDensity":case "illumination":break;
|
|
|
-case "DbgName":l.name=r;break;case "blending":l.blending=xe[r];break;case "colorAmbient":case "mapAmbient":console.warn("THREE.Loader.createMaterial:",m,"is no longer supported.");break;case "colorDiffuse":l.color=a.fromArray(r).getHex();break;case "colorSpecular":l.specular=a.fromArray(r).getHex();break;case "colorEmissive":l.emissive=a.fromArray(r).getHex();break;case "specularCoef":l.shininess=r;break;case "shading":"basic"===r.toLowerCase()&&(l.type="MeshBasicMaterial");"phong"===r.toLowerCase()&&
|
|
|
+return b}});rb.prototype={constructor:rb,crossOrigin:void 0,extractUrlBase:function(a){a=a.split("/");if(1===a.length)return"./";a.pop();return a.join("/")+"/"},initMaterials:function(a,b,c){for(var d=[],e=0;e<a.length;++e)d[e]=this.createMaterial(a[e],b,c);return d},createMaterial:function(){var a,b,c;return function(d,e,f){function g(a,c,d,g,l){a=e+a;var n=rb.Handlers.get(a);null!==n?a=n.load(a):(b.setCrossOrigin(f),a=b.load(a));void 0!==c&&(a.repeat.fromArray(c),1!==c[0]&&(a.wrapS=1E3),1!==c[1]&&
|
|
|
+(a.wrapT=1E3));void 0!==d&&a.offset.fromArray(d);void 0!==g&&("repeat"===g[0]&&(a.wrapS=1E3),"mirror"===g[0]&&(a.wrapS=1002),"repeat"===g[1]&&(a.wrapT=1E3),"mirror"===g[1]&&(a.wrapT=1002));void 0!==l&&(a.anisotropy=l);c=h.Math.generateUUID();k[c]=a;return c}void 0===a&&(a=new M);void 0===b&&(b=new ad);void 0===c&&(c=new od);var k={},l={uuid:h.Math.generateUUID(),type:"MeshLambertMaterial"},n;for(n in d){var r=d[n];switch(n){case "DbgColor":case "DbgIndex":case "opticalDensity":case "illumination":break;
|
|
|
+case "DbgName":l.name=r;break;case "blending":l.blending=xe[r];break;case "colorAmbient":case "mapAmbient":console.warn("THREE.Loader.createMaterial:",n,"is no longer supported.");break;case "colorDiffuse":l.color=a.fromArray(r).getHex();break;case "colorSpecular":l.specular=a.fromArray(r).getHex();break;case "colorEmissive":l.emissive=a.fromArray(r).getHex();break;case "specularCoef":l.shininess=r;break;case "shading":"basic"===r.toLowerCase()&&(l.type="MeshBasicMaterial");"phong"===r.toLowerCase()&&
|
|
|
(l.type="MeshPhongMaterial");"standard"===r.toLowerCase()&&(l.type="MeshStandardMaterial");break;case "mapDiffuse":l.map=g(r,d.mapDiffuseRepeat,d.mapDiffuseOffset,d.mapDiffuseWrap,d.mapDiffuseAnisotropy);break;case "mapDiffuseRepeat":case "mapDiffuseOffset":case "mapDiffuseWrap":case "mapDiffuseAnisotropy":break;case "mapEmissive":l.emissiveMap=g(r,d.mapEmissiveRepeat,d.mapEmissiveOffset,d.mapEmissiveWrap,d.mapEmissiveAnisotropy);break;case "mapEmissiveRepeat":case "mapEmissiveOffset":case "mapEmissiveWrap":case "mapEmissiveAnisotropy":break;
|
|
|
case "mapLight":l.lightMap=g(r,d.mapLightRepeat,d.mapLightOffset,d.mapLightWrap,d.mapLightAnisotropy);break;case "mapLightRepeat":case "mapLightOffset":case "mapLightWrap":case "mapLightAnisotropy":break;case "mapAO":l.aoMap=g(r,d.mapAORepeat,d.mapAOOffset,d.mapAOWrap,d.mapAOAnisotropy);break;case "mapAORepeat":case "mapAOOffset":case "mapAOWrap":case "mapAOAnisotropy":break;case "mapBump":l.bumpMap=g(r,d.mapBumpRepeat,d.mapBumpOffset,d.mapBumpWrap,d.mapBumpAnisotropy);break;case "mapBumpScale":l.bumpScale=
|
|
|
r;break;case "mapBumpRepeat":case "mapBumpOffset":case "mapBumpWrap":case "mapBumpAnisotropy":break;case "mapNormal":l.normalMap=g(r,d.mapNormalRepeat,d.mapNormalOffset,d.mapNormalWrap,d.mapNormalAnisotropy);break;case "mapNormalFactor":l.normalScale=[r,r];break;case "mapNormalRepeat":case "mapNormalOffset":case "mapNormalWrap":case "mapNormalAnisotropy":break;case "mapSpecular":l.specularMap=g(r,d.mapSpecularRepeat,d.mapSpecularOffset,d.mapSpecularWrap,d.mapSpecularAnisotropy);break;case "mapSpecularRepeat":case "mapSpecularOffset":case "mapSpecularWrap":case "mapSpecularAnisotropy":break;
|
|
|
case "mapMetalness":l.metalnessMap=g(r,d.mapMetalnessRepeat,d.mapMetalnessOffset,d.mapMetalnessWrap,d.mapMetalnessAnisotropy);break;case "mapMetalnessRepeat":case "mapMetalnessOffset":case "mapMetalnessWrap":case "mapMetalnessAnisotropy":break;case "mapRoughness":l.roughnessMap=g(r,d.mapRoughnessRepeat,d.mapRoughnessOffset,d.mapRoughnessWrap,d.mapRoughnessAnisotropy);break;case "mapRoughnessRepeat":case "mapRoughnessOffset":case "mapRoughnessWrap":case "mapRoughnessAnisotropy":break;case "mapAlpha":l.alphaMap=
|
|
|
-g(r,d.mapAlphaRepeat,d.mapAlphaOffset,d.mapAlphaWrap,d.mapAlphaAnisotropy);break;case "mapAlphaRepeat":case "mapAlphaOffset":case "mapAlphaWrap":case "mapAlphaAnisotropy":break;case "flipSided":l.side=1;break;case "doubleSided":l.side=2;break;case "transparency":console.warn("THREE.Loader.createMaterial: transparency has been renamed to opacity");l.opacity=r;break;case "depthTest":case "depthWrite":case "colorWrite":case "opacity":case "reflectivity":case "transparent":case "visible":case "wireframe":l[m]=
|
|
|
-r;break;case "vertexColors":!0===r&&(l.vertexColors=2);"face"===r&&(l.vertexColors=1);break;default:console.error("THREE.Loader.createMaterial: Unsupported",m,r)}}"MeshBasicMaterial"===l.type&&delete l.emissive;"MeshPhongMaterial"!==l.type&&delete l.specular;1>l.opacity&&(l.transparent=!0);c.setTextures(k);return c.parse(l)}}()};rb.Handlers={handlers:[],add:function(a,b){this.handlers.push(a,b)},get:function(a){for(var b=this.handlers,c=0,d=b.length;c<d;c+=2){var e=b[c+1];if(b[c].test(a))return e}return null}};
|
|
|
+g(r,d.mapAlphaRepeat,d.mapAlphaOffset,d.mapAlphaWrap,d.mapAlphaAnisotropy);break;case "mapAlphaRepeat":case "mapAlphaOffset":case "mapAlphaWrap":case "mapAlphaAnisotropy":break;case "flipSided":l.side=1;break;case "doubleSided":l.side=2;break;case "transparency":console.warn("THREE.Loader.createMaterial: transparency has been renamed to opacity");l.opacity=r;break;case "depthTest":case "depthWrite":case "colorWrite":case "opacity":case "reflectivity":case "transparent":case "visible":case "wireframe":l[n]=
|
|
|
+r;break;case "vertexColors":!0===r&&(l.vertexColors=2);"face"===r&&(l.vertexColors=1);break;default:console.error("THREE.Loader.createMaterial: Unsupported",n,r)}}"MeshBasicMaterial"===l.type&&delete l.emissive;"MeshPhongMaterial"!==l.type&&delete l.specular;1>l.opacity&&(l.transparent=!0);c.setTextures(k);return c.parse(l)}}()};rb.Handlers={handlers:[],add:function(a,b){this.handlers.push(a,b)},get:function(a){for(var b=this.handlers,c=0,d=b.length;c<d;c+=2){var e=b[c+1];if(b[c].test(a))return e}return null}};
|
|
|
Object.assign(Dd.prototype,{load:function(a,b,c,d){var e=this,f=this.texturePath&&"string"===typeof this.texturePath?this.texturePath:rb.prototype.extractUrlBase(a),g=new xa(this.manager);g.setWithCredentials(this.withCredentials);g.load(a,function(c){c=JSON.parse(c);var d=c.metadata;if(void 0!==d&&(d=d.type,void 0!==d)){if("object"===d.toLowerCase()){console.error("THREE.JSONLoader: "+a+" should be loaded with THREE.ObjectLoader instead.");return}if("scene"===d.toLowerCase()){console.error("THREE.JSONLoader: "+
|
|
|
-a+" should be loaded with THREE.SceneLoader instead.");return}}c=e.parse(c,f);b(c.geometry,c.materials)},c,d)},setTexturePath:function(a){this.texturePath=a},parse:function(a,b){var c=new P,d=void 0!==a.scale?1/a.scale:1;(function(b){var d,g,k,h,m,r,p,n,u,t,w,F,v,x=a.faces;r=a.vertices;var z=a.normals,y=a.colors,E=0;if(void 0!==a.uvs){for(d=0;d<a.uvs.length;d++)a.uvs[d].length&&E++;for(d=0;d<E;d++)c.faceVertexUvs[d]=[]}h=0;for(m=r.length;h<m;)d=new q,d.x=r[h++]*b,d.y=r[h++]*b,d.z=r[h++]*b,c.vertices.push(d);
|
|
|
-h=0;for(m=x.length;h<m;)if(b=x[h++],u=b&1,k=b&2,d=b&8,p=b&16,t=b&32,r=b&64,b&=128,u){u=new pa;u.a=x[h];u.b=x[h+1];u.c=x[h+3];w=new pa;w.a=x[h+1];w.b=x[h+2];w.c=x[h+3];h+=4;k&&(k=x[h++],u.materialIndex=k,w.materialIndex=k);k=c.faces.length;if(d)for(d=0;d<E;d++)for(F=a.uvs[d],c.faceVertexUvs[d][k]=[],c.faceVertexUvs[d][k+1]=[],g=0;4>g;g++)n=x[h++],v=F[2*n],n=F[2*n+1],v=new C(v,n),2!==g&&c.faceVertexUvs[d][k].push(v),0!==g&&c.faceVertexUvs[d][k+1].push(v);p&&(p=3*x[h++],u.normal.set(z[p++],z[p++],z[p]),
|
|
|
+a+" should be loaded with THREE.SceneLoader instead.");return}}c=e.parse(c,f);b(c.geometry,c.materials)},c,d)},setTexturePath:function(a){this.texturePath=a},parse:function(a,b){var c=new P,d=void 0!==a.scale?1/a.scale:1;(function(b){var d,g,k,h,n,r,p,m,u,t,w,F,v,x=a.faces;r=a.vertices;var z=a.normals,y=a.colors,E=0;if(void 0!==a.uvs){for(d=0;d<a.uvs.length;d++)a.uvs[d].length&&E++;for(d=0;d<E;d++)c.faceVertexUvs[d]=[]}h=0;for(n=r.length;h<n;)d=new q,d.x=r[h++]*b,d.y=r[h++]*b,d.z=r[h++]*b,c.vertices.push(d);
|
|
|
+h=0;for(n=x.length;h<n;)if(b=x[h++],u=b&1,k=b&2,d=b&8,p=b&16,t=b&32,r=b&64,b&=128,u){u=new pa;u.a=x[h];u.b=x[h+1];u.c=x[h+3];w=new pa;w.a=x[h+1];w.b=x[h+2];w.c=x[h+3];h+=4;k&&(k=x[h++],u.materialIndex=k,w.materialIndex=k);k=c.faces.length;if(d)for(d=0;d<E;d++)for(F=a.uvs[d],c.faceVertexUvs[d][k]=[],c.faceVertexUvs[d][k+1]=[],g=0;4>g;g++)m=x[h++],v=F[2*m],m=F[2*m+1],v=new C(v,m),2!==g&&c.faceVertexUvs[d][k].push(v),0!==g&&c.faceVertexUvs[d][k+1].push(v);p&&(p=3*x[h++],u.normal.set(z[p++],z[p++],z[p]),
|
|
|
w.normal.copy(u.normal));if(t)for(d=0;4>d;d++)p=3*x[h++],t=new q(z[p++],z[p++],z[p]),2!==d&&u.vertexNormals.push(t),0!==d&&w.vertexNormals.push(t);r&&(r=x[h++],r=y[r],u.color.setHex(r),w.color.setHex(r));if(b)for(d=0;4>d;d++)r=x[h++],r=y[r],2!==d&&u.vertexColors.push(new M(r)),0!==d&&w.vertexColors.push(new M(r));c.faces.push(u);c.faces.push(w)}else{u=new pa;u.a=x[h++];u.b=x[h++];u.c=x[h++];k&&(k=x[h++],u.materialIndex=k);k=c.faces.length;if(d)for(d=0;d<E;d++)for(F=a.uvs[d],c.faceVertexUvs[d][k]=
|
|
|
-[],g=0;3>g;g++)n=x[h++],v=F[2*n],n=F[2*n+1],v=new C(v,n),c.faceVertexUvs[d][k].push(v);p&&(p=3*x[h++],u.normal.set(z[p++],z[p++],z[p]));if(t)for(d=0;3>d;d++)p=3*x[h++],t=new q(z[p++],z[p++],z[p]),u.vertexNormals.push(t);r&&(r=x[h++],u.color.setHex(y[r]));if(b)for(d=0;3>d;d++)r=x[h++],u.vertexColors.push(new M(y[r]));c.faces.push(u)}})(d);(function(){var b=void 0!==a.influencesPerVertex?a.influencesPerVertex:2;if(a.skinWeights)for(var d=0,g=a.skinWeights.length;d<g;d+=b)c.skinWeights.push(new ha(a.skinWeights[d],
|
|
|
+[],g=0;3>g;g++)m=x[h++],v=F[2*m],m=F[2*m+1],v=new C(v,m),c.faceVertexUvs[d][k].push(v);p&&(p=3*x[h++],u.normal.set(z[p++],z[p++],z[p]));if(t)for(d=0;3>d;d++)p=3*x[h++],t=new q(z[p++],z[p++],z[p]),u.vertexNormals.push(t);r&&(r=x[h++],u.color.setHex(y[r]));if(b)for(d=0;3>d;d++)r=x[h++],u.vertexColors.push(new M(y[r]));c.faces.push(u)}})(d);(function(){var b=void 0!==a.influencesPerVertex?a.influencesPerVertex:2;if(a.skinWeights)for(var d=0,g=a.skinWeights.length;d<g;d+=b)c.skinWeights.push(new ha(a.skinWeights[d],
|
|
|
1<b?a.skinWeights[d+1]:0,2<b?a.skinWeights[d+2]:0,3<b?a.skinWeights[d+3]:0));if(a.skinIndices)for(d=0,g=a.skinIndices.length;d<g;d+=b)c.skinIndices.push(new ha(a.skinIndices[d],1<b?a.skinIndices[d+1]:0,2<b?a.skinIndices[d+2]:0,3<b?a.skinIndices[d+3]:0));c.bones=a.bones;c.bones&&0<c.bones.length&&(c.skinWeights.length!==c.skinIndices.length||c.skinIndices.length!==c.vertices.length)&&console.warn("When skinning, number of vertices ("+c.vertices.length+"), skinIndices ("+c.skinIndices.length+"), and skinWeights ("+
|
|
|
-c.skinWeights.length+") should match.")})();(function(b){if(void 0!==a.morphTargets)for(var d=0,g=a.morphTargets.length;d<g;d++){c.morphTargets[d]={};c.morphTargets[d].name=a.morphTargets[d].name;c.morphTargets[d].vertices=[];for(var k=c.morphTargets[d].vertices,h=a.morphTargets[d].vertices,m=0,r=h.length;m<r;m+=3){var p=new q;p.x=h[m]*b;p.y=h[m+1]*b;p.z=h[m+2]*b;k.push(p)}}if(void 0!==a.morphColors&&0<a.morphColors.length)for(console.warn('THREE.JSONLoader: "morphColors" no longer supported. Using them as face colors.'),
|
|
|
+c.skinWeights.length+") should match.")})();(function(b){if(void 0!==a.morphTargets)for(var d=0,g=a.morphTargets.length;d<g;d++){c.morphTargets[d]={};c.morphTargets[d].name=a.morphTargets[d].name;c.morphTargets[d].vertices=[];for(var k=c.morphTargets[d].vertices,h=a.morphTargets[d].vertices,n=0,r=h.length;n<r;n+=3){var p=new q;p.x=h[n]*b;p.y=h[n+1]*b;p.z=h[n+2]*b;k.push(p)}}if(void 0!==a.morphColors&&0<a.morphColors.length)for(console.warn('THREE.JSONLoader: "morphColors" no longer supported. Using them as face colors.'),
|
|
|
b=c.faces,k=a.morphColors[0].colors,d=0,g=b.length;d<g;d++)b[d].color.fromArray(k,3*d)})(d);(function(){var b=[],d=[];void 0!==a.animation&&d.push(a.animation);void 0!==a.animations&&(a.animations.length?d=d.concat(a.animations):d.push(a.animations));for(var g=0;g<d.length;g++){var k=ua.parseAnimation(d[g],c.bones);k&&b.push(k)}c.morphTargets&&(d=ua.CreateClipsFromMorphTargetSequences(c.morphTargets,10),b=b.concat(d));0<b.length&&(c.animations=b)})();c.computeFaceNormals();c.computeBoundingSphere();
|
|
|
if(void 0===a.materials||0===a.materials.length)return{geometry:c};d=rb.prototype.initMaterials(a.materials,b,this.crossOrigin);return{geometry:c,materials:d}}});Object.assign(pe.prototype,{load:function(a,b,c,d){""===this.texturePath&&(this.texturePath=a.substring(0,a.lastIndexOf("/")+1));var e=this;(new xa(e.manager)).load(a,function(a){e.parse(JSON.parse(a),b)},c,d)},setTexturePath:function(a){this.texturePath=a},setCrossOrigin:function(a){this.crossOrigin=a},parse:function(a,b){var c=this.parseGeometries(a.geometries),
|
|
|
d=this.parseImages(a.images,function(){void 0!==b&&b(e)}),d=this.parseTextures(a.textures,d),d=this.parseMaterials(a.materials,d),e=this.parseObject(a.object,c,d);a.animations&&(e.animations=this.parseAnimations(a.animations));void 0!==a.images&&0!==a.images.length||void 0===b||b(e);return e},parseGeometries:function(a){var b={};if(void 0!==a)for(var c=new Dd,d=new Cd,e=0,f=a.length;e<f;e++){var g,k=a[e];switch(k.type){case "PlaneGeometry":case "PlaneBufferGeometry":g=new Aa[k.type](k.width,k.height,
|
|
@@ -670,44 +668,46 @@ k.widthSegments,k.heightSegments);break;case "BoxGeometry":case "BoxBufferGeomet
|
|
|
break;case "ConeGeometry":case "ConeBufferGeometry":g=new Aa[k.type](k.radius,k.height,k.radialSegments,k.heightSegments,k.openEnded,k.thetaStart,k.thetaLength);break;case "SphereGeometry":case "SphereBufferGeometry":g=new Aa[k.type](k.radius,k.widthSegments,k.heightSegments,k.phiStart,k.phiLength,k.thetaStart,k.thetaLength);break;case "DodecahedronGeometry":case "IcosahedronGeometry":case "OctahedronGeometry":case "TetrahedronGeometry":g=new Aa[k.type](k.radius,k.detail);break;case "RingGeometry":case "RingBufferGeometry":g=
|
|
|
new Aa[k.type](k.innerRadius,k.outerRadius,k.thetaSegments,k.phiSegments,k.thetaStart,k.thetaLength);break;case "TorusGeometry":case "TorusBufferGeometry":g=new Aa[k.type](k.radius,k.tube,k.radialSegments,k.tubularSegments,k.arc);break;case "TorusKnotGeometry":case "TorusKnotBufferGeometry":g=new Aa[k.type](k.radius,k.tube,k.tubularSegments,k.radialSegments,k.p,k.q);break;case "LatheGeometry":case "LatheBufferGeometry":g=new Aa[k.type](k.points,k.segments,k.phiStart,k.phiLength);break;case "BufferGeometry":g=
|
|
|
d.parse(k);break;case "Geometry":g=c.parse(k.data,this.texturePath).geometry;break;default:console.warn('THREE.ObjectLoader: Unsupported geometry type "'+k.type+'"');continue}g.uuid=k.uuid;void 0!==k.name&&(g.name=k.name);b[k.uuid]=g}return b},parseMaterials:function(a,b){var c={};if(void 0!==a){var d=new od;d.setTextures(b);for(var e=0,f=a.length;e<f;e++){var g=d.parse(a[e]);c[g.uuid]=g}}return c},parseAnimations:function(a){for(var b=[],c=0;c<a.length;c++){var d=ua.parse(a[c]);b.push(d)}return b},
|
|
|
-parseImages:function(a,b){function c(a){d.manager.itemStart(a);return g.load(a,function(){d.manager.itemEnd(a)},void 0,function(){d.manager.itemError(a)})}var d=this,e={};if(void 0!==a&&0<a.length){var f=new zd(b),g=new Gc(f);g.setCrossOrigin(this.crossOrigin);for(var f=0,k=a.length;f<k;f++){var h=a[f],m=/^(\/\/)|([a-z]+:(\/\/)?)/i.test(h.url)?h.url:d.texturePath+h.url;e[h.uuid]=c(m)}}return e},parseTextures:function(a,b){function c(a,b){if("number"===typeof a)return a;console.warn("THREE.ObjectLoader.parseTexture: Constant should be in numeric form.",
|
|
|
+parseImages:function(a,b){function c(a){d.manager.itemStart(a);return g.load(a,function(){d.manager.itemEnd(a)},void 0,function(){d.manager.itemError(a)})}var d=this,e={};if(void 0!==a&&0<a.length){var f=new zd(b),g=new Gc(f);g.setCrossOrigin(this.crossOrigin);for(var f=0,k=a.length;f<k;f++){var h=a[f],n=/^(\/\/)|([a-z]+:(\/\/)?)/i.test(h.url)?h.url:d.texturePath+h.url;e[h.uuid]=c(n)}}return e},parseTextures:function(a,b){function c(a,b){if("number"===typeof a)return a;console.warn("THREE.ObjectLoader.parseTexture: Constant should be in numeric form.",
|
|
|
a);return b[a]}var d={};if(void 0!==a)for(var e=0,f=a.length;e<f;e++){var g=a[e];void 0===g.image&&console.warn('THREE.ObjectLoader: No "image" specified for',g.uuid);void 0===b[g.image]&&console.warn("THREE.ObjectLoader: Undefined image",g.image);var k=new ca(b[g.image]);k.needsUpdate=!0;k.uuid=g.uuid;void 0!==g.name&&(k.name=g.name);void 0!==g.mapping&&(k.mapping=c(g.mapping,ye));void 0!==g.offset&&k.offset.fromArray(g.offset);void 0!==g.repeat&&k.repeat.fromArray(g.repeat);void 0!==g.wrap&&(k.wrapS=
|
|
|
c(g.wrap[0],Ud),k.wrapT=c(g.wrap[1],Ud));void 0!==g.minFilter&&(k.minFilter=c(g.minFilter,Vd));void 0!==g.magFilter&&(k.magFilter=c(g.magFilter,Vd));void 0!==g.anisotropy&&(k.anisotropy=g.anisotropy);void 0!==g.flipY&&(k.flipY=g.flipY);d[g.uuid]=k}return d},parseObject:function(){var a=new H;return function(b,c,d){function e(a){void 0===c[a]&&console.warn("THREE.ObjectLoader: Undefined geometry",a);return c[a]}function f(a){if(void 0!==a)return void 0===d[a]&&console.warn("THREE.ObjectLoader: Undefined material",
|
|
|
a),d[a]}var g;switch(b.type){case "Scene":g=new eb;void 0!==b.background&&Number.isInteger(b.background)&&(g.background=new M(b.background));void 0!==b.fog&&("Fog"===b.fog.type?g.fog=new Eb(b.fog.color,b.fog.near,b.fog.far):"FogExp2"===b.fog.type&&(g.fog=new Db(b.fog.color,b.fog.density)));break;case "PerspectiveCamera":g=new Da(b.fov,b.aspect,b.near,b.far);void 0!==b.focus&&(g.focus=b.focus);void 0!==b.zoom&&(g.zoom=b.zoom);void 0!==b.filmGauge&&(g.filmGauge=b.filmGauge);void 0!==b.filmOffset&&(g.filmOffset=
|
|
|
b.filmOffset);void 0!==b.view&&(g.view=Object.assign({},b.view));break;case "OrthographicCamera":g=new Cb(b.left,b.right,b.top,b.bottom,b.near,b.far);break;case "AmbientLight":g=new hd(b.color,b.intensity);break;case "DirectionalLight":g=new gd(b.color,b.intensity);break;case "PointLight":g=new ed(b.color,b.intensity,b.distance,b.decay);break;case "SpotLight":g=new dd(b.color,b.intensity,b.distance,b.angle,b.penumbra,b.decay);break;case "HemisphereLight":g=new bd(b.color,b.groundColor,b.intensity);
|
|
|
-break;case "Mesh":g=e(b.geometry);var k=f(b.material);g=g.bones&&0<g.bones.length?new Yc(g,k):new va(g,k);break;case "LOD":g=new jc;break;case "Line":g=new Na(e(b.geometry),f(b.material),b.mode);break;case "LineSegments":g=new ka(e(b.geometry),f(b.material));break;case "PointCloud":case "Points":g=new Fb(e(b.geometry),f(b.material));break;case "Sprite":g=new ic(f(b.material));break;case "Group":g=new kc;break;default:g=new z}g.uuid=b.uuid;void 0!==b.name&&(g.name=b.name);void 0!==b.matrix?(a.fromArray(b.matrix),
|
|
|
+break;case "Mesh":g=e(b.geometry);var k=f(b.material);g=g.bones&&0<g.bones.length?new Yc(g,k):new va(g,k);break;case "LOD":g=new ic;break;case "Line":g=new Na(e(b.geometry),f(b.material),b.mode);break;case "LineSegments":g=new ka(e(b.geometry),f(b.material));break;case "PointCloud":case "Points":g=new Fb(e(b.geometry),f(b.material));break;case "Sprite":g=new hc(f(b.material));break;case "Group":g=new jc;break;default:g=new z}g.uuid=b.uuid;void 0!==b.name&&(g.name=b.name);void 0!==b.matrix?(a.fromArray(b.matrix),
|
|
|
a.decompose(g.position,g.quaternion,g.scale)):(void 0!==b.position&&g.position.fromArray(b.position),void 0!==b.rotation&&g.rotation.fromArray(b.rotation),void 0!==b.quaternion&&g.quaternion.fromArray(b.quaternion),void 0!==b.scale&&g.scale.fromArray(b.scale));void 0!==b.castShadow&&(g.castShadow=b.castShadow);void 0!==b.receiveShadow&&(g.receiveShadow=b.receiveShadow);b.shadow&&(void 0!==b.shadow.bias&&(g.shadow.bias=b.shadow.bias),void 0!==b.shadow.radius&&(g.shadow.radius=b.shadow.radius),void 0!==
|
|
|
-b.shadow.mapSize&&g.shadow.mapSize.fromArray(b.shadow.mapSize),void 0!==b.shadow.camera&&(g.shadow.camera=this.parseObject(b.shadow.camera)));void 0!==b.visible&&(g.visible=b.visible);void 0!==b.userData&&(g.userData=b.userData);if(void 0!==b.children)for(var h in b.children)g.add(this.parseObject(b.children[h],c,d));if("LOD"===b.type)for(b=b.levels,k=0;k<b.length;k++){var m=b[k];h=g.getObjectByProperty("uuid",m.object);void 0!==h&&g.addLevel(h,m.distance)}return g}}()});aa.prototype={constructor:aa,
|
|
|
+b.shadow.mapSize&&g.shadow.mapSize.fromArray(b.shadow.mapSize),void 0!==b.shadow.camera&&(g.shadow.camera=this.parseObject(b.shadow.camera)));void 0!==b.visible&&(g.visible=b.visible);void 0!==b.userData&&(g.userData=b.userData);if(void 0!==b.children)for(var h in b.children)g.add(this.parseObject(b.children[h],c,d));if("LOD"===b.type)for(b=b.levels,k=0;k<b.length;k++){var n=b[k];h=g.getObjectByProperty("uuid",n.object);void 0!==h&&g.addLevel(h,n.distance)}return g}}()});aa.prototype={constructor:aa,
|
|
|
getPoint:function(a){console.warn("THREE.Curve: Warning, getPoint() not implemented!");return null},getPointAt:function(a){a=this.getUtoTmapping(a);return this.getPoint(a)},getPoints:function(a){a||(a=5);for(var b=[],c=0;c<=a;c++)b.push(this.getPoint(c/a));return b},getSpacedPoints:function(a){a||(a=5);for(var b=[],c=0;c<=a;c++)b.push(this.getPointAt(c/a));return b},getLength:function(){var a=this.getLengths();return a[a.length-1]},getLengths:function(a){a||(a=this.__arcLengthDivisions?this.__arcLengthDivisions:
|
|
|
200);if(this.cacheArcLengths&&this.cacheArcLengths.length===a+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;var b=[],c,d=this.getPoint(0),e,f=0;b.push(0);for(e=1;e<=a;e++)c=this.getPoint(e/a),f+=c.distanceTo(d),b.push(f),d=c;return this.cacheArcLengths=b},updateArcLengths:function(){this.needsUpdate=!0;this.getLengths()},getUtoTmapping:function(a,b){var c=this.getLengths(),d,e=c.length,f;f=b?b:a*c[e-1];for(var g=0,k=e-1,h;g<=k;)if(d=Math.floor(g+(k-g)/2),h=c[d]-f,0>h)g=d+1;
|
|
|
-else if(0<h)k=d-1;else{k=d;break}d=k;if(c[d]===f)return d/(e-1);g=c[d];return(d+(f-g)/(c[d+1]-g))/(e-1)},getTangent:function(a){var b=a-1E-4;a+=1E-4;0>b&&(b=0);1<a&&(a=1);b=this.getPoint(b);return this.getPoint(a).clone().sub(b).normalize()},getTangentAt:function(a){a=this.getUtoTmapping(a);return this.getTangent(a)}};aa.create=function(a,b){a.prototype=Object.create(aa.prototype);a.prototype.constructor=a;a.prototype.getPoint=b;return a};Ka.prototype=Object.create(aa.prototype);Ka.prototype.constructor=
|
|
|
-Ka;Ka.prototype.isLineCurve=!0;Ka.prototype.getPoint=function(a){if(1===a)return this.v2.clone();var b=this.v2.clone().sub(this.v1);b.multiplyScalar(a).add(this.v1);return b};Ka.prototype.getPointAt=function(a){return this.getPoint(a)};Ka.prototype.getTangent=function(a){return this.v2.clone().sub(this.v1).normalize()};Jc.prototype=Object.assign(Object.create(aa.prototype),{constructor:Jc,add:function(a){this.curves.push(a)},closePath:function(){var a=this.curves[0].getPoint(0),b=this.curves[this.curves.length-
|
|
|
-1].getPoint(1);a.equals(b)||this.curves.push(new Ka(b,a))},getPoint:function(a){var b=a*this.getLength(),c=this.getCurveLengths();for(a=0;a<c.length;){if(c[a]>=b)return b=c[a]-b,a=this.curves[a],c=a.getLength(),a.getPointAt(0===c?0:1-b/c);a++}return null},getLength:function(){var a=this.getCurveLengths();return a[a.length-1]},updateArcLengths:function(){this.needsUpdate=!0;this.cacheLengths=null;this.getLengths()},getCurveLengths:function(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;
|
|
|
-for(var a=[],b=0,c=0,d=this.curves.length;c<d;c++)b+=this.curves[c].getLength(),a.push(b);return this.cacheLengths=a},getSpacedPoints:function(a){a||(a=40);for(var b=[],c=0;c<=a;c++)b.push(this.getPoint(c/a));this.autoClose&&b.push(b[0]);return b},getPoints:function(a){a=a||12;for(var b=[],c,d=0,e=this.curves;d<e.length;d++)for(var f=e[d],f=f.getPoints(f&&f.isEllipseCurve?2*a:f&&f.isLineCurve?1:f&&f.isSplineCurve?a*f.points.length:a),g=0;g<f.length;g++){var k=f[g];c&&c.equals(k)||(b.push(k),c=k)}this.autoClose&&
|
|
|
-1<b.length&&!b[b.length-1].equals(b[0])&&b.push(b[0]);return b},createPointsGeometry:function(a){a=this.getPoints(a);return this.createGeometry(a)},createSpacedPointsGeometry:function(a){a=this.getSpacedPoints(a);return this.createGeometry(a)},createGeometry:function(a){for(var b=new P,c=0,d=a.length;c<d;c++){var e=a[c];b.vertices.push(new q(e.x,e.y,e.z||0))}return b}});Oa.prototype=Object.create(aa.prototype);Oa.prototype.constructor=Oa;Oa.prototype.isEllipseCurve=!0;Oa.prototype.getPoint=function(a){for(var b=
|
|
|
-2*Math.PI,c=this.aEndAngle-this.aStartAngle,d=Math.abs(c)<Number.EPSILON;0>c;)c+=b;for(;c>b;)c-=b;c<Number.EPSILON&&(c=d?0:b);!0!==this.aClockwise||d||(c=c===b?-b:c-b);b=this.aStartAngle+a*c;a=this.aX+this.xRadius*Math.cos(b);var e=this.aY+this.yRadius*Math.sin(b);0!==this.aRotation&&(b=Math.cos(this.aRotation),c=Math.sin(this.aRotation),d=a-this.aX,e-=this.aY,a=d*b-e*c+this.aX,e=d*c+e*b+this.aY);return new C(a,e)};h.CurveUtils={tangentQuadraticBezier:function(a,b,c,d){return 2*(1-a)*(c-b)+2*a*(d-
|
|
|
-c)},tangentCubicBezier:function(a,b,c,d,e){return-3*b*(1-a)*(1-a)+3*c*(1-a)*(1-a)-6*a*c*(1-a)+6*a*d*(1-a)-3*a*a*d+3*a*a*e},tangentSpline:function(a,b,c,d,e){return 6*a*a-6*a+(3*a*a-4*a+1)+(-6*a*a+6*a)+(3*a*a-2*a)},interpolate:function(a,b,c,d,e){a=.5*(c-a);d=.5*(d-b);var f=e*e;return(2*b-2*c+a+d)*e*f+(-3*b+3*c-2*a-d)*f+a*e+b}};sb.prototype=Object.create(aa.prototype);sb.prototype.constructor=sb;sb.prototype.isSplineCurve=!0;sb.prototype.getPoint=function(a){var b=this.points;a*=b.length-1;var c=Math.floor(a);
|
|
|
-a-=c;var d=b[0===c?c:c-1],e=b[c],f=b[c>b.length-2?b.length-1:c+1],b=b[c>b.length-3?b.length-1:c+2],c=h.CurveUtils.interpolate;return new C(c(d.x,e.x,f.x,b.x,a),c(d.y,e.y,f.y,b.y,a))};tb.prototype=Object.create(aa.prototype);tb.prototype.constructor=tb;tb.prototype.getPoint=function(a){var b=h.ShapeUtils.b3;return new C(b(a,this.v0.x,this.v1.x,this.v2.x,this.v3.x),b(a,this.v0.y,this.v1.y,this.v2.y,this.v3.y))};tb.prototype.getTangent=function(a){var b=h.CurveUtils.tangentCubicBezier;return(new C(b(a,
|
|
|
-this.v0.x,this.v1.x,this.v2.x,this.v3.x),b(a,this.v0.y,this.v1.y,this.v2.y,this.v3.y))).normalize()};ub.prototype=Object.create(aa.prototype);ub.prototype.constructor=ub;ub.prototype.getPoint=function(a){var b=h.ShapeUtils.b2;return new C(b(a,this.v0.x,this.v1.x,this.v2.x),b(a,this.v0.y,this.v1.y,this.v2.y))};ub.prototype.getTangent=function(a){var b=h.CurveUtils.tangentQuadraticBezier;return(new C(b(a,this.v0.x,this.v1.x,this.v2.x),b(a,this.v0.y,this.v1.y,this.v2.y))).normalize()};var Wd=Object.assign(Object.create(Jc.prototype),
|
|
|
-{fromPoints:function(a){this.moveTo(a[0].x,a[0].y);for(var b=1,c=a.length;b<c;b++)this.lineTo(a[b].x,a[b].y)},moveTo:function(a,b){this.currentPoint.set(a,b)},lineTo:function(a,b){var c=new Ka(this.currentPoint.clone(),new C(a,b));this.curves.push(c);this.currentPoint.set(a,b)},quadraticCurveTo:function(a,b,c,d){a=new ub(this.currentPoint.clone(),new C(a,b),new C(c,d));this.curves.push(a);this.currentPoint.set(c,d)},bezierCurveTo:function(a,b,c,d,e,f){a=new tb(this.currentPoint.clone(),new C(a,b),
|
|
|
-new C(c,d),new C(e,f));this.curves.push(a);this.currentPoint.set(e,f)},splineThru:function(a){var b=[this.currentPoint.clone()].concat(a),b=new sb(b);this.curves.push(b);this.currentPoint.copy(a[a.length-1])},arc:function(a,b,c,d,e,f){this.absarc(a+this.currentPoint.x,b+this.currentPoint.y,c,d,e,f)},absarc:function(a,b,c,d,e,f){this.absellipse(a,b,c,c,d,e,f)},ellipse:function(a,b,c,d,e,f,g,k){this.absellipse(a+this.currentPoint.x,b+this.currentPoint.y,c,d,e,f,g,k)},absellipse:function(a,b,c,d,e,f,
|
|
|
-g,k){a=new Oa(a,b,c,d,e,f,g,k);0<this.curves.length&&(b=a.getPoint(0),b.equals(this.currentPoint)||this.lineTo(b.x,b.y));this.curves.push(a);a=a.getPoint(1);this.currentPoint.copy(a)}});vb.prototype=Object.assign(Object.create(Wd),{constructor:vb,getPointsHoles:function(a){for(var b=[],c=0,d=this.holes.length;c<d;c++)b[c]=this.holes[c].getPoints(a);return b},extractAllPoints:function(a){return{shape:this.getPoints(a),holes:this.getPointsHoles(a)}},extractPoints:function(a){return this.extractAllPoints(a)}});
|
|
|
-Kc.prototype=Wd;Wd.constructor=Kc;Ed.prototype={moveTo:function(a,b){this.currentPath=new Kc;this.subPaths.push(this.currentPath);this.currentPath.moveTo(a,b)},lineTo:function(a,b){this.currentPath.lineTo(a,b)},quadraticCurveTo:function(a,b,c,d){this.currentPath.quadraticCurveTo(a,b,c,d)},bezierCurveTo:function(a,b,c,d,e,f){this.currentPath.bezierCurveTo(a,b,c,d,e,f)},splineThru:function(a){this.currentPath.splineThru(a)},toShapes:function(a,b){function c(a){for(var b=[],c=0,d=a.length;c<d;c++){var e=
|
|
|
-a[c],f=new vb;f.curves=e.curves;b.push(f)}return b}function d(a,b){for(var c=b.length,d=!1,e=c-1,f=0;f<c;e=f++){var g=b[e],k=b[f],h=k.x-g.x,l=k.y-g.y;if(Math.abs(l)>Number.EPSILON){if(0>l&&(g=b[f],h=-h,k=b[e],l=-l),!(a.y<g.y||a.y>k.y))if(a.y===g.y){if(a.x===g.x)return!0}else{e=l*(a.x-g.x)-h*(a.y-g.y);if(0===e)return!0;0>e||(d=!d)}}else if(a.y===g.y&&(k.x<=a.x&&a.x<=g.x||g.x<=a.x&&a.x<=k.x))return!0}return d}var e=h.ShapeUtils.isClockWise,f=this.subPaths;if(0===f.length)return[];if(!0===b)return c(f);
|
|
|
-var g,k,l,m=[];if(1===f.length)return k=f[0],l=new vb,l.curves=k.curves,m.push(l),m;var r=!e(f[0].getPoints()),r=a?!r:r;l=[];var p=[],n=[],q=0,t;p[q]=void 0;n[q]=[];for(var w=0,z=f.length;w<z;w++)k=f[w],t=k.getPoints(),g=e(t),(g=a?!g:g)?(!r&&p[q]&&q++,p[q]={s:new vb,p:t},p[q].s.curves=k.curves,r&&q++,n[q]=[]):n[q].push({h:k,p:t[0]});if(!p[0])return c(f);if(1<p.length){w=!1;k=[];e=0;for(f=p.length;e<f;e++)l[e]=[];e=0;for(f=p.length;e<f;e++)for(g=n[e],r=0;r<g.length;r++){q=g[r];t=!0;for(z=0;z<p.length;z++)d(q.p,
|
|
|
-p[z].p)&&(e!==z&&k.push({froms:e,tos:z,hole:r}),t?(t=!1,l[z].push(q)):w=!0);t&&l[e].push(q)}0<k.length&&(w||(n=l))}w=0;for(e=p.length;w<e;w++)for(l=p[w].s,m.push(l),k=n[w],f=0,g=k.length;f<g;f++)l.holes.push(k[f].h);return m}};Object.assign(Fd.prototype,{isFont:!0,generateShapes:function(a,b,c){void 0===b&&(b=100);void 0===c&&(c=4);var d=this.data;a=String(a).split("");var e=b/d.resolution,f=0;b=[];for(var g=0;g<a.length;g++){var k;k=e;var l=f,m=d.glyphs[a[g]]||d.glyphs["?"];if(m){var r=new Ed,p=
|
|
|
-[],n=h.ShapeUtils.b2,q=h.ShapeUtils.b3,t,w,z,v,x,C,y,E;if(m.o)for(var B=m._cachedOutline||(m._cachedOutline=m.o.split(" ")),D=0,H=B.length;D<H;)switch(B[D++]){case "m":t=B[D++]*k+l;w=B[D++]*k;r.moveTo(t,w);break;case "l":t=B[D++]*k+l;w=B[D++]*k;r.lineTo(t,w);break;case "q":t=B[D++]*k+l;w=B[D++]*k;x=B[D++]*k+l;C=B[D++]*k;r.quadraticCurveTo(x,C,t,w);if(v=p[p.length-1]){z=v.x;v=v.y;for(var J=1;J<=c;J++){var M=J/c;n(M,z,x,t);n(M,v,C,w)}}break;case "b":if(t=B[D++]*k+l,w=B[D++]*k,x=B[D++]*k+l,C=B[D++]*
|
|
|
-k,y=B[D++]*k+l,E=B[D++]*k,r.bezierCurveTo(x,C,y,E,t,w),v=p[p.length-1])for(z=v.x,v=v.y,J=1;J<=c;J++)M=J/c,q(M,z,x,y,t),q(M,v,C,E,w)}k={offset:m.ha*k,path:r}}else k=void 0;f+=k.offset;b.push(k.path)}c=[];d=0;for(a=b.length;d<a;d++)Array.prototype.push.apply(c,b[d].toShapes());return c}});Object.assign(qe.prototype,{load:function(a,b,c,d){var e=this;(new xa(this.manager)).load(a,function(a){var c;try{c=JSON.parse(a)}catch(d){console.warn("THREE.FontLoader: typeface.js support is being deprecated. Use typeface.json instead."),
|
|
|
-c=JSON.parse(a.substring(65,a.length-2))}a=e.parse(c);b&&b(a)},c,d)},parse:function(a){return new Fd(a)}});var Hd;Object.assign(Id.prototype,{load:function(a,b,c,d){var e=new xa(this.manager);e.setResponseType("arraybuffer");e.load(a,function(a){Gd().decodeAudioData(a,function(a){b(a)})},c,d)}});Object.assign(re.prototype,{update:function(){var a,b,c,d,e,f,g,k=new H,l=new H;return function(m){if(a!==this||b!==m.focus||c!==m.fov||d!==m.aspect*this.aspect||e!==m.near||f!==m.far||g!==m.zoom){a=this;
|
|
|
-b=m.focus;c=m.fov;d=m.aspect*this.aspect;e=m.near;f=m.far;g=m.zoom;var r=m.projectionMatrix.clone(),p=this.eyeSep/2,n=p*e/b,q=e*Math.tan(h.Math.DEG2RAD*c*.5)/g,t;l.elements[12]=-p;k.elements[12]=p;p=-q*d+n;t=q*d+n;r.elements[0]=2*e/(t-p);r.elements[8]=(t+p)/(t-p);this.cameraL.projectionMatrix.copy(r);p=-q*d-n;t=q*d-n;r.elements[0]=2*e/(t-p);r.elements[8]=(t+p)/(t-p);this.cameraR.projectionMatrix.copy(r)}this.cameraL.matrixWorld.copy(m.matrixWorld).multiply(l);this.cameraR.matrixWorld.copy(m.matrixWorld).multiply(k)}}()});
|
|
|
-pd.prototype=Object.create(z.prototype);pd.prototype.constructor=pd;Jd.prototype=Object.assign(Object.create(z.prototype),{constructor:Jd,getInput:function(){return this.gain},removeFilter:function(){null!==this.filter&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null)},getFilter:function(){return this.filter},setFilter:function(a){null!==this.filter?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):
|
|
|
+else if(0<h)k=d-1;else{k=d;break}d=k;if(c[d]===f)return d/(e-1);g=c[d];return(d+(f-g)/(c[d+1]-g))/(e-1)},getTangent:function(a){var b=a-1E-4;a+=1E-4;0>b&&(b=0);1<a&&(a=1);b=this.getPoint(b);return this.getPoint(a).clone().sub(b).normalize()},getTangentAt:function(a){a=this.getUtoTmapping(a);return this.getTangent(a)},computeFrenetFrames:function(a,b){var c=new q,d=[],e=[],f=[],g=new q,k=new H,l,n;for(l=0;l<=a;l++)n=l/a,d[l]=this.getTangentAt(n),d[l].normalize();e[0]=new q;f[0]=new q;l=Number.MAX_VALUE;
|
|
|
+n=Math.abs(d[0].x);var r=Math.abs(d[0].y),p=Math.abs(d[0].z);n<=l&&(l=n,c.set(1,0,0));r<=l&&(l=r,c.set(0,1,0));p<=l&&c.set(0,0,1);g.crossVectors(d[0],c).normalize();e[0].crossVectors(d[0],g);f[0].crossVectors(d[0],e[0]);for(l=1;l<=a;l++)e[l]=e[l-1].clone(),f[l]=f[l-1].clone(),g.crossVectors(d[l-1],d[l]),g.length()>Number.EPSILON&&(g.normalize(),c=Math.acos(h.Math.clamp(d[l-1].dot(d[l]),-1,1)),e[l].applyMatrix4(k.makeRotationAxis(g,c))),f[l].crossVectors(d[l],e[l]);if(!0===b)for(c=Math.acos(h.Math.clamp(e[0].dot(e[a]),
|
|
|
+-1,1)),c/=a,0<d[0].dot(g.crossVectors(e[0],e[a]))&&(c=-c),l=1;l<=a;l++)e[l].applyMatrix4(k.makeRotationAxis(d[l],c*l)),f[l].crossVectors(d[l],e[l]);return{tangents:d,normals:e,binormals:f}}};aa.create=function(a,b){a.prototype=Object.create(aa.prototype);a.prototype.constructor=a;a.prototype.getPoint=b;return a};Ka.prototype=Object.create(aa.prototype);Ka.prototype.constructor=Ka;Ka.prototype.isLineCurve=!0;Ka.prototype.getPoint=function(a){if(1===a)return this.v2.clone();var b=this.v2.clone().sub(this.v1);
|
|
|
+b.multiplyScalar(a).add(this.v1);return b};Ka.prototype.getPointAt=function(a){return this.getPoint(a)};Ka.prototype.getTangent=function(a){return this.v2.clone().sub(this.v1).normalize()};Jc.prototype=Object.assign(Object.create(aa.prototype),{constructor:Jc,add:function(a){this.curves.push(a)},closePath:function(){var a=this.curves[0].getPoint(0),b=this.curves[this.curves.length-1].getPoint(1);a.equals(b)||this.curves.push(new Ka(b,a))},getPoint:function(a){var b=a*this.getLength(),c=this.getCurveLengths();
|
|
|
+for(a=0;a<c.length;){if(c[a]>=b)return b=c[a]-b,a=this.curves[a],c=a.getLength(),a.getPointAt(0===c?0:1-b/c);a++}return null},getLength:function(){var a=this.getCurveLengths();return a[a.length-1]},updateArcLengths:function(){this.needsUpdate=!0;this.cacheLengths=null;this.getLengths()},getCurveLengths:function(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;for(var a=[],b=0,c=0,d=this.curves.length;c<d;c++)b+=this.curves[c].getLength(),a.push(b);return this.cacheLengths=
|
|
|
+a},getSpacedPoints:function(a){a||(a=40);for(var b=[],c=0;c<=a;c++)b.push(this.getPoint(c/a));this.autoClose&&b.push(b[0]);return b},getPoints:function(a){a=a||12;for(var b=[],c,d=0,e=this.curves;d<e.length;d++)for(var f=e[d],f=f.getPoints(f&&f.isEllipseCurve?2*a:f&&f.isLineCurve?1:f&&f.isSplineCurve?a*f.points.length:a),g=0;g<f.length;g++){var k=f[g];c&&c.equals(k)||(b.push(k),c=k)}this.autoClose&&1<b.length&&!b[b.length-1].equals(b[0])&&b.push(b[0]);return b},createPointsGeometry:function(a){a=
|
|
|
+this.getPoints(a);return this.createGeometry(a)},createSpacedPointsGeometry:function(a){a=this.getSpacedPoints(a);return this.createGeometry(a)},createGeometry:function(a){for(var b=new P,c=0,d=a.length;c<d;c++){var e=a[c];b.vertices.push(new q(e.x,e.y,e.z||0))}return b}});Oa.prototype=Object.create(aa.prototype);Oa.prototype.constructor=Oa;Oa.prototype.isEllipseCurve=!0;Oa.prototype.getPoint=function(a){for(var b=2*Math.PI,c=this.aEndAngle-this.aStartAngle,d=Math.abs(c)<Number.EPSILON;0>c;)c+=b;
|
|
|
+for(;c>b;)c-=b;c<Number.EPSILON&&(c=d?0:b);!0!==this.aClockwise||d||(c=c===b?-b:c-b);b=this.aStartAngle+a*c;a=this.aX+this.xRadius*Math.cos(b);var e=this.aY+this.yRadius*Math.sin(b);0!==this.aRotation&&(b=Math.cos(this.aRotation),c=Math.sin(this.aRotation),d=a-this.aX,e-=this.aY,a=d*b-e*c+this.aX,e=d*c+e*b+this.aY);return new C(a,e)};h.CurveUtils={tangentQuadraticBezier:function(a,b,c,d){return 2*(1-a)*(c-b)+2*a*(d-c)},tangentCubicBezier:function(a,b,c,d,e){return-3*b*(1-a)*(1-a)+3*c*(1-a)*(1-a)-
|
|
|
+6*a*c*(1-a)+6*a*d*(1-a)-3*a*a*d+3*a*a*e},tangentSpline:function(a,b,c,d,e){return 6*a*a-6*a+(3*a*a-4*a+1)+(-6*a*a+6*a)+(3*a*a-2*a)},interpolate:function(a,b,c,d,e){a=.5*(c-a);d=.5*(d-b);var f=e*e;return(2*b-2*c+a+d)*e*f+(-3*b+3*c-2*a-d)*f+a*e+b}};sb.prototype=Object.create(aa.prototype);sb.prototype.constructor=sb;sb.prototype.isSplineCurve=!0;sb.prototype.getPoint=function(a){var b=this.points;a*=b.length-1;var c=Math.floor(a);a-=c;var d=b[0===c?c:c-1],e=b[c],f=b[c>b.length-2?b.length-1:c+1],b=b[c>
|
|
|
+b.length-3?b.length-1:c+2],c=h.CurveUtils.interpolate;return new C(c(d.x,e.x,f.x,b.x,a),c(d.y,e.y,f.y,b.y,a))};tb.prototype=Object.create(aa.prototype);tb.prototype.constructor=tb;tb.prototype.getPoint=function(a){var b=h.ShapeUtils.b3;return new C(b(a,this.v0.x,this.v1.x,this.v2.x,this.v3.x),b(a,this.v0.y,this.v1.y,this.v2.y,this.v3.y))};tb.prototype.getTangent=function(a){var b=h.CurveUtils.tangentCubicBezier;return(new C(b(a,this.v0.x,this.v1.x,this.v2.x,this.v3.x),b(a,this.v0.y,this.v1.y,this.v2.y,
|
|
|
+this.v3.y))).normalize()};ub.prototype=Object.create(aa.prototype);ub.prototype.constructor=ub;ub.prototype.getPoint=function(a){var b=h.ShapeUtils.b2;return new C(b(a,this.v0.x,this.v1.x,this.v2.x),b(a,this.v0.y,this.v1.y,this.v2.y))};ub.prototype.getTangent=function(a){var b=h.CurveUtils.tangentQuadraticBezier;return(new C(b(a,this.v0.x,this.v1.x,this.v2.x),b(a,this.v0.y,this.v1.y,this.v2.y))).normalize()};var Wd=Object.assign(Object.create(Jc.prototype),{fromPoints:function(a){this.moveTo(a[0].x,
|
|
|
+a[0].y);for(var b=1,c=a.length;b<c;b++)this.lineTo(a[b].x,a[b].y)},moveTo:function(a,b){this.currentPoint.set(a,b)},lineTo:function(a,b){var c=new Ka(this.currentPoint.clone(),new C(a,b));this.curves.push(c);this.currentPoint.set(a,b)},quadraticCurveTo:function(a,b,c,d){a=new ub(this.currentPoint.clone(),new C(a,b),new C(c,d));this.curves.push(a);this.currentPoint.set(c,d)},bezierCurveTo:function(a,b,c,d,e,f){a=new tb(this.currentPoint.clone(),new C(a,b),new C(c,d),new C(e,f));this.curves.push(a);
|
|
|
+this.currentPoint.set(e,f)},splineThru:function(a){var b=[this.currentPoint.clone()].concat(a),b=new sb(b);this.curves.push(b);this.currentPoint.copy(a[a.length-1])},arc:function(a,b,c,d,e,f){this.absarc(a+this.currentPoint.x,b+this.currentPoint.y,c,d,e,f)},absarc:function(a,b,c,d,e,f){this.absellipse(a,b,c,c,d,e,f)},ellipse:function(a,b,c,d,e,f,g,k){this.absellipse(a+this.currentPoint.x,b+this.currentPoint.y,c,d,e,f,g,k)},absellipse:function(a,b,c,d,e,f,g,k){a=new Oa(a,b,c,d,e,f,g,k);0<this.curves.length&&
|
|
|
+(b=a.getPoint(0),b.equals(this.currentPoint)||this.lineTo(b.x,b.y));this.curves.push(a);a=a.getPoint(1);this.currentPoint.copy(a)}});vb.prototype=Object.assign(Object.create(Wd),{constructor:vb,getPointsHoles:function(a){for(var b=[],c=0,d=this.holes.length;c<d;c++)b[c]=this.holes[c].getPoints(a);return b},extractAllPoints:function(a){return{shape:this.getPoints(a),holes:this.getPointsHoles(a)}},extractPoints:function(a){return this.extractAllPoints(a)}});Kc.prototype=Wd;Wd.constructor=Kc;Ed.prototype=
|
|
|
+{moveTo:function(a,b){this.currentPath=new Kc;this.subPaths.push(this.currentPath);this.currentPath.moveTo(a,b)},lineTo:function(a,b){this.currentPath.lineTo(a,b)},quadraticCurveTo:function(a,b,c,d){this.currentPath.quadraticCurveTo(a,b,c,d)},bezierCurveTo:function(a,b,c,d,e,f){this.currentPath.bezierCurveTo(a,b,c,d,e,f)},splineThru:function(a){this.currentPath.splineThru(a)},toShapes:function(a,b){function c(a){for(var b=[],c=0,d=a.length;c<d;c++){var e=a[c],f=new vb;f.curves=e.curves;b.push(f)}return b}
|
|
|
+function d(a,b){for(var c=b.length,d=!1,e=c-1,f=0;f<c;e=f++){var g=b[e],k=b[f],h=k.x-g.x,l=k.y-g.y;if(Math.abs(l)>Number.EPSILON){if(0>l&&(g=b[f],h=-h,k=b[e],l=-l),!(a.y<g.y||a.y>k.y))if(a.y===g.y){if(a.x===g.x)return!0}else{e=l*(a.x-g.x)-h*(a.y-g.y);if(0===e)return!0;0>e||(d=!d)}}else if(a.y===g.y&&(k.x<=a.x&&a.x<=g.x||g.x<=a.x&&a.x<=k.x))return!0}return d}var e=h.ShapeUtils.isClockWise,f=this.subPaths;if(0===f.length)return[];if(!0===b)return c(f);var g,k,l,n=[];if(1===f.length)return k=f[0],l=
|
|
|
+new vb,l.curves=k.curves,n.push(l),n;var r=!e(f[0].getPoints()),r=a?!r:r;l=[];var p=[],m=[],q=0,t;p[q]=void 0;m[q]=[];for(var w=0,z=f.length;w<z;w++)k=f[w],t=k.getPoints(),g=e(t),(g=a?!g:g)?(!r&&p[q]&&q++,p[q]={s:new vb,p:t},p[q].s.curves=k.curves,r&&q++,m[q]=[]):m[q].push({h:k,p:t[0]});if(!p[0])return c(f);if(1<p.length){w=!1;k=[];e=0;for(f=p.length;e<f;e++)l[e]=[];e=0;for(f=p.length;e<f;e++)for(g=m[e],r=0;r<g.length;r++){q=g[r];t=!0;for(z=0;z<p.length;z++)d(q.p,p[z].p)&&(e!==z&&k.push({froms:e,
|
|
|
+tos:z,hole:r}),t?(t=!1,l[z].push(q)):w=!0);t&&l[e].push(q)}0<k.length&&(w||(m=l))}w=0;for(e=p.length;w<e;w++)for(l=p[w].s,n.push(l),k=m[w],f=0,g=k.length;f<g;f++)l.holes.push(k[f].h);return n}};Object.assign(Fd.prototype,{isFont:!0,generateShapes:function(a,b,c){void 0===b&&(b=100);void 0===c&&(c=4);var d=this.data;a=String(a).split("");var e=b/d.resolution,f=0;b=[];for(var g=0;g<a.length;g++){var k;k=e;var l=f,n=d.glyphs[a[g]]||d.glyphs["?"];if(n){var r=new Ed,p=[],m=h.ShapeUtils.b2,q=h.ShapeUtils.b3,
|
|
|
+t,w,z,v,x,C,y,E;if(n.o)for(var B=n._cachedOutline||(n._cachedOutline=n.o.split(" ")),D=0,H=B.length;D<H;)switch(B[D++]){case "m":t=B[D++]*k+l;w=B[D++]*k;r.moveTo(t,w);break;case "l":t=B[D++]*k+l;w=B[D++]*k;r.lineTo(t,w);break;case "q":t=B[D++]*k+l;w=B[D++]*k;x=B[D++]*k+l;C=B[D++]*k;r.quadraticCurveTo(x,C,t,w);if(v=p[p.length-1]){z=v.x;v=v.y;for(var J=1;J<=c;J++){var M=J/c;m(M,z,x,t);m(M,v,C,w)}}break;case "b":if(t=B[D++]*k+l,w=B[D++]*k,x=B[D++]*k+l,C=B[D++]*k,y=B[D++]*k+l,E=B[D++]*k,r.bezierCurveTo(x,
|
|
|
+C,y,E,t,w),v=p[p.length-1])for(z=v.x,v=v.y,J=1;J<=c;J++)M=J/c,q(M,z,x,y,t),q(M,v,C,E,w)}k={offset:n.ha*k,path:r}}else k=void 0;f+=k.offset;b.push(k.path)}c=[];d=0;for(a=b.length;d<a;d++)Array.prototype.push.apply(c,b[d].toShapes());return c}});Object.assign(qe.prototype,{load:function(a,b,c,d){var e=this;(new xa(this.manager)).load(a,function(a){var c;try{c=JSON.parse(a)}catch(d){console.warn("THREE.FontLoader: typeface.js support is being deprecated. Use typeface.json instead."),c=JSON.parse(a.substring(65,
|
|
|
+a.length-2))}a=e.parse(c);b&&b(a)},c,d)},parse:function(a){return new Fd(a)}});var Hd;Object.assign(Id.prototype,{load:function(a,b,c,d){var e=new xa(this.manager);e.setResponseType("arraybuffer");e.load(a,function(a){Gd().decodeAudioData(a,function(a){b(a)})},c,d)}});Object.assign(re.prototype,{update:function(){var a,b,c,d,e,f,g,k=new H,l=new H;return function(n){if(a!==this||b!==n.focus||c!==n.fov||d!==n.aspect*this.aspect||e!==n.near||f!==n.far||g!==n.zoom){a=this;b=n.focus;c=n.fov;d=n.aspect*
|
|
|
+this.aspect;e=n.near;f=n.far;g=n.zoom;var r=n.projectionMatrix.clone(),p=this.eyeSep/2,m=p*e/b,q=e*Math.tan(h.Math.DEG2RAD*c*.5)/g,t;l.elements[12]=-p;k.elements[12]=p;p=-q*d+m;t=q*d+m;r.elements[0]=2*e/(t-p);r.elements[8]=(t+p)/(t-p);this.cameraL.projectionMatrix.copy(r);p=-q*d-m;t=q*d-m;r.elements[0]=2*e/(t-p);r.elements[8]=(t+p)/(t-p);this.cameraR.projectionMatrix.copy(r)}this.cameraL.matrixWorld.copy(n.matrixWorld).multiply(l);this.cameraR.matrixWorld.copy(n.matrixWorld).multiply(k)}}()});pd.prototype=
|
|
|
+Object.create(z.prototype);pd.prototype.constructor=pd;Jd.prototype=Object.assign(Object.create(z.prototype),{constructor:Jd,getInput:function(){return this.gain},removeFilter:function(){null!==this.filter&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null)},getFilter:function(){return this.filter},setFilter:function(a){null!==this.filter?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):
|
|
|
this.gain.disconnect(this.context.destination);this.filter=a;this.gain.connect(this.filter);this.filter.connect(this.context.destination)},getMasterVolume:function(){return this.gain.gain.value},setMasterVolume:function(a){this.gain.gain.value=a},updateMatrixWorld:function(){var a=new q,b=new da,c=new q,d=new q;return function(e){z.prototype.updateMatrixWorld.call(this,e);e=this.context.listener;var f=this.up;this.matrixWorld.decompose(a,b,c);d.set(0,0,-1).applyQuaternion(b);e.setPosition(a.x,a.y,
|
|
|
-a.z);e.setOrientation(d.x,d.y,d.z,f.x,f.y,f.z)}}()});Wb.prototype=Object.assign(Object.create(z.prototype),{constructor:Wb,getOutput:function(){return this.gain},setNodeSource:function(a){this.hasPlaybackControl=!1;this.sourceType="audioNode";this.source=a;this.connect();return this},setBuffer:function(a){this.source.buffer=a;this.sourceType="buffer";this.autoplay&&this.play();return this},play:function(){if(!0===this.isPlaying)console.warn("THREE.Audio: Audio is already playing.");else if(!1===this.hasPlaybackControl)console.warn("THREE.Audio: this Audio has no playback control.");
|
|
|
+a.z);e.setOrientation(d.x,d.y,d.z,f.x,f.y,f.z)}}()});Vb.prototype=Object.assign(Object.create(z.prototype),{constructor:Vb,getOutput:function(){return this.gain},setNodeSource:function(a){this.hasPlaybackControl=!1;this.sourceType="audioNode";this.source=a;this.connect();return this},setBuffer:function(a){this.source.buffer=a;this.sourceType="buffer";this.autoplay&&this.play();return this},play:function(){if(!0===this.isPlaying)console.warn("THREE.Audio: Audio is already playing.");else if(!1===this.hasPlaybackControl)console.warn("THREE.Audio: this Audio has no playback control.");
|
|
|
else{var a=this.context.createBufferSource();a.buffer=this.source.buffer;a.loop=this.source.loop;a.onended=this.source.onended;a.start(0,this.startTime);a.playbackRate.value=this.playbackRate;this.isPlaying=!0;this.source=a;return this.connect()}},pause:function(){if(!1===this.hasPlaybackControl)console.warn("THREE.Audio: this Audio has no playback control.");else return this.source.stop(),this.startTime=this.context.currentTime,this.isPlaying=!1,this},stop:function(){if(!1===this.hasPlaybackControl)console.warn("THREE.Audio: this Audio has no playback control.");
|
|
|
else return this.source.stop(),this.startTime=0,this.isPlaying=!1,this},connect:function(){if(0<this.filters.length){this.source.connect(this.filters[0]);for(var a=1,b=this.filters.length;a<b;a++)this.filters[a-1].connect(this.filters[a]);this.filters[this.filters.length-1].connect(this.getOutput())}else this.source.connect(this.getOutput());return this},disconnect:function(){if(0<this.filters.length){this.source.disconnect(this.filters[0]);for(var a=1,b=this.filters.length;a<b;a++)this.filters[a-
|
|
|
1].disconnect(this.filters[a]);this.filters[this.filters.length-1].disconnect(this.getOutput())}else this.source.disconnect(this.getOutput());return this},getFilters:function(){return this.filters},setFilters:function(a){a||(a=[]);!0===this.isPlaying?(this.disconnect(),this.filters=a,this.connect()):this.filters=a;return this},getFilter:function(){return this.getFilters()[0]},setFilter:function(a){return this.setFilters(a?[a]:[])},setPlaybackRate:function(a){if(!1===this.hasPlaybackControl)console.warn("THREE.Audio: this Audio has no playback control.");
|
|
|
else return this.playbackRate=a,!0===this.isPlaying&&(this.source.playbackRate.value=this.playbackRate),this},getPlaybackRate:function(){return this.playbackRate},onEnded:function(){this.isPlaying=!1},getLoop:function(){return!1===this.hasPlaybackControl?(console.warn("THREE.Audio: this Audio has no playback control."),!1):this.source.loop},setLoop:function(a){!1===this.hasPlaybackControl?console.warn("THREE.Audio: this Audio has no playback control."):this.source.loop=a},getVolume:function(){return this.gain.gain.value},
|
|
|
-setVolume:function(a){this.gain.gain.value=a;return this}});Kd.prototype=Object.assign(Object.create(Wb.prototype),{constructor:Kd,getOutput:function(){return this.panner},getRefDistance:function(){return this.panner.refDistance},setRefDistance:function(a){this.panner.refDistance=a},getRolloffFactor:function(){return this.panner.rolloffFactor},setRolloffFactor:function(a){this.panner.rolloffFactor=a},getDistanceModel:function(){return this.panner.distanceModel},setDistanceModel:function(a){this.panner.distanceModel=
|
|
|
+setVolume:function(a){this.gain.gain.value=a;return this}});Kd.prototype=Object.assign(Object.create(Vb.prototype),{constructor:Kd,getOutput:function(){return this.panner},getRefDistance:function(){return this.panner.refDistance},setRefDistance:function(a){this.panner.refDistance=a},getRolloffFactor:function(){return this.panner.rolloffFactor},setRolloffFactor:function(a){this.panner.rolloffFactor=a},getDistanceModel:function(){return this.panner.distanceModel},setDistanceModel:function(a){this.panner.distanceModel=
|
|
|
a},getMaxDistance:function(){return this.panner.maxDistance},setMaxDistance:function(a){this.panner.maxDistance=a},updateMatrixWorld:function(){var a=new q;return function(b){z.prototype.updateMatrixWorld.call(this,b);a.setFromMatrixPosition(this.matrixWorld);this.panner.setPosition(a.x,a.y,a.z)}}()});Object.assign(Ld.prototype,{getFrequencyData:function(){this.analyser.getByteFrequencyData(this.data);return this.data},getAverageFrequency:function(){for(var a=0,b=this.getFrequencyData(),c=0;c<b.length;c++)a+=
|
|
|
b[c];return a/b.length}});qd.prototype={constructor:qd,accumulate:function(a,b){var c=this.buffer,d=this.valueSize,e=a*d+d,f=this.cumulativeWeight;if(0===f){for(f=0;f!==d;++f)c[e+f]=c[f];f=b}else f+=b,this._mixBufferRegion(c,e,0,b/f,d);this.cumulativeWeight=f},apply:function(a){var b=this.valueSize,c=this.buffer;a=a*b+b;var d=this.cumulativeWeight,e=this.binding;this.cumulativeWeight=0;1>d&&this._mixBufferRegion(c,a,3*b,1-d,b);for(var d=b,f=b+b;d!==f;++d)if(c[d]!==c[d+b]){e.setValue(c,a);break}},
|
|
|
saveOriginalState:function(){var a=this.buffer,b=this.valueSize,c=3*b;this.binding.getValue(a,c);for(var d=b;d!==c;++d)a[d]=a[c+d%b];this.cumulativeWeight=0},restoreOriginalState:function(){this.binding.setValue(this.buffer,3*this.valueSize)},_select:function(a,b,c,d,e){if(.5<=d)for(d=0;d!==e;++d)a[b+d]=a[c+d]},_slerp:function(a,b,c,d,e){da.slerpFlat(a,b,a,b,a,c,d)},_lerp:function(a,b,c,d,e){for(var f=1-d,g=0;g!==e;++g){var k=b+g;a[k]=a[k]*f+a[c+g]*d}}};ga.prototype={constructor:ga,getValue:function(a,
|
|
@@ -721,11 +721,11 @@ d=0,e=c.length;d!==e;++d)c[d]=a[b++]},function(a,b){for(var c=this.resolvedPrope
|
|
|
this.targetObject.matrixWorldNeedsUpdate=!0}],[function(a,b){this.resolvedProperty.fromArray(a,b)},function(a,b){this.resolvedProperty.fromArray(a,b);this.targetObject.needsUpdate=!0},function(a,b){this.resolvedProperty.fromArray(a,b);this.targetObject.matrixWorldNeedsUpdate=!0}]]});ga.Composite=function(a,b,c){c=c||ga.parseTrackName(b);this._targetGroup=a;this._bindings=a.subscribe_(b,c)};ga.Composite.prototype={constructor:ga.Composite,getValue:function(a,b){this.bind();var c=this._bindings[this._targetGroup.nCachedObjects_];
|
|
|
void 0!==c&&c.getValue(a,b)},setValue:function(a,b){for(var c=this._bindings,d=this._targetGroup.nCachedObjects_,e=c.length;d!==e;++d)c[d].setValue(a,b)},bind:function(){for(var a=this._bindings,b=this._targetGroup.nCachedObjects_,c=a.length;b!==c;++b)a[b].bind()},unbind:function(){for(var a=this._bindings,b=this._targetGroup.nCachedObjects_,c=a.length;b!==c;++b)a[b].unbind()}};ga.create=function(a,b,c){return a&&a.isAnimationObjectGroup?new ga.Composite(a,b,c):new ga(a,b,c)};ga.parseTrackName=function(a){var b=
|
|
|
/^((?:\w+[\/:])*)(\w+)?(?:\.(\w+)(?:\[(.+)\])?)?\.(\w+)(?:\[(.+)\])?$/.exec(a);if(!b)throw Error("cannot parse trackName at all: "+a);b={nodeName:b[2],objectName:b[3],objectIndex:b[4],propertyName:b[5],propertyIndex:b[6]};if(null===b.propertyName||0===b.propertyName.length)throw Error("can not parse propertyName from trackName: "+a);return b};ga.findNode=function(a,b){if(!b||""===b||"root"===b||"."===b||-1===b||b===a.name||b===a.uuid)return a;if(a.skeleton){var c=function(a){for(var c=0;c<a.bones.length;c++){var d=
|
|
|
-a.bones[c];if(d.name===b)return d}return null}(a.skeleton);if(c)return c}if(a.children){var d=function(a){for(var c=0;c<a.length;c++){var g=a[c];if(g.name===b||g.uuid===b||(g=d(g.children)))return g}return null};if(c=d(a.children))return c}return null};Md.prototype={constructor:Md,isAnimationObjectGroup:!0,add:function(a){for(var b=this._objects,c=b.length,d=this.nCachedObjects_,e=this._indicesByUUID,f=this._paths,g=this._parsedPaths,k=this._bindings,h=k.length,m=0,r=arguments.length;m!==r;++m){var p=
|
|
|
-arguments[m],n=p.uuid,q=e[n];if(void 0===q){q=c++;e[n]=q;b.push(p);for(var n=0,t=h;n!==t;++n)k[n].push(new ga(p,f[n],g[n]))}else if(q<d){var w=b[q],z=--d,t=b[z];e[t.uuid]=q;b[q]=t;e[n]=z;b[z]=p;n=0;for(t=h;n!==t;++n){var v=k[n],x=v[q];v[q]=v[z];void 0===x&&(x=new ga(p,f[n],g[n]));v[z]=x}}else b[q]!==w&&console.error("Different objects with the same UUID detected. Clean the caches or recreate your infrastructure when reloading scenes...")}this.nCachedObjects_=d},remove:function(a){for(var b=this._objects,
|
|
|
-c=this.nCachedObjects_,d=this._indicesByUUID,e=this._bindings,f=e.length,g=0,k=arguments.length;g!==k;++g){var h=arguments[g],m=h.uuid,q=d[m];if(void 0!==q&&q>=c){var p=c++,n=b[p];d[n.uuid]=q;b[q]=n;d[m]=p;b[p]=h;h=0;for(m=f;h!==m;++h){var n=e[h],u=n[q];n[q]=n[p];n[p]=u}}}this.nCachedObjects_=c},uncache:function(a){for(var b=this._objects,c=b.length,d=this.nCachedObjects_,e=this._indicesByUUID,f=this._bindings,g=f.length,k=0,h=arguments.length;k!==h;++k){var m=arguments[k].uuid,q=e[m];if(void 0!==
|
|
|
-q)if(delete e[m],q<d){var m=--d,p=b[m],n=--c,u=b[n];e[p.uuid]=q;b[q]=p;e[u.uuid]=m;b[m]=u;b.pop();p=0;for(u=g;p!==u;++p){var t=f[p],w=t[n];t[q]=t[m];t[m]=w;t.pop()}}else for(n=--c,u=b[n],e[u.uuid]=q,b[q]=u,b.pop(),p=0,u=g;p!==u;++p)t=f[p],t[q]=t[n],t.pop()}this.nCachedObjects_=d},subscribe_:function(a,b){var c=this._bindingsIndicesByPath,d=c[a],e=this._bindings;if(void 0!==d)return e[d];var f=this._paths,g=this._parsedPaths,k=this._objects,h=this.nCachedObjects_,m=Array(k.length),d=e.length;c[a]=
|
|
|
-d;f.push(a);g.push(b);e.push(m);c=h;for(d=k.length;c!==d;++c)m[c]=new ga(k[c],a,b);return m},unsubscribe_:function(a){var b=this._bindingsIndicesByPath,c=b[a];if(void 0!==c){var d=this._paths,e=this._parsedPaths,f=this._bindings,g=f.length-1,k=f[g];b[a[g]]=c;f[c]=k;f.pop();e[c]=e[g];e.pop();d[c]=d[g];d.pop()}}};Nd.prototype={constructor:Nd,play:function(){this._mixer._activateAction(this);return this},stop:function(){this._mixer._deactivateAction(this);return this.reset()},reset:function(){this.paused=
|
|
|
+a.bones[c];if(d.name===b)return d}return null}(a.skeleton);if(c)return c}if(a.children){var d=function(a){for(var c=0;c<a.length;c++){var g=a[c];if(g.name===b||g.uuid===b||(g=d(g.children)))return g}return null};if(c=d(a.children))return c}return null};Md.prototype={constructor:Md,isAnimationObjectGroup:!0,add:function(a){for(var b=this._objects,c=b.length,d=this.nCachedObjects_,e=this._indicesByUUID,f=this._paths,g=this._parsedPaths,k=this._bindings,h=k.length,n=0,r=arguments.length;n!==r;++n){var p=
|
|
|
+arguments[n],m=p.uuid,q=e[m];if(void 0===q){q=c++;e[m]=q;b.push(p);for(var m=0,t=h;m!==t;++m)k[m].push(new ga(p,f[m],g[m]))}else if(q<d){var w=b[q],z=--d,t=b[z];e[t.uuid]=q;b[q]=t;e[m]=z;b[z]=p;m=0;for(t=h;m!==t;++m){var v=k[m],x=v[q];v[q]=v[z];void 0===x&&(x=new ga(p,f[m],g[m]));v[z]=x}}else b[q]!==w&&console.error("Different objects with the same UUID detected. Clean the caches or recreate your infrastructure when reloading scenes...")}this.nCachedObjects_=d},remove:function(a){for(var b=this._objects,
|
|
|
+c=this.nCachedObjects_,d=this._indicesByUUID,e=this._bindings,f=e.length,g=0,k=arguments.length;g!==k;++g){var h=arguments[g],n=h.uuid,r=d[n];if(void 0!==r&&r>=c){var p=c++,m=b[p];d[m.uuid]=r;b[r]=m;d[n]=p;b[p]=h;h=0;for(n=f;h!==n;++h){var m=e[h],q=m[r];m[r]=m[p];m[p]=q}}}this.nCachedObjects_=c},uncache:function(a){for(var b=this._objects,c=b.length,d=this.nCachedObjects_,e=this._indicesByUUID,f=this._bindings,g=f.length,k=0,h=arguments.length;k!==h;++k){var n=arguments[k].uuid,r=e[n];if(void 0!==
|
|
|
+r)if(delete e[n],r<d){var n=--d,p=b[n],m=--c,q=b[m];e[p.uuid]=r;b[r]=p;e[q.uuid]=n;b[n]=q;b.pop();p=0;for(q=g;p!==q;++p){var t=f[p],w=t[m];t[r]=t[n];t[n]=w;t.pop()}}else for(m=--c,q=b[m],e[q.uuid]=r,b[r]=q,b.pop(),p=0,q=g;p!==q;++p)t=f[p],t[r]=t[m],t.pop()}this.nCachedObjects_=d},subscribe_:function(a,b){var c=this._bindingsIndicesByPath,d=c[a],e=this._bindings;if(void 0!==d)return e[d];var f=this._paths,g=this._parsedPaths,k=this._objects,h=this.nCachedObjects_,n=Array(k.length),d=e.length;c[a]=
|
|
|
+d;f.push(a);g.push(b);e.push(n);c=h;for(d=k.length;c!==d;++c)n[c]=new ga(k[c],a,b);return n},unsubscribe_:function(a){var b=this._bindingsIndicesByPath,c=b[a];if(void 0!==c){var d=this._paths,e=this._parsedPaths,f=this._bindings,g=f.length-1,k=f[g];b[a[g]]=c;f[c]=k;f.pop();e[c]=e[g];e.pop();d[c]=d[g];d.pop()}}};Nd.prototype={constructor:Nd,play:function(){this._mixer._activateAction(this);return this},stop:function(){this._mixer._deactivateAction(this);return this.reset()},reset:function(){this.paused=
|
|
|
!1;this.enabled=!0;this.time=0;this._loopCount=-1;this._startTime=null;return this.stopFading().stopWarping()},isRunning:function(){return this.enabled&&!this.paused&&0!==this.timeScale&&null===this._startTime&&this._mixer._isActiveAction(this)},isScheduled:function(){return this._mixer._isActiveAction(this)},startAt:function(a){this._startTime=a;return this},setLoop:function(a,b){this.loop=a;this.repetitions=b;return this},setEffectiveWeight:function(a){this.weight=a;this._effectiveWeight=this.enabled?
|
|
|
a:0;return this.stopFading()},getEffectiveWeight:function(){return this._effectiveWeight},fadeIn:function(a){return this._scheduleFading(a,0,1)},fadeOut:function(a){return this._scheduleFading(a,1,0)},crossFadeFrom:function(a,b,c){a.fadeOut(b);this.fadeIn(b);if(c){c=this._clip.duration;var d=a._clip.duration,e=c/d;a.warp(1,d/c,b);this.warp(e,1,b)}return this},crossFadeTo:function(a,b,c){return a.crossFadeFrom(this,b,c)},stopFading:function(){var a=this._weightInterpolant;null!==a&&(this._weightInterpolant=
|
|
|
null,this._mixer._takeBackControlInterpolant(a));return this},setEffectiveTimeScale:function(a){this.timeScale=a;this._effectiveTimeScale=this.paused?0:a;return this.stopWarping()},getEffectiveTimeScale:function(){return this._effectiveTimeScale},setDuration:function(a){this.timeScale=this._clip.duration/a;return this.stopWarping()},syncWith:function(a){this.time=a.time;this.timeScale=a.timeScale;return this.stopWarping()},halt:function(a){return this.warp(this._effectiveTimeScale,0,a)},warp:function(a,
|
|
@@ -738,8 +738,8 @@ f=this._weightInterpolant;null===f&&(this._weightInterpolant=f=d._lendControlInt
|
|
|
e,b);this._bindAction(e,g);this._addInactiveAction(e,c,d);return e},existingAction:function(a,b){var c=b||this._root,d=c.uuid,c="string"===typeof a?ua.findByName(c,a):a,c=this._actionsByClip[c?c.uuid:a];return void 0!==c?c.actionByRoot[d]||null:null},stopAllAction:function(){for(var a=this._actions,b=this._nActiveActions,c=this._bindings,d=this._nActiveBindings,e=this._nActiveBindings=this._nActiveActions=0;e!==b;++e)a[e].reset();for(e=0;e!==d;++e)c[e].useCount=0;return this},update:function(a){a*=
|
|
|
this.timeScale;for(var b=this._actions,c=this._nActiveActions,d=this.time+=a,e=Math.sign(a),f=this._accuIndex^=1,g=0;g!==c;++g){var k=b[g];k.enabled&&k._update(d,a,e,f)}a=this._bindings;b=this._nActiveBindings;for(g=0;g!==b;++g)a[g].apply(f);return this},getRoot:function(){return this._root},uncacheClip:function(a){var b=this._actions;a=a.uuid;var c=this._actionsByClip,d=c[a];if(void 0!==d){for(var d=d.knownActions,e=0,f=d.length;e!==f;++e){var g=d[e];this._deactivateAction(g);var k=g._cacheIndex,
|
|
|
h=b[b.length-1];g._cacheIndex=null;g._byClipCacheIndex=null;h._cacheIndex=k;b[k]=h;b.pop();this._removeInactiveBindingsForAction(g)}delete c[a]}},uncacheRoot:function(a){a=a.uuid;var b=this._actionsByClip,c;for(c in b){var d=b[c].actionByRoot[a];void 0!==d&&(this._deactivateAction(d),this._removeInactiveAction(d))}c=this._bindingsByRootAndName[a];if(void 0!==c)for(var e in c)a=c[e],a.restoreOriginalState(),this._removeInactiveBinding(a)},uncacheAction:function(a,b){var c=this.existingAction(a,b);
|
|
|
-null!==c&&(this._deactivateAction(c),this._removeInactiveAction(c))}});Object.assign(Od.prototype,{_bindAction:function(a,b){var c=a._localRoot||this._root,d=a._clip.tracks,e=d.length,f=a._propertyBindings,g=a._interpolants,k=c.uuid,h=this._bindingsByRootAndName,m=h[k];void 0===m&&(m={},h[k]=m);for(h=0;h!==e;++h){var q=d[h],p=q.name,n=m[p];if(void 0===n){n=f[h];if(void 0!==n){null===n._cacheIndex&&(++n.referenceCount,this._addInactiveBinding(n,k,p));continue}n=new qd(ga.create(c,p,b&&b._propertyBindings[h].binding.parsedPath),
|
|
|
-q.ValueTypeName,q.getValueSize());++n.referenceCount;this._addInactiveBinding(n,k,p)}f[h]=n;g[h].resultBuffer=n.buffer}},_activateAction:function(a){if(!this._isActiveAction(a)){if(null===a._cacheIndex){var b=(a._localRoot||this._root).uuid,c=a._clip.uuid,d=this._actionsByClip[c];this._bindAction(a,d&&d.knownActions[0]);this._addInactiveAction(a,c,b)}b=a._propertyBindings;c=0;for(d=b.length;c!==d;++c){var e=b[c];0===e.useCount++&&(this._lendBinding(e),e.saveOriginalState())}this._lendAction(a)}},
|
|
|
+null!==c&&(this._deactivateAction(c),this._removeInactiveAction(c))}});Object.assign(Od.prototype,{_bindAction:function(a,b){var c=a._localRoot||this._root,d=a._clip.tracks,e=d.length,f=a._propertyBindings,g=a._interpolants,k=c.uuid,h=this._bindingsByRootAndName,n=h[k];void 0===n&&(n={},h[k]=n);for(h=0;h!==e;++h){var r=d[h],p=r.name,m=n[p];if(void 0===m){m=f[h];if(void 0!==m){null===m._cacheIndex&&(++m.referenceCount,this._addInactiveBinding(m,k,p));continue}m=new qd(ga.create(c,p,b&&b._propertyBindings[h].binding.parsedPath),
|
|
|
+r.ValueTypeName,r.getValueSize());++m.referenceCount;this._addInactiveBinding(m,k,p)}f[h]=m;g[h].resultBuffer=m.buffer}},_activateAction:function(a){if(!this._isActiveAction(a)){if(null===a._cacheIndex){var b=(a._localRoot||this._root).uuid,c=a._clip.uuid,d=this._actionsByClip[c];this._bindAction(a,d&&d.knownActions[0]);this._addInactiveAction(a,c,b)}b=a._propertyBindings;c=0;for(d=b.length;c!==d;++c){var e=b[c];0===e.useCount++&&(this._lendBinding(e),e.saveOriginalState())}this._lendAction(a)}},
|
|
|
_deactivateAction:function(a){if(this._isActiveAction(a)){for(var b=a._propertyBindings,c=0,d=b.length;c!==d;++c){var e=b[c];0===--e.useCount&&(e.restoreOriginalState(),this._takeBackBinding(e))}this._takeBackAction(a)}},_initMemoryManager:function(){this._actions=[];this._nActiveActions=0;this._actionsByClip={};this._bindings=[];this._nActiveBindings=0;this._bindingsByRootAndName={};this._controlInterpolants=[];this._nActiveControlInterpolants=0;var a=this;this.stats={actions:{get total(){return a._actions.length},
|
|
|
get inUse(){return a._nActiveActions}},bindings:{get total(){return a._bindings.length},get inUse(){return a._nActiveBindings}},controlInterpolants:{get total(){return a._controlInterpolants.length},get inUse(){return a._nActiveControlInterpolants}}}},_isActiveAction:function(a){a=a._cacheIndex;return null!==a&&a<this._nActiveActions},_addInactiveAction:function(a,b,c){var d=this._actions,e=this._actionsByClip,f=e[b];void 0===f?(f={knownActions:[a],actionByRoot:{}},a._byClipCacheIndex=0,e[b]=f):(b=
|
|
|
f.knownActions,a._byClipCacheIndex=b.length,b.push(a));a._cacheIndex=d.length;d.push(a);f.actionByRoot[c]=a},_removeInactiveAction:function(a){var b=this._actions,c=b[b.length-1],d=a._cacheIndex;c._cacheIndex=d;b[d]=c;b.pop();a._cacheIndex=null;var c=a._clip.uuid,d=this._actionsByClip,e=d[c],f=e.knownActions,g=f[f.length-1],k=a._byClipCacheIndex;g._byClipCacheIndex=k;f[k]=g;f.pop();a._byClipCacheIndex=null;delete e.actionByRoot[(b._localRoot||this._root).uuid];0===f.length&&delete d[c];this._removeInactiveBindingsForAction(a)},
|
|
@@ -749,9 +749,9 @@ this._bindings,c=a._cacheIndex,d=--this._nActiveBindings,e=b[d];a._cacheIndex=d;
|
|
|
d;b[d]=a;e.__cacheIndex=c;b[c]=e},_controlInterpolantsResultBuffer:new Float32Array(1)});wb.prototype=Object.create(J.prototype);wb.prototype.constructor=wb;wb.prototype.isInstancedBufferGeometry=!0;wb.prototype.addGroup=function(a,b,c){this.groups.push({start:a,count:b,materialIndex:c})};wb.prototype.copy=function(a){var b=a.index;null!==b&&this.setIndex(b.clone());var b=a.attributes,c;for(c in b)this.addAttribute(c,b[c].clone());a=a.groups;c=0;for(b=a.length;c<b;c++){var d=a[c];this.addGroup(d.start,
|
|
|
d.count,d.materialIndex)}return this};Pd.prototype={constructor:Pd,isInterleavedBufferAttribute:!0,get count(){return this.data.count},get array(){return this.data.array},setX:function(a,b){this.data.array[a*this.data.stride+this.offset]=b;return this},setY:function(a,b){this.data.array[a*this.data.stride+this.offset+1]=b;return this},setZ:function(a,b){this.data.array[a*this.data.stride+this.offset+2]=b;return this},setW:function(a,b){this.data.array[a*this.data.stride+this.offset+3]=b;return this},
|
|
|
getX:function(a){return this.data.array[a*this.data.stride+this.offset]},getY:function(a){return this.data.array[a*this.data.stride+this.offset+1]},getZ:function(a){return this.data.array[a*this.data.stride+this.offset+2]},getW:function(a){return this.data.array[a*this.data.stride+this.offset+3]},setXY:function(a,b,c){a=a*this.data.stride+this.offset;this.data.array[a+0]=b;this.data.array[a+1]=c;return this},setXYZ:function(a,b,c,d){a=a*this.data.stride+this.offset;this.data.array[a+0]=b;this.data.array[a+
|
|
|
-1]=c;this.data.array[a+2]=d;return this},setXYZW:function(a,b,c,d,e){a=a*this.data.stride+this.offset;this.data.array[a+0]=b;this.data.array[a+1]=c;this.data.array[a+2]=d;this.data.array[a+3]=e;return this}};Xb.prototype={constructor:Xb,isInterleavedBuffer:!0,set needsUpdate(a){!0===a&&this.version++},setDynamic:function(a){this.dynamic=a;return this},copy:function(a){this.array=new a.array.constructor(a.array);this.count=a.count;this.stride=a.stride;this.dynamic=a.dynamic;return this},copyAt:function(a,
|
|
|
-b,c){a*=this.stride;c*=b.stride;for(var d=0,e=this.stride;d<e;d++)this.array[a+d]=b.array[c+d];return this},set:function(a,b){void 0===b&&(b=0);this.array.set(a,b);return this},clone:function(){return(new this.constructor).copy(this)}};Yb.prototype=Object.create(Xb.prototype);Yb.prototype.constructor=Yb;Yb.prototype.isInstancedInterleavedBuffer=!0;Yb.prototype.copy=function(a){Xb.prototype.copy.call(this,a);this.meshPerAttribute=a.meshPerAttribute;return this};Zb.prototype=Object.create(B.prototype);
|
|
|
-Zb.prototype.constructor=Zb;Zb.prototype.isInstancedBufferAttribute=!0;Zb.prototype.copy=function(a){B.prototype.copy.call(this,a);this.meshPerAttribute=a.meshPerAttribute;return this};Qd.prototype={constructor:Qd,linePrecision:1,set:function(a,b){this.ray.set(a,b)},setFromCamera:function(a,b){b&&b.isPerspectiveCamera?(this.ray.origin.setFromMatrixPosition(b.matrixWorld),this.ray.direction.set(a.x,a.y,.5).unproject(b).sub(this.ray.origin).normalize()):b&&b.isOrthographicCamera?(this.ray.origin.set(a.x,
|
|
|
+1]=c;this.data.array[a+2]=d;return this},setXYZW:function(a,b,c,d,e){a=a*this.data.stride+this.offset;this.data.array[a+0]=b;this.data.array[a+1]=c;this.data.array[a+2]=d;this.data.array[a+3]=e;return this}};Wb.prototype={constructor:Wb,isInterleavedBuffer:!0,set needsUpdate(a){!0===a&&this.version++},setDynamic:function(a){this.dynamic=a;return this},copy:function(a){this.array=new a.array.constructor(a.array);this.count=a.count;this.stride=a.stride;this.dynamic=a.dynamic;return this},copyAt:function(a,
|
|
|
+b,c){a*=this.stride;c*=b.stride;for(var d=0,e=this.stride;d<e;d++)this.array[a+d]=b.array[c+d];return this},set:function(a,b){void 0===b&&(b=0);this.array.set(a,b);return this},clone:function(){return(new this.constructor).copy(this)}};Xb.prototype=Object.create(Wb.prototype);Xb.prototype.constructor=Xb;Xb.prototype.isInstancedInterleavedBuffer=!0;Xb.prototype.copy=function(a){Wb.prototype.copy.call(this,a);this.meshPerAttribute=a.meshPerAttribute;return this};Yb.prototype=Object.create(B.prototype);
|
|
|
+Yb.prototype.constructor=Yb;Yb.prototype.isInstancedBufferAttribute=!0;Yb.prototype.copy=function(a){B.prototype.copy.call(this,a);this.meshPerAttribute=a.meshPerAttribute;return this};Qd.prototype={constructor:Qd,linePrecision:1,set:function(a,b){this.ray.set(a,b)},setFromCamera:function(a,b){b&&b.isPerspectiveCamera?(this.ray.origin.setFromMatrixPosition(b.matrixWorld),this.ray.direction.set(a.x,a.y,.5).unproject(b).sub(this.ray.origin).normalize()):b&&b.isOrthographicCamera?(this.ray.origin.set(a.x,
|
|
|
a.y,(b.near+b.far)/(b.near-b.far)).unproject(b),this.ray.direction.set(0,0,-1).transformDirection(b.matrixWorld)):console.error("THREE.Raycaster: Unsupported camera type.")},intersectObject:function(a,b){var c=[];Rd(a,this,c,b);c.sort(te);return c},intersectObjects:function(a,b){var c=[];if(!1===Array.isArray(a))return console.warn("THREE.Raycaster.intersectObjects: objects is not an Array."),c;for(var d=0,e=a.length;d<e;d++)Rd(a[d],this,c,b);c.sort(te);return c}};Sd.prototype={constructor:Sd,start:function(){this.oldTime=
|
|
|
this.startTime=(performance||Date).now();this.elapsedTime=0;this.running=!0},stop:function(){this.getElapsedTime();this.running=!1},getElapsedTime:function(){this.getDelta();return this.elapsedTime},getDelta:function(){var a=0;this.autoStart&&!this.running&&this.start();if(this.running){var b=(performance||Date).now(),a=(b-this.oldTime)/1E3;this.oldTime=b;this.elapsedTime+=a}return a}};Td.prototype={constructor:Td,set:function(a,b,c){this.radius=a;this.phi=b;this.theta=c;return this},clone:function(){return(new this.constructor).copy(this)},
|
|
|
copy:function(a){this.radius=a.radius;this.phi=a.phi;this.theta=a.theta;return this},makeSafe:function(){this.phi=Math.max(1E-6,Math.min(Math.PI-1E-6,this.phi));return this},setFromVector3:function(a){this.radius=a.length();0===this.radius?this.phi=this.theta=0:(this.theta=Math.atan2(a.x,a.z),this.phi=Math.acos(h.Math.clamp(a.y/this.radius,-1,1)));return this}};ma.prototype=Object.create(va.prototype);ma.prototype.constructor=ma;ma.prototype.createAnimation=function(a,b,c,d){b={start:b,end:c,length:c-
|
|
@@ -761,25 +761,25 @@ c&&(c.duration=b,c.fps=(c.end-c.start)/c.duration)};ma.prototype.setAnimationWei
|
|
|
0,b.active=!0):console.warn("THREE.MorphBlendMesh: animation["+a+"] undefined in .playAnimation()")};ma.prototype.stopAnimation=function(a){if(a=this.animationsMap[a])a.active=!1};ma.prototype.update=function(a){for(var b=0,c=this.animationsList.length;b<c;b++){var d=this.animationsList[b];if(d.active){var e=d.duration/d.length;d.time+=d.direction*a;if(d.mirroredLoop){if(d.time>d.duration||0>d.time)d.direction*=-1,d.time>d.duration&&(d.time=d.duration,d.directionBackwards=!0),0>d.time&&(d.time=0,
|
|
|
d.directionBackwards=!1)}else d.time%=d.duration,0>d.time&&(d.time+=d.duration);var f=d.start+h.Math.clamp(Math.floor(d.time/e),0,d.length-1),g=d.weight;f!==d.currentFrame&&(this.morphTargetInfluences[d.lastFrame]=0,this.morphTargetInfluences[d.currentFrame]=1*g,this.morphTargetInfluences[f]=0,d.lastFrame=d.currentFrame,d.currentFrame=f);e=d.time%e/e;d.directionBackwards&&(e=1-e);d.currentFrame!==d.lastFrame?(this.morphTargetInfluences[d.currentFrame]=e*g,this.morphTargetInfluences[d.lastFrame]=(1-
|
|
|
e)*g):this.morphTargetInfluences[d.currentFrame]=g}}};Lc.prototype=Object.create(z.prototype);Lc.prototype.constructor=Lc;Lc.prototype.isImmediateRenderObject=!0;Mc.prototype=Object.create(ka.prototype);Mc.prototype.constructor=Mc;Mc.prototype.update=function(){var a=new q,b=new q,c=new za;return function(){var d=["a","b","c"];this.object.updateMatrixWorld(!0);c.getNormalMatrix(this.object.matrixWorld);var e=this.object.matrixWorld,f=this.geometry.attributes.position,g=this.object.geometry;if(g&&
|
|
|
-g.isGeometry)for(var k=g.vertices,h=g.faces,m=g=0,q=h.length;m<q;m++)for(var p=h[m],n=0,u=p.vertexNormals.length;n<u;n++){var t=p.vertexNormals[n];a.copy(k[p[d[n]]]).applyMatrix4(e);b.copy(t).applyMatrix3(c).normalize().multiplyScalar(this.size).add(a);f.setXYZ(g,a.x,a.y,a.z);g+=1;f.setXYZ(g,b.x,b.y,b.z);g+=1}else if(g&&g.isBufferGeometry)for(d=g.attributes.position,k=g.attributes.normal,n=g=0,u=d.count;n<u;n++)a.set(d.getX(n),d.getY(n),d.getZ(n)).applyMatrix4(e),b.set(k.getX(n),k.getY(n),k.getZ(n)),
|
|
|
-b.applyMatrix3(c).normalize().multiplyScalar(this.size).add(a),f.setXYZ(g,a.x,a.y,a.z),g+=1,f.setXYZ(g,b.x,b.y,b.z),g+=1;f.needsUpdate=!0;return this}}();$b.prototype=Object.create(z.prototype);$b.prototype.constructor=$b;$b.prototype.dispose=function(){this.cone.geometry.dispose();this.cone.material.dispose()};$b.prototype.update=function(){var a=new q,b=new q;return function(){var c=this.light.distance?this.light.distance:1E3,d=c*Math.tan(this.light.angle);this.cone.scale.set(d,d,c);a.setFromMatrixPosition(this.light.matrixWorld);
|
|
|
-b.setFromMatrixPosition(this.light.target.matrixWorld);this.cone.lookAt(b.sub(a));this.cone.material.color.copy(this.light.color).multiplyScalar(this.light.intensity)}}();ac.prototype=Object.create(ka.prototype);ac.prototype.constructor=ac;ac.prototype.getBoneList=function(a){var b=[];a&&a.isBone&&b.push(a);for(var c=0;c<a.children.length;c++)b.push.apply(b,this.getBoneList(a.children[c]));return b};ac.prototype.update=function(){for(var a=this.geometry,b=(new H).getInverse(this.root.matrixWorld),
|
|
|
-c=new H,d=0,e=0;e<this.bones.length;e++){var f=this.bones[e];f.parent&&f.parent.isBone&&(c.multiplyMatrices(b,f.matrixWorld),a.vertices[d].setFromMatrixPosition(c),c.multiplyMatrices(b,f.parent.matrixWorld),a.vertices[d+1].setFromMatrixPosition(c),d+=2)}a.verticesNeedUpdate=!0;a.computeBoundingSphere()};bc.prototype=Object.create(va.prototype);bc.prototype.constructor=bc;bc.prototype.dispose=function(){this.geometry.dispose();this.material.dispose()};bc.prototype.update=function(){this.material.color.copy(this.light.color).multiplyScalar(this.light.intensity)};
|
|
|
-cc.prototype=Object.create(z.prototype);cc.prototype.constructor=cc;cc.prototype.dispose=function(){this.lightSphere.geometry.dispose();this.lightSphere.material.dispose()};cc.prototype.update=function(){var a=new q;return function(){this.colors[0].copy(this.light.color).multiplyScalar(this.light.intensity);this.colors[1].copy(this.light.groundColor).multiplyScalar(this.light.intensity);this.lightSphere.lookAt(a.setFromMatrixPosition(this.light.matrixWorld).negate());this.lightSphere.geometry.colorsNeedUpdate=
|
|
|
+g.isGeometry)for(var h=g.vertices,l=g.faces,n=g=0,r=l.length;n<r;n++)for(var p=l[n],m=0,q=p.vertexNormals.length;m<q;m++){var t=p.vertexNormals[m];a.copy(h[p[d[m]]]).applyMatrix4(e);b.copy(t).applyMatrix3(c).normalize().multiplyScalar(this.size).add(a);f.setXYZ(g,a.x,a.y,a.z);g+=1;f.setXYZ(g,b.x,b.y,b.z);g+=1}else if(g&&g.isBufferGeometry)for(d=g.attributes.position,h=g.attributes.normal,m=g=0,q=d.count;m<q;m++)a.set(d.getX(m),d.getY(m),d.getZ(m)).applyMatrix4(e),b.set(h.getX(m),h.getY(m),h.getZ(m)),
|
|
|
+b.applyMatrix3(c).normalize().multiplyScalar(this.size).add(a),f.setXYZ(g,a.x,a.y,a.z),g+=1,f.setXYZ(g,b.x,b.y,b.z),g+=1;f.needsUpdate=!0;return this}}();Zb.prototype=Object.create(z.prototype);Zb.prototype.constructor=Zb;Zb.prototype.dispose=function(){this.cone.geometry.dispose();this.cone.material.dispose()};Zb.prototype.update=function(){var a=new q,b=new q;return function(){var c=this.light.distance?this.light.distance:1E3,d=c*Math.tan(this.light.angle);this.cone.scale.set(d,d,c);a.setFromMatrixPosition(this.light.matrixWorld);
|
|
|
+b.setFromMatrixPosition(this.light.target.matrixWorld);this.cone.lookAt(b.sub(a));this.cone.material.color.copy(this.light.color).multiplyScalar(this.light.intensity)}}();$b.prototype=Object.create(ka.prototype);$b.prototype.constructor=$b;$b.prototype.getBoneList=function(a){var b=[];a&&a.isBone&&b.push(a);for(var c=0;c<a.children.length;c++)b.push.apply(b,this.getBoneList(a.children[c]));return b};$b.prototype.update=function(){for(var a=this.geometry,b=(new H).getInverse(this.root.matrixWorld),
|
|
|
+c=new H,d=0,e=0;e<this.bones.length;e++){var f=this.bones[e];f.parent&&f.parent.isBone&&(c.multiplyMatrices(b,f.matrixWorld),a.vertices[d].setFromMatrixPosition(c),c.multiplyMatrices(b,f.parent.matrixWorld),a.vertices[d+1].setFromMatrixPosition(c),d+=2)}a.verticesNeedUpdate=!0;a.computeBoundingSphere()};ac.prototype=Object.create(va.prototype);ac.prototype.constructor=ac;ac.prototype.dispose=function(){this.geometry.dispose();this.material.dispose()};ac.prototype.update=function(){this.material.color.copy(this.light.color).multiplyScalar(this.light.intensity)};
|
|
|
+bc.prototype=Object.create(z.prototype);bc.prototype.constructor=bc;bc.prototype.dispose=function(){this.lightSphere.geometry.dispose();this.lightSphere.material.dispose()};bc.prototype.update=function(){var a=new q;return function(){this.colors[0].copy(this.light.color).multiplyScalar(this.light.intensity);this.colors[1].copy(this.light.groundColor).multiplyScalar(this.light.intensity);this.lightSphere.lookAt(a.setFromMatrixPosition(this.light.matrixWorld).negate());this.lightSphere.geometry.colorsNeedUpdate=
|
|
|
!0}}();Nc.prototype=Object.create(ka.prototype);Nc.prototype.constructor=Nc;Nc.prototype.setColors=function(){console.error("THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.")};Oc.prototype=Object.create(ka.prototype);Oc.prototype.constructor=Oc;Oc.prototype.update=function(){var a=new q,b=new q,c=new za;return function(){this.object.updateMatrixWorld(!0);c.getNormalMatrix(this.object.matrixWorld);for(var d=this.object.matrixWorld,e=this.geometry.attributes.position,
|
|
|
-f=this.object.geometry,g=f.vertices,f=f.faces,k=0,h=0,m=f.length;h<m;h++){var q=f[h],p=q.normal;a.copy(g[q.a]).add(g[q.b]).add(g[q.c]).divideScalar(3).applyMatrix4(d);b.copy(p).applyMatrix3(c).normalize().multiplyScalar(this.size).add(a);e.setXYZ(k,a.x,a.y,a.z);k+=1;e.setXYZ(k,b.x,b.y,b.z);k+=1}e.needsUpdate=!0;return this}}();dc.prototype=Object.create(z.prototype);dc.prototype.constructor=dc;dc.prototype.dispose=function(){var a=this.children[0],b=this.children[1];a.geometry.dispose();a.material.dispose();
|
|
|
-b.geometry.dispose();b.material.dispose()};dc.prototype.update=function(){var a=new q,b=new q,c=new q;return function(){a.setFromMatrixPosition(this.light.matrixWorld);b.setFromMatrixPosition(this.light.target.matrixWorld);c.subVectors(b,a);var d=this.children[0],e=this.children[1];d.lookAt(c);d.material.color.copy(this.light.color).multiplyScalar(this.light.intensity);e.lookAt(c);e.scale.z=c.length()}}();Pc.prototype=Object.create(ka.prototype);Pc.prototype.constructor=Pc;Pc.prototype.update=function(){function a(a,
|
|
|
-g,k,h){d.set(g,k,h).unproject(e);a=c[a];if(void 0!==a)for(g=0,k=a.length;g<k;g++)b.vertices[a[g]].copy(d)}var b,c,d=new q,e=new ra;return function(){b=this.geometry;c=this.pointMap;e.projectionMatrix.copy(this.camera.projectionMatrix);a("c",0,0,-1);a("t",0,0,1);a("n1",-1,-1,-1);a("n2",1,-1,-1);a("n3",-1,1,-1);a("n4",1,1,-1);a("f1",-1,-1,1);a("f2",1,-1,1);a("f3",-1,1,1);a("f4",1,1,1);a("u1",.7,1.1,-1);a("u2",-.7,1.1,-1);a("u3",0,2,-1);a("cf1",-1,0,1);a("cf2",1,0,1);a("cf3",0,-1,1);a("cf4",0,1,1);a("cn1",
|
|
|
+f=this.object.geometry,g=f.vertices,f=f.faces,h=0,l=0,n=f.length;l<n;l++){var r=f[l],p=r.normal;a.copy(g[r.a]).add(g[r.b]).add(g[r.c]).divideScalar(3).applyMatrix4(d);b.copy(p).applyMatrix3(c).normalize().multiplyScalar(this.size).add(a);e.setXYZ(h,a.x,a.y,a.z);h+=1;e.setXYZ(h,b.x,b.y,b.z);h+=1}e.needsUpdate=!0;return this}}();cc.prototype=Object.create(z.prototype);cc.prototype.constructor=cc;cc.prototype.dispose=function(){var a=this.children[0],b=this.children[1];a.geometry.dispose();a.material.dispose();
|
|
|
+b.geometry.dispose();b.material.dispose()};cc.prototype.update=function(){var a=new q,b=new q,c=new q;return function(){a.setFromMatrixPosition(this.light.matrixWorld);b.setFromMatrixPosition(this.light.target.matrixWorld);c.subVectors(b,a);var d=this.children[0],e=this.children[1];d.lookAt(c);d.material.color.copy(this.light.color).multiplyScalar(this.light.intensity);e.lookAt(c);e.scale.z=c.length()}}();Pc.prototype=Object.create(ka.prototype);Pc.prototype.constructor=Pc;Pc.prototype.update=function(){function a(a,
|
|
|
+g,h,l){d.set(g,h,l).unproject(e);a=c[a];if(void 0!==a)for(g=0,h=a.length;g<h;g++)b.vertices[a[g]].copy(d)}var b,c,d=new q,e=new ra;return function(){b=this.geometry;c=this.pointMap;e.projectionMatrix.copy(this.camera.projectionMatrix);a("c",0,0,-1);a("t",0,0,1);a("n1",-1,-1,-1);a("n2",1,-1,-1);a("n3",-1,1,-1);a("n4",1,1,-1);a("f1",-1,-1,1);a("f2",1,-1,1);a("f3",-1,1,1);a("f4",1,1,1);a("u1",.7,1.1,-1);a("u2",-.7,1.1,-1);a("u3",0,2,-1);a("cf1",-1,0,1);a("cf2",1,0,1);a("cf3",0,-1,1);a("cf4",0,1,1);a("cn1",
|
|
|
-1,0,-1);a("cn2",1,0,-1);a("cn3",0,-1,-1);a("cn4",0,1,-1);b.verticesNeedUpdate=!0}}();Qc.prototype=Object.create(va.prototype);Qc.prototype.constructor=Qc;Qc.prototype.update=function(){this.box.setFromObject(this.object);this.box.getSize(this.scale);this.box.getCenter(this.position)};Rc.prototype=Object.create(ka.prototype);Rc.prototype.constructor=Rc;Rc.prototype.update=function(){var a=new Ha;return function(b){b&&b.isBox3?a.copy(b):a.setFromObject(b);if(!a.isEmpty()){b=a.min;var c=a.max,d=this.geometry.attributes.position,
|
|
|
e=d.array;e[0]=c.x;e[1]=c.y;e[2]=c.z;e[3]=b.x;e[4]=c.y;e[5]=c.z;e[6]=b.x;e[7]=b.y;e[8]=c.z;e[9]=c.x;e[10]=b.y;e[11]=c.z;e[12]=c.x;e[13]=c.y;e[14]=b.z;e[15]=b.x;e[16]=c.y;e[17]=b.z;e[18]=b.x;e[19]=b.y;e[20]=b.z;e[21]=c.x;e[22]=b.y;e[23]=b.z;d.needsUpdate=!0;this.geometry.computeBoundingSphere()}}}();var ue=new J;ue.addAttribute("position",new ia([0,0,0,0,1,0],3));var ve=new Ya(0,.5,1,5,1);ve.translate(0,-.5,0);xb.prototype=Object.create(z.prototype);xb.prototype.constructor=xb;xb.prototype.setDirection=
|
|
|
function(){var a=new q,b;return function(c){.99999<c.y?this.quaternion.set(0,0,0,1):-.99999>c.y?this.quaternion.set(1,0,0,0):(a.set(c.z,0,-c.x).normalize(),b=Math.acos(c.y),this.quaternion.setFromAxisAngle(a,b))}}();xb.prototype.setLength=function(a,b,c){void 0===b&&(b=.2*a);void 0===c&&(c=.2*b);this.line.scale.set(1,Math.max(0,a-b),1);this.line.updateMatrix();this.cone.scale.set(c,b,c);this.cone.position.y=a;this.cone.updateMatrix()};xb.prototype.setColor=function(a){this.line.material.color.copy(a);
|
|
|
this.cone.material.color.copy(a)};rd.prototype=Object.create(ka.prototype);rd.prototype.constructor=rd;h.CatmullRomCurve3=function(){function a(){}var b=new q,c=new a,d=new a,e=new a;a.prototype.init=function(a,b,c,d){this.c0=a;this.c1=c;this.c2=-3*a+3*b-2*c-d;this.c3=2*a-2*b+c+d};a.prototype.initNonuniformCatmullRom=function(a,b,c,d,e,h,p){this.init(b,c,((b-a)/e-(c-a)/(e+h)+(c-b)/h)*h,((c-b)/h-(d-b)/(h+p)+(d-c)/p)*h)};a.prototype.initCatmullRom=function(a,b,c,d,e){this.init(b,c,e*(c-a),e*(d-b))};
|
|
|
-a.prototype.calc=function(a){var b=a*a;return this.c0+this.c1*a+this.c2*b+this.c3*b*a};return aa.create(function(a){this.points=a||[];this.closed=!1},function(a){var g=this.points,k,h;h=g.length;2>h&&console.log("duh, you need at least 2 points");a*=h-(this.closed?0:1);k=Math.floor(a);a-=k;this.closed?k+=0<k?0:(Math.floor(Math.abs(k)/g.length)+1)*g.length:0===a&&k===h-1&&(k=h-2,a=1);var m,r,p;this.closed||0<k?m=g[(k-1)%h]:(b.subVectors(g[0],g[1]).add(g[0]),m=b);r=g[k%h];p=g[(k+1)%h];this.closed||
|
|
|
-k+2<h?g=g[(k+2)%h]:(b.subVectors(g[h-1],g[h-2]).add(g[h-1]),g=b);if(void 0===this.type||"centripetal"===this.type||"chordal"===this.type){var n="chordal"===this.type?.5:.25;h=Math.pow(m.distanceToSquared(r),n);k=Math.pow(r.distanceToSquared(p),n);n=Math.pow(p.distanceToSquared(g),n);1E-4>k&&(k=1);1E-4>h&&(h=k);1E-4>n&&(n=k);c.initNonuniformCatmullRom(m.x,r.x,p.x,g.x,h,k,n);d.initNonuniformCatmullRom(m.y,r.y,p.y,g.y,h,k,n);e.initNonuniformCatmullRom(m.z,r.z,p.z,g.z,h,k,n)}else"catmullrom"===this.type&&
|
|
|
-(h=void 0!==this.tension?this.tension:.5,c.initCatmullRom(m.x,r.x,p.x,g.x,h),d.initCatmullRom(m.y,r.y,p.y,g.y,h),e.initCatmullRom(m.z,r.z,p.z,g.z,h));return new q(c.calc(a),d.calc(a),e.calc(a))})}();we.prototype=Object.create(h.CatmullRomCurve3.prototype);var wf=aa.create(function(a){console.warn("THREE.SplineCurve3 will be deprecated. Please use THREE.CatmullRomCurve3");this.points=void 0===a?[]:a},function(a){var b=this.points;a*=b.length-1;var c=Math.floor(a);a-=c;var d=b[0==c?c:c-1],e=b[c],f=
|
|
|
+a.prototype.calc=function(a){var b=a*a;return this.c0+this.c1*a+this.c2*b+this.c3*b*a};return aa.create(function(a){this.points=a||[];this.closed=!1},function(a){var g=this.points,h,l;l=g.length;2>l&&console.log("duh, you need at least 2 points");a*=l-(this.closed?0:1);h=Math.floor(a);a-=h;this.closed?h+=0<h?0:(Math.floor(Math.abs(h)/g.length)+1)*g.length:0===a&&h===l-1&&(h=l-2,a=1);var n,r,p;this.closed||0<h?n=g[(h-1)%l]:(b.subVectors(g[0],g[1]).add(g[0]),n=b);r=g[h%l];p=g[(h+1)%l];this.closed||
|
|
|
+h+2<l?g=g[(h+2)%l]:(b.subVectors(g[l-1],g[l-2]).add(g[l-1]),g=b);if(void 0===this.type||"centripetal"===this.type||"chordal"===this.type){var m="chordal"===this.type?.5:.25;l=Math.pow(n.distanceToSquared(r),m);h=Math.pow(r.distanceToSquared(p),m);m=Math.pow(p.distanceToSquared(g),m);1E-4>h&&(h=1);1E-4>l&&(l=h);1E-4>m&&(m=h);c.initNonuniformCatmullRom(n.x,r.x,p.x,g.x,l,h,m);d.initNonuniformCatmullRom(n.y,r.y,p.y,g.y,l,h,m);e.initNonuniformCatmullRom(n.z,r.z,p.z,g.z,l,h,m)}else"catmullrom"===this.type&&
|
|
|
+(l=void 0!==this.tension?this.tension:.5,c.initCatmullRom(n.x,r.x,p.x,g.x,l),d.initCatmullRom(n.y,r.y,p.y,g.y,l),e.initCatmullRom(n.z,r.z,p.z,g.z,l));return new q(c.calc(a),d.calc(a),e.calc(a))})}();we.prototype=Object.create(h.CatmullRomCurve3.prototype);var vf=aa.create(function(a){console.warn("THREE.SplineCurve3 will be deprecated. Please use THREE.CatmullRomCurve3");this.points=void 0===a?[]:a},function(a){var b=this.points;a*=b.length-1;var c=Math.floor(a);a-=c;var d=b[0==c?c:c-1],e=b[c],f=
|
|
|
b[c>b.length-2?b.length-1:c+1],b=b[c>b.length-3?b.length-1:c+2],c=h.CurveUtils.interpolate;return new q(c(d.x,e.x,f.x,b.x,a),c(d.y,e.y,f.y,b.y,a),c(d.z,e.z,f.z,b.z,a))});h.CubicBezierCurve3=aa.create(function(a,b,c,d){this.v0=a;this.v1=b;this.v2=c;this.v3=d},function(a){var b=h.ShapeUtils.b3;return new q(b(a,this.v0.x,this.v1.x,this.v2.x,this.v3.x),b(a,this.v0.y,this.v1.y,this.v2.y,this.v3.y),b(a,this.v0.z,this.v1.z,this.v2.z,this.v3.z))});h.QuadraticBezierCurve3=aa.create(function(a,b,c){this.v0=
|
|
|
a;this.v1=b;this.v2=c},function(a){var b=h.ShapeUtils.b2;return new q(b(a,this.v0.x,this.v1.x,this.v2.x),b(a,this.v0.y,this.v1.y,this.v2.y),b(a,this.v0.z,this.v1.z,this.v2.z))});h.LineCurve3=aa.create(function(a,b){this.v1=a;this.v2=b},function(a){if(1===a)return this.v2.clone();var b=new q;b.subVectors(this.v2,this.v1);b.multiplyScalar(a);b.add(this.v1);return b});sd.prototype=Object.create(Oa.prototype);sd.prototype.constructor=sd;h.SceneUtils={createMultiMaterialObject:function(a,b){for(var c=
|
|
|
-new kc,d=0,e=b.length;d<e;d++)c.add(new va(a,b[d]));return c},detach:function(a,b,c){a.applyMatrix(b.matrixWorld);b.remove(a);c.add(a)},attach:function(a,b,c){var d=new H;d.getInverse(c.matrixWorld);a.applyMatrix(d);b.remove(a);c.add(a)}};Object.assign(ec.prototype,{center:function(a){console.warn("THREE.Box2: .center() has been renamed to .getCenter().");return this.getCenter(a)},empty:function(){console.warn("THREE.Box2: .empty() has been renamed to .isEmpty().");return this.isEmpty()},isIntersectionBox:function(a){console.warn("THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox().");
|
|
|
+new jc,d=0,e=b.length;d<e;d++)c.add(new va(a,b[d]));return c},detach:function(a,b,c){a.applyMatrix(b.matrixWorld);b.remove(a);c.add(a)},attach:function(a,b,c){var d=new H;d.getInverse(c.matrixWorld);a.applyMatrix(d);b.remove(a);c.add(a)}};Object.assign(dc.prototype,{center:function(a){console.warn("THREE.Box2: .center() has been renamed to .getCenter().");return this.getCenter(a)},empty:function(){console.warn("THREE.Box2: .empty() has been renamed to .isEmpty().");return this.isEmpty()},isIntersectionBox:function(a){console.warn("THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox().");
|
|
|
return this.intersectsBox(a)},size:function(a){console.warn("THREE.Box2: .size() has been renamed to .getSize().");return this.getSize(a)}});Object.assign(Ha.prototype,{center:function(a){console.warn("THREE.Box3: .center() has been renamed to .getCenter().");return this.getCenter(a)},empty:function(){console.warn("THREE.Box3: .empty() has been renamed to .isEmpty().");return this.isEmpty()},isIntersectionBox:function(a){console.warn("THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox().");
|
|
|
return this.intersectsBox(a)},isIntersectionSphere:function(a){console.warn("THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere().");return this.intersectsSphere(a)},size:function(a){console.warn("THREE.Box3: .size() has been renamed to .getSize().");return this.getSize(a)}});Object.assign(bb.prototype,{center:function(a){console.warn("THREE.Line3: .center() has been renamed to .getCenter().");return this.getCenter(a)}});Object.assign(za.prototype,{multiplyVector3:function(a){console.warn("THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead.");
|
|
|
return a.applyMatrix3(this)},multiplyVector3Array:function(a){console.warn("THREE.Matrix3: .multiplyVector3Array() has been renamed. Use matrix.applyToVector3Array( array ) instead.");return this.applyToVector3Array(a)}});Object.assign(H.prototype,{extractPosition:function(a){console.warn("THREE.Matrix4: .extractPosition() has been renamed to .copyPosition().");return this.copyPosition(a)},setRotationFromQuaternion:function(a){console.warn("THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion().");
|
|
@@ -791,7 +791,7 @@ Object.assign(vb.prototype,{extrude:function(a){console.warn("THREE.Shape: .extr
|
|
|
getPositionFromMatrix:function(a){console.warn("THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition().");return this.setFromMatrixPosition(a)},getScaleFromMatrix:function(a){console.warn("THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale().");return this.setFromMatrixScale(a)},getColumnFromMatrix:function(a,b){console.warn("THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn().");return this.setFromMatrixColumn(b,
|
|
|
a)}});Object.assign(z.prototype,{getChildByName:function(a){console.warn("THREE.Object3D: .getChildByName() has been renamed to .getObjectByName().");return this.getObjectByName(a)},renderDepth:function(a){console.warn("THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.")},translate:function(a,b){console.warn("THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead.");return this.translateOnAxis(b,a)}});Object.defineProperties(z.prototype,
|
|
|
{eulerOrder:{get:function(){console.warn("THREE.Object3D: .eulerOrder is now .rotation.order.");return this.rotation.order},set:function(a){console.warn("THREE.Object3D: .eulerOrder is now .rotation.order.");this.rotation.order=a}},useQuaternion:{get:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")},set:function(a){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")}}});
|
|
|
-Object.defineProperties(jc.prototype,{objects:{get:function(){console.warn("THREE.LOD: .objects has been renamed to .levels.");return this.levels}}});Da.prototype.setLens=function(a,b){console.warn("THREE.PerspectiveCamera.setLens is deprecated. Use .setFocalLength and .filmGauge for a photographic setup.");void 0!==b&&(this.filmGauge=b);this.setFocalLength(a)};Object.defineProperties(oa.prototype,{onlyShadow:{set:function(a){console.warn("THREE.Light: .onlyShadow has been removed.")}},shadowCameraFov:{set:function(a){console.warn("THREE.Light: .shadowCameraFov is now .shadow.camera.fov.");
|
|
|
+Object.defineProperties(ic.prototype,{objects:{get:function(){console.warn("THREE.LOD: .objects has been renamed to .levels.");return this.levels}}});Da.prototype.setLens=function(a,b){console.warn("THREE.PerspectiveCamera.setLens is deprecated. Use .setFocalLength and .filmGauge for a photographic setup.");void 0!==b&&(this.filmGauge=b);this.setFocalLength(a)};Object.defineProperties(oa.prototype,{onlyShadow:{set:function(a){console.warn("THREE.Light: .onlyShadow has been removed.")}},shadowCameraFov:{set:function(a){console.warn("THREE.Light: .shadowCameraFov is now .shadow.camera.fov.");
|
|
|
this.shadow.camera.fov=a}},shadowCameraLeft:{set:function(a){console.warn("THREE.Light: .shadowCameraLeft is now .shadow.camera.left.");this.shadow.camera.left=a}},shadowCameraRight:{set:function(a){console.warn("THREE.Light: .shadowCameraRight is now .shadow.camera.right.");this.shadow.camera.right=a}},shadowCameraTop:{set:function(a){console.warn("THREE.Light: .shadowCameraTop is now .shadow.camera.top.");this.shadow.camera.top=a}},shadowCameraBottom:{set:function(a){console.warn("THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom.");
|
|
|
this.shadow.camera.bottom=a}},shadowCameraNear:{set:function(a){console.warn("THREE.Light: .shadowCameraNear is now .shadow.camera.near.");this.shadow.camera.near=a}},shadowCameraFar:{set:function(a){console.warn("THREE.Light: .shadowCameraFar is now .shadow.camera.far.");this.shadow.camera.far=a}},shadowCameraVisible:{set:function(a){console.warn("THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.")}},shadowBias:{set:function(a){console.warn("THREE.Light: .shadowBias is now .shadow.bias.");
|
|
|
this.shadow.bias=a}},shadowDarkness:{set:function(a){console.warn("THREE.Light: .shadowDarkness has been removed.")}},shadowMapWidth:{set:function(a){console.warn("THREE.Light: .shadowMapWidth is now .shadow.mapSize.width.");this.shadow.mapSize.width=a}},shadowMapHeight:{set:function(a){console.warn("THREE.Light: .shadowMapHeight is now .shadow.mapSize.height.");this.shadow.mapSize.height=a}}});Object.defineProperties(B.prototype,{length:{get:function(){console.warn("THREE.BufferAttribute: .length has been deprecated. Please use .count.");
|
|
@@ -809,28 +809,28 @@ this.shadowMap.type=a}},shadowMapCullFace:{get:function(){return this.shadowMap.
|
|
|
return this.texture.magFilter},set:function(a){console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter.");this.texture.magFilter=a}},minFilter:{get:function(){console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter.");return this.texture.minFilter},set:function(a){console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter.");this.texture.minFilter=a}},anisotropy:{get:function(){console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy.");
|
|
|
return this.texture.anisotropy},set:function(a){console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy.");this.texture.anisotropy=a}},offset:{get:function(){console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset.");return this.texture.offset},set:function(a){console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset.");this.texture.offset=a}},repeat:{get:function(){console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat.");return this.texture.repeat},
|
|
|
set:function(a){console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat.");this.texture.repeat=a}},format:{get:function(){console.warn("THREE.WebGLRenderTarget: .format is now .texture.format.");return this.texture.format},set:function(a){console.warn("THREE.WebGLRenderTarget: .format is now .texture.format.");this.texture.format=a}},type:{get:function(){console.warn("THREE.WebGLRenderTarget: .type is now .texture.type.");return this.texture.type},set:function(a){console.warn("THREE.WebGLRenderTarget: .type is now .texture.type.");
|
|
|
-this.texture.type=a}},generateMipmaps:{get:function(){console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps.");return this.texture.generateMipmaps},set:function(a){console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps.");this.texture.generateMipmaps=a}}});Object.assign(Wb.prototype,{load:function(a){console.warn("THREE.Audio: .load has been deprecated. Please use THREE.AudioLoader.");var b=this;(new Id).load(a,function(a){b.setBuffer(a)});
|
|
|
-return this}});Object.assign(Ld.prototype,{getData:function(a){console.warn("THREE.AudioAnalyser: .getData() is now .getFrequencyData().");return this.getFrequencyData()}});Object.defineProperty(h,"AudioContext",{get:function(){return h.getAudioContext()}});h.WebGLRenderTargetCube=zb;h.WebGLRenderTarget=yb;h.WebGLRenderer=xd;h.ShaderLib=Bb;h.UniformsLib=W;h.ShaderChunk=X;h.FogExp2=Db;h.Fog=Eb;h.Scene=eb;h.LensFlare=yd;h.Sprite=ic;h.LOD=jc;h.SkinnedMesh=Yc;h.Skeleton=Wc;h.Bone=Xc;h.Mesh=va;h.LineSegments=
|
|
|
-ka;h.Line=Na;h.Points=Fb;h.Group=kc;h.VideoTexture=Zc;h.DataTexture=gb;h.CompressedTexture=Gb;h.CubeTexture=Ra;h.CanvasTexture=$c;h.DepthTexture=lc;h.TextureIdCount=function(){return Xd++};h.Texture=ca;h.MaterialIdCount=function(){return ge++};h.CompressedTextureLoader=oe;h.BinaryTextureLoader=Ad;h.DataTextureLoader=Ad;h.CubeTextureLoader=Bd;h.TextureLoader=ad;h.ObjectLoader=pe;h.MaterialLoader=od;h.BufferGeometryLoader=Cd;h.LoadingManager=zd;h.JSONLoader=Dd;h.ImageLoader=Gc;h.FontLoader=qe;h.XHRLoader=
|
|
|
-xa;h.Loader=rb;h.AudioLoader=Id;h.SpotLightShadow=cd;h.SpotLight=dd;h.PointLight=ed;h.HemisphereLight=bd;h.DirectionalLightShadow=fd;h.DirectionalLight=gd;h.AmbientLight=hd;h.LightShadow=ob;h.Light=oa;h.StereoCamera=re;h.PerspectiveCamera=Da;h.OrthographicCamera=Cb;h.CubeCamera=pd;h.Camera=ra;h.AudioListener=Jd;h.PositionalAudio=Kd;h.getAudioContext=Gd;h.AudioAnalyser=Ld;h.Audio=Wb;h.VectorKeyframeTrack=Ub;h.StringKeyframeTrack=ld;h.QuaternionKeyframeTrack=Ic;h.NumberKeyframeTrack=Vb;h.ColorKeyframeTrack=
|
|
|
-nd;h.BooleanKeyframeTrack=md;h.PropertyMixer=qd;h.PropertyBinding=ga;h.KeyframeTrack=qb;h.AnimationObjectGroup=Md;h.AnimationMixer=Od;h.AnimationClip=ua;h.Uniform=se;h.InstancedBufferGeometry=wb;h.BufferGeometry=J;h.GeometryIdCount=function(){return Vc++};h.Geometry=P;h.InterleavedBufferAttribute=Pd;h.InstancedInterleavedBuffer=Yb;h.InterleavedBuffer=Xb;h.InstancedBufferAttribute=Zb;h.DynamicBufferAttribute=function(a,b){console.warn("THREE.DynamicBufferAttribute has been removed. Use new THREE.BufferAttribute().setDynamic( true ) instead.");
|
|
|
+this.texture.type=a}},generateMipmaps:{get:function(){console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps.");return this.texture.generateMipmaps},set:function(a){console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps.");this.texture.generateMipmaps=a}}});Object.assign(Vb.prototype,{load:function(a){console.warn("THREE.Audio: .load has been deprecated. Please use THREE.AudioLoader.");var b=this;(new Id).load(a,function(a){b.setBuffer(a)});
|
|
|
+return this}});Object.assign(Ld.prototype,{getData:function(a){console.warn("THREE.AudioAnalyser: .getData() is now .getFrequencyData().");return this.getFrequencyData()}});Object.defineProperty(h,"AudioContext",{get:function(){return h.getAudioContext()}});h.WebGLRenderTargetCube=zb;h.WebGLRenderTarget=yb;h.WebGLRenderer=xd;h.ShaderLib=Bb;h.UniformsLib=W;h.ShaderChunk=X;h.FogExp2=Db;h.Fog=Eb;h.Scene=eb;h.LensFlare=yd;h.Sprite=hc;h.LOD=ic;h.SkinnedMesh=Yc;h.Skeleton=Wc;h.Bone=Xc;h.Mesh=va;h.LineSegments=
|
|
|
+ka;h.Line=Na;h.Points=Fb;h.Group=jc;h.VideoTexture=Zc;h.DataTexture=gb;h.CompressedTexture=Gb;h.CubeTexture=Ra;h.CanvasTexture=$c;h.DepthTexture=kc;h.TextureIdCount=function(){return Xd++};h.Texture=ca;h.MaterialIdCount=function(){return ge++};h.CompressedTextureLoader=oe;h.BinaryTextureLoader=Ad;h.DataTextureLoader=Ad;h.CubeTextureLoader=Bd;h.TextureLoader=ad;h.ObjectLoader=pe;h.MaterialLoader=od;h.BufferGeometryLoader=Cd;h.LoadingManager=zd;h.JSONLoader=Dd;h.ImageLoader=Gc;h.FontLoader=qe;h.XHRLoader=
|
|
|
+xa;h.Loader=rb;h.AudioLoader=Id;h.SpotLightShadow=cd;h.SpotLight=dd;h.PointLight=ed;h.HemisphereLight=bd;h.DirectionalLightShadow=fd;h.DirectionalLight=gd;h.AmbientLight=hd;h.LightShadow=ob;h.Light=oa;h.StereoCamera=re;h.PerspectiveCamera=Da;h.OrthographicCamera=Cb;h.CubeCamera=pd;h.Camera=ra;h.AudioListener=Jd;h.PositionalAudio=Kd;h.getAudioContext=Gd;h.AudioAnalyser=Ld;h.Audio=Vb;h.VectorKeyframeTrack=Tb;h.StringKeyframeTrack=ld;h.QuaternionKeyframeTrack=Ic;h.NumberKeyframeTrack=Ub;h.ColorKeyframeTrack=
|
|
|
+nd;h.BooleanKeyframeTrack=md;h.PropertyMixer=qd;h.PropertyBinding=ga;h.KeyframeTrack=qb;h.AnimationObjectGroup=Md;h.AnimationMixer=Od;h.AnimationClip=ua;h.Uniform=se;h.InstancedBufferGeometry=wb;h.BufferGeometry=J;h.GeometryIdCount=function(){return Vc++};h.Geometry=P;h.InterleavedBufferAttribute=Pd;h.InstancedInterleavedBuffer=Xb;h.InterleavedBuffer=Wb;h.InstancedBufferAttribute=Yb;h.DynamicBufferAttribute=function(a,b){console.warn("THREE.DynamicBufferAttribute has been removed. Use new THREE.BufferAttribute().setDynamic( true ) instead.");
|
|
|
return(new B(a,b)).setDynamic(!0)};h.Float64Attribute=function(a,b){return new B(new Float64Array(a),b)};h.Float32Attribute=ia;h.Uint32Attribute=Uc;h.Int32Attribute=function(a,b){return new B(new Int32Array(a),b)};h.Uint16Attribute=Tc;h.Int16Attribute=function(a,b){return new B(new Int16Array(a),b)};h.Uint8ClampedAttribute=function(a,b){return new B(new Uint8ClampedArray(a),b)};h.Uint8Attribute=function(a,b){return new B(new Uint8Array(a),b)};h.Int8Attribute=function(a,b){return new B(new Int8Array(a),
|
|
|
-b)};h.BufferAttribute=B;h.Face3=pa;h.Object3DIdCount=function(){return ie++};h.Object3D=z;h.Raycaster=Qd;h.Layers=Sc;h.EventDispatcher=qa;h.Clock=Sd;h.QuaternionLinearInterpolant=kd;h.LinearInterpolant=Hc;h.DiscreteInterpolant=jd;h.CubicInterpolant=id;h.Interpolant=fa;h.Triangle=Ga;h.Spline=function(a){function b(a,b,c,d,e,f,g){a=.5*(c-a);d=.5*(d-b);return(2*(b-c)+a+d)*g+(-3*(b-c)-2*a-d)*f+a*e+b}this.points=a;var c=[],d={x:0,y:0,z:0},e,f,g,h,l,m,r,p,n;this.initFromArray=function(a){this.points=[];
|
|
|
-for(var b=0;b<a.length;b++)this.points[b]={x:a[b][0],y:a[b][1],z:a[b][2]}};this.getPoint=function(a){e=(this.points.length-1)*a;f=Math.floor(e);g=e-f;c[0]=0===f?f:f-1;c[1]=f;c[2]=f>this.points.length-2?this.points.length-1:f+1;c[3]=f>this.points.length-3?this.points.length-1:f+2;m=this.points[c[0]];r=this.points[c[1]];p=this.points[c[2]];n=this.points[c[3]];h=g*g;l=g*h;d.x=b(m.x,r.x,p.x,n.x,g,h,l);d.y=b(m.y,r.y,p.y,n.y,g,h,l);d.z=b(m.z,r.z,p.z,n.z,g,h,l);return d};this.getControlPointsArray=function(){var a,
|
|
|
+b)};h.BufferAttribute=B;h.Face3=pa;h.Object3DIdCount=function(){return ie++};h.Object3D=z;h.Raycaster=Qd;h.Layers=Sc;h.EventDispatcher=qa;h.Clock=Sd;h.QuaternionLinearInterpolant=kd;h.LinearInterpolant=Hc;h.DiscreteInterpolant=jd;h.CubicInterpolant=id;h.Interpolant=fa;h.Triangle=Ga;h.Spline=function(a){function b(a,b,c,d,e,f,g){a=.5*(c-a);d=.5*(d-b);return(2*(b-c)+a+d)*g+(-3*(b-c)-2*a-d)*f+a*e+b}this.points=a;var c=[],d={x:0,y:0,z:0},e,f,g,h,l,n,r,p,m;this.initFromArray=function(a){this.points=[];
|
|
|
+for(var b=0;b<a.length;b++)this.points[b]={x:a[b][0],y:a[b][1],z:a[b][2]}};this.getPoint=function(a){e=(this.points.length-1)*a;f=Math.floor(e);g=e-f;c[0]=0===f?f:f-1;c[1]=f;c[2]=f>this.points.length-2?this.points.length-1:f+1;c[3]=f>this.points.length-3?this.points.length-1:f+2;n=this.points[c[0]];r=this.points[c[1]];p=this.points[c[2]];m=this.points[c[3]];h=g*g;l=g*h;d.x=b(n.x,r.x,p.x,m.x,g,h,l);d.y=b(n.y,r.y,p.y,m.y,g,h,l);d.z=b(n.z,r.z,p.z,m.z,g,h,l);return d};this.getControlPointsArray=function(){var a,
|
|
|
b,c=this.points.length,d=[];for(a=0;a<c;a++)b=this.points[a],d[a]=[b.x,b.y,b.z];return d};this.getLength=function(a){var b,c,d,e=0,f=new q,g=new q,h=[],k=0;h[0]=0;a||(a=100);c=this.points.length*a;f.copy(this.points[0]);for(a=1;a<c;a++)b=a/c,d=this.getPoint(b),g.copy(d),k+=g.distanceTo(f),f.copy(d),b*=this.points.length-1,b=Math.floor(b),b!==e&&(h[b]=k,e=b);h[h.length]=k;return{chunks:h,total:k}};this.reparametrizeByArcLength=function(a){var b,c,d,e,f,g,h=[],k=new q,l=this.getLength();h.push(k.copy(this.points[0]).clone());
|
|
|
-for(b=1;b<this.points.length;b++){c=l.chunks[b]-l.chunks[b-1];g=Math.ceil(a*c/l.total);e=(b-1)/(this.points.length-1);f=b/(this.points.length-1);for(c=1;c<g-1;c++)d=e+1/g*c*(f-e),d=this.getPoint(d),h.push(k.copy(d).clone());h.push(k.copy(this.points[b]).clone())}this.points=h}};h.Spherical=Td;h.Plane=ta;h.Frustum=fc;h.Sphere=Ba;h.Ray=Va;h.Matrix4=H;h.Matrix3=za;h.Box3=Ha;h.Box2=ec;h.Line3=bb;h.Euler=Wa;h.Vector4=ha;h.Vector3=q;h.Vector2=C;h.Quaternion=da;h.Color=M;h.MorphBlendMesh=ma;h.ImmediateRenderObject=
|
|
|
-Lc;h.VertexNormalsHelper=Mc;h.SpotLightHelper=$b;h.SkeletonHelper=ac;h.PointLightHelper=bc;h.HemisphereLightHelper=cc;h.GridHelper=Nc;h.FaceNormalsHelper=Oc;h.DirectionalLightHelper=dc;h.CameraHelper=Pc;h.BoundingBoxHelper=Qc;h.BoxHelper=Rc;h.ArrowHelper=xb;h.AxisHelper=rd;h.ClosedSplineCurve3=we;h.SplineCurve3=wf;h.ArcCurve=sd;h.EllipseCurve=Oa;h.SplineCurve=sb;h.CubicBezierCurve=tb;h.QuadraticBezierCurve=ub;h.LineCurve=Ka;h.Shape=vb;h.ShapePath=Ed;h.Path=Kc;h.Font=Fd;h.CurvePath=Jc;h.Curve=aa;h.WireframeGeometry=
|
|
|
-Hb;h.ParametricGeometry=mc;h.ParametricBufferGeometry=Ib;h.TetrahedronGeometry=oc;h.TetrahedronBufferGeometry=nc;h.OctahedronGeometry=qc;h.OctahedronBufferGeometry=pc;h.IcosahedronGeometry=sc;h.IcosahedronBufferGeometry=rc;h.DodecahedronGeometry=uc;h.DodecahedronBufferGeometry=tc;h.PolyhedronGeometry=vc;h.PolyhedronBufferGeometry=la;h.TubeGeometry=Kb;h.TubeBufferGeometry=Jb;h.TorusKnotGeometry=wc;h.TorusKnotBufferGeometry=Lb;h.TorusGeometry=xc;h.TorusBufferGeometry=Mb;h.TextGeometry=yc;h.SphereBufferGeometry=
|
|
|
-hb;h.SphereGeometry=Nb;h.RingGeometry=zc;h.RingBufferGeometry=Ob;h.PlaneBufferGeometry=db;h.PlaneGeometry=Ac;h.LatheGeometry=Bc;h.LatheBufferGeometry=Pb;h.ShapeGeometry=Xa;h.ExtrudeGeometry=sa;h.EdgesGeometry=Qb;h.ConeGeometry=Cc;h.ConeBufferGeometry=Dc;h.CylinderGeometry=ib;h.CylinderBufferGeometry=Ya;h.CircleBufferGeometry=Rb;h.CircleGeometry=Ec;h.BoxBufferGeometry=cb;h.BoxGeometry=jb;h.ShadowMaterial=Sb;h.SpriteMaterial=fb;h.RawShaderMaterial=Tb;h.ShaderMaterial=Ea;h.PointsMaterial=Ja;h.MultiMaterial=
|
|
|
+for(b=1;b<this.points.length;b++){c=l.chunks[b]-l.chunks[b-1];g=Math.ceil(a*c/l.total);e=(b-1)/(this.points.length-1);f=b/(this.points.length-1);for(c=1;c<g-1;c++)d=e+1/g*c*(f-e),d=this.getPoint(d),h.push(k.copy(d).clone());h.push(k.copy(this.points[b]).clone())}this.points=h}};h.Spherical=Td;h.Plane=ta;h.Frustum=ec;h.Sphere=Ba;h.Ray=Va;h.Matrix4=H;h.Matrix3=za;h.Box3=Ha;h.Box2=dc;h.Line3=bb;h.Euler=Wa;h.Vector4=ha;h.Vector3=q;h.Vector2=C;h.Quaternion=da;h.Color=M;h.MorphBlendMesh=ma;h.ImmediateRenderObject=
|
|
|
+Lc;h.VertexNormalsHelper=Mc;h.SpotLightHelper=Zb;h.SkeletonHelper=$b;h.PointLightHelper=ac;h.HemisphereLightHelper=bc;h.GridHelper=Nc;h.FaceNormalsHelper=Oc;h.DirectionalLightHelper=cc;h.CameraHelper=Pc;h.BoundingBoxHelper=Qc;h.BoxHelper=Rc;h.ArrowHelper=xb;h.AxisHelper=rd;h.ClosedSplineCurve3=we;h.SplineCurve3=vf;h.ArcCurve=sd;h.EllipseCurve=Oa;h.SplineCurve=sb;h.CubicBezierCurve=tb;h.QuadraticBezierCurve=ub;h.LineCurve=Ka;h.Shape=vb;h.ShapePath=Ed;h.Path=Kc;h.Font=Fd;h.CurvePath=Jc;h.Curve=aa;h.WireframeGeometry=
|
|
|
+Hb;h.ParametricGeometry=lc;h.ParametricBufferGeometry=Ib;h.TetrahedronGeometry=nc;h.TetrahedronBufferGeometry=mc;h.OctahedronGeometry=pc;h.OctahedronBufferGeometry=oc;h.IcosahedronGeometry=rc;h.IcosahedronBufferGeometry=qc;h.DodecahedronGeometry=tc;h.DodecahedronBufferGeometry=sc;h.PolyhedronGeometry=uc;h.PolyhedronBufferGeometry=la;h.TubeGeometry=vc;h.TubeBufferGeometry=Jb;h.TorusKnotGeometry=wc;h.TorusKnotBufferGeometry=Kb;h.TorusGeometry=xc;h.TorusBufferGeometry=Lb;h.TextGeometry=yc;h.SphereBufferGeometry=
|
|
|
+hb;h.SphereGeometry=Mb;h.RingGeometry=zc;h.RingBufferGeometry=Nb;h.PlaneBufferGeometry=db;h.PlaneGeometry=Ac;h.LatheGeometry=Bc;h.LatheBufferGeometry=Ob;h.ShapeGeometry=Xa;h.ExtrudeGeometry=sa;h.EdgesGeometry=Pb;h.ConeGeometry=Cc;h.ConeBufferGeometry=Dc;h.CylinderGeometry=ib;h.CylinderBufferGeometry=Ya;h.CircleBufferGeometry=Qb;h.CircleGeometry=Ec;h.BoxBufferGeometry=cb;h.BoxGeometry=jb;h.ShadowMaterial=Rb;h.SpriteMaterial=fb;h.RawShaderMaterial=Sb;h.ShaderMaterial=Ea;h.PointsMaterial=Ja;h.MultiMaterial=
|
|
|
Fc;h.MeshPhysicalMaterial=kb;h.MeshStandardMaterial=wa;h.MeshPhongMaterial=Za;h.MeshNormalMaterial=lb;h.MeshLambertMaterial=mb;h.MeshDepthMaterial=Ta;h.MeshBasicMaterial=Ia;h.LineDashedMaterial=nb;h.LineBasicMaterial=na;h.Material=T;h.REVISION="82dev";h.MOUSE={LEFT:0,MIDDLE:1,RIGHT:2};h.CullFaceNone=0;h.CullFaceBack=1;h.CullFaceFront=2;h.CullFaceFrontBack=3;h.FrontFaceDirectionCW=0;h.FrontFaceDirectionCCW=1;h.BasicShadowMap=0;h.PCFShadowMap=1;h.PCFSoftShadowMap=2;h.FrontSide=0;h.BackSide=1;h.DoubleSide=
|
|
|
2;h.FlatShading=1;h.SmoothShading=2;h.NoColors=0;h.FaceColors=1;h.VertexColors=2;h.NoBlending=0;h.NormalBlending=1;h.AdditiveBlending=2;h.SubtractiveBlending=3;h.MultiplyBlending=4;h.CustomBlending=5;h.BlendingMode=xe;h.AddEquation=100;h.SubtractEquation=101;h.ReverseSubtractEquation=102;h.MinEquation=103;h.MaxEquation=104;h.ZeroFactor=200;h.OneFactor=201;h.SrcColorFactor=202;h.OneMinusSrcColorFactor=203;h.SrcAlphaFactor=204;h.OneMinusSrcAlphaFactor=205;h.DstAlphaFactor=206;h.OneMinusDstAlphaFactor=
|
|
|
207;h.DstColorFactor=208;h.OneMinusDstColorFactor=209;h.SrcAlphaSaturateFactor=210;h.NeverDepth=0;h.AlwaysDepth=1;h.LessDepth=2;h.LessEqualDepth=3;h.EqualDepth=4;h.GreaterEqualDepth=5;h.GreaterDepth=6;h.NotEqualDepth=7;h.MultiplyOperation=0;h.MixOperation=1;h.AddOperation=2;h.NoToneMapping=0;h.LinearToneMapping=1;h.ReinhardToneMapping=2;h.Uncharted2ToneMapping=3;h.CineonToneMapping=4;h.UVMapping=300;h.CubeReflectionMapping=301;h.CubeRefractionMapping=302;h.EquirectangularReflectionMapping=303;h.EquirectangularRefractionMapping=
|
|
|
304;h.SphericalReflectionMapping=305;h.CubeUVReflectionMapping=306;h.CubeUVRefractionMapping=307;h.TextureMapping=ye;h.RepeatWrapping=1E3;h.ClampToEdgeWrapping=1001;h.MirroredRepeatWrapping=1002;h.TextureWrapping=Ud;h.NearestFilter=1003;h.NearestMipMapNearestFilter=1004;h.NearestMipMapLinearFilter=1005;h.LinearFilter=1006;h.LinearMipMapNearestFilter=1007;h.LinearMipMapLinearFilter=1008;h.TextureFilter=Vd;h.UnsignedByteType=1009;h.ByteType=1010;h.ShortType=1011;h.UnsignedShortType=1012;h.IntType=1013;
|
|
|
h.UnsignedIntType=1014;h.FloatType=1015;h.HalfFloatType=1016;h.UnsignedShort4444Type=1017;h.UnsignedShort5551Type=1018;h.UnsignedShort565Type=1019;h.UnsignedInt248Type=1020;h.AlphaFormat=1021;h.RGBFormat=1022;h.RGBAFormat=1023;h.LuminanceFormat=1024;h.LuminanceAlphaFormat=1025;h.RGBEFormat=1023;h.DepthFormat=1026;h.DepthStencilFormat=1027;h.RGB_S3TC_DXT1_Format=2001;h.RGBA_S3TC_DXT1_Format=2002;h.RGBA_S3TC_DXT3_Format=2003;h.RGBA_S3TC_DXT5_Format=2004;h.RGB_PVRTC_4BPPV1_Format=2100;h.RGB_PVRTC_2BPPV1_Format=
|
|
|
2101;h.RGBA_PVRTC_4BPPV1_Format=2102;h.RGBA_PVRTC_2BPPV1_Format=2103;h.RGB_ETC1_Format=2151;h.LoopOnce=2200;h.LoopRepeat=2201;h.LoopPingPong=2202;h.InterpolateDiscrete=2300;h.InterpolateLinear=2301;h.InterpolateSmooth=2302;h.ZeroCurvatureEnding=2400;h.ZeroSlopeEnding=2401;h.WrapAroundEnding=2402;h.TrianglesDrawMode=0;h.TriangleStripDrawMode=1;h.TriangleFanDrawMode=2;h.LinearEncoding=3E3;h.sRGBEncoding=3001;h.GammaEncoding=3007;h.RGBEEncoding=3002;h.LogLuvEncoding=3003;h.RGBM7Encoding=3004;h.RGBM16Encoding=
|
|
|
-3005;h.RGBDEncoding=3006;h.BasicDepthPacking=3200;h.RGBADepthPacking=3201;h.CubeGeometry=jb;h.Face4=function(a,b,c,d,e,f,g){console.warn("THREE.Face4 has been removed. A THREE.Face3 will be created instead.");return new pa(a,b,c,e,f,g)};h.LineStrip=0;h.LinePieces=1;h.MeshFaceMaterial=Fc;h.PointCloud=function(a,b){console.warn("THREE.PointCloud has been renamed to THREE.Points.");return new Fb(a,b)};h.Particle=ic;h.ParticleSystem=function(a,b){console.warn("THREE.ParticleSystem has been renamed to THREE.Points.");
|
|
|
+3005;h.RGBDEncoding=3006;h.BasicDepthPacking=3200;h.RGBADepthPacking=3201;h.CubeGeometry=jb;h.Face4=function(a,b,c,d,e,f,g){console.warn("THREE.Face4 has been removed. A THREE.Face3 will be created instead.");return new pa(a,b,c,e,f,g)};h.LineStrip=0;h.LinePieces=1;h.MeshFaceMaterial=Fc;h.PointCloud=function(a,b){console.warn("THREE.PointCloud has been renamed to THREE.Points.");return new Fb(a,b)};h.Particle=hc;h.ParticleSystem=function(a,b){console.warn("THREE.ParticleSystem has been renamed to THREE.Points.");
|
|
|
return new Fb(a,b)};h.PointCloudMaterial=function(a){console.warn("THREE.PointCloudMaterial has been renamed to THREE.PointsMaterial.");return new Ja(a)};h.ParticleBasicMaterial=function(a){console.warn("THREE.ParticleBasicMaterial has been renamed to THREE.PointsMaterial.");return new Ja(a)};h.ParticleSystemMaterial=function(a){console.warn("THREE.ParticleSystemMaterial has been renamed to THREE.PointsMaterial.");return new Ja(a)};h.Vertex=function(a,b,c){console.warn("THREE.Vertex has been removed. Use THREE.Vector3 instead.");
|
|
|
-return new q(a,b,c)};h.EdgesHelper=function(a,b){console.warn("THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead.");return new ka(new Qb(a.geometry),new na({color:void 0!==b?b:16777215}))};h.WireframeHelper=function(a,b){console.warn("THREE.WireframeHelper has been removed. Use THREE.WireframeGeometry instead.");return new ka(new Hb(a.geometry),new na({color:void 0!==b?b:16777215}))};h.GeometryUtils={merge:function(a,b,c){console.warn("THREE.GeometryUtils: .merge() has been moved to Geometry. Use geometry.merge( geometry2, matrix, materialIndexOffset ) instead.");
|
|
|
+return new q(a,b,c)};h.EdgesHelper=function(a,b){console.warn("THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead.");return new ka(new Pb(a.geometry),new na({color:void 0!==b?b:16777215}))};h.WireframeHelper=function(a,b){console.warn("THREE.WireframeHelper has been removed. Use THREE.WireframeGeometry instead.");return new ka(new Hb(a.geometry),new na({color:void 0!==b?b:16777215}))};h.GeometryUtils={merge:function(a,b,c){console.warn("THREE.GeometryUtils: .merge() has been moved to Geometry. Use geometry.merge( geometry2, matrix, materialIndexOffset ) instead.");
|
|
|
var d;b.isMesh&&(b.matrixAutoUpdate&&b.updateMatrix(),d=b.matrix,b=b.geometry);a.merge(b,d,c)},center:function(a){console.warn("THREE.GeometryUtils: .center() has been moved to Geometry. Use geometry.center() instead.");return a.center()}};h.ImageUtils={crossOrigin:void 0,loadTexture:function(a,b,c,d){console.warn("THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.");var e=new ad;e.setCrossOrigin(this.crossOrigin);a=e.load(a,c,void 0,d);b&&(a.mapping=b);return a},
|
|
|
loadTextureCube:function(a,b,c,d){console.warn("THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.");var e=new Bd;e.setCrossOrigin(this.crossOrigin);a=e.load(a,c,void 0,d);b&&(a.mapping=b);return a},loadCompressedTexture:function(){console.error("THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.")},loadCompressedTextureCube:function(){console.error("THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.")}};
|
|
|
h.Projector=function(){console.error("THREE.Projector has been moved to /examples/js/renderers/Projector.js.");this.projectVector=function(a,b){console.warn("THREE.Projector: .projectVector() is now vector.project().");a.project(b)};this.unprojectVector=function(a,b){console.warn("THREE.Projector: .unprojectVector() is now vector.unproject().");a.unproject(b)};this.pickingRay=function(a,b){console.error("THREE.Projector: .pickingRay() is now raycaster.setFromCamera().")}};h.CanvasRenderer=function(){console.error("THREE.CanvasRenderer has been moved to /examples/js/renderers/CanvasRenderer.js");
|