|
@@ -10,36 +10,36 @@ b){a.uniform4iv(this.addr,b)}function pf(a){switch(a){case 5126:return ef;case 3
|
|
|
this.size,2))}function tf(a,b){a.uniform3fv(this.addr,Db(b,this.size,3))}function uf(a,b){a.uniform4fv(this.addr,Db(b,this.size,4))}function vf(a,b){a.uniformMatrix2fv(this.addr,!1,Db(b,this.size,4))}function wf(a,b){a.uniformMatrix3fv(this.addr,!1,Db(b,this.size,9))}function xf(a,b){a.uniformMatrix4fv(this.addr,!1,Db(b,this.size,16))}function yf(a,b,c){var d=b.length,e=ye(c,d);a.uniform1iv(this.addr,e);for(a=0;a!==d;++a)c.setTexture2D(b[a]||Ce,e[a])}function zf(a,b,c){var d=b.length,e=ye(c,d);a.uniform1iv(this.addr,
|
|
|
e);for(a=0;a!==d;++a)c.setTextureCube(b[a]||De,e[a])}function Af(a){switch(a){case 5126:return qf;case 35664:return sf;case 35665:return tf;case 35666:return uf;case 35674:return vf;case 35675:return wf;case 35676:return xf;case 35678:return yf;case 35680:return zf;case 5124:case 35670:return rf;case 35667:case 35671:return Ee;case 35668:case 35672:return Fe;case 35669:case 35673:return Ge}}function Bf(a,b,c){this.id=a;this.addr=c;this.setValue=pf(b.type)}function Cf(a,b,c){this.id=a;this.addr=c;
|
|
|
this.size=b.size;this.setValue=Af(b.type)}function He(a){this.id=a;this.seq=[];this.map={}}function eb(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,h=e.name,k=h.length;for(Md.lastIndex=0;;){var m=Md.exec(h),r=Md.lastIndex,q=m[1],n=m[3];"]"===m[2]&&(q|=0);if(void 0===n||"["===n&&r+2===k){h=g;e=void 0===n?new Bf(q,e,f):new Cf(q,e,f);h.seq.push(e);h.map[e.id]=e;break}else n=
|
|
|
-g.map[q],void 0===n&&(n=new He(q),q=g,g=n,q.seq.push(g),q.map[g.id]=g),g=n}}}function K(a,b,c){return void 0===b&&void 0===c?this.set(a):this.setRGB(a,b,c)}function fd(a,b){this.min=void 0!==a?a:new D(Infinity,Infinity);this.max=void 0!==b?b:new D(-Infinity,-Infinity)}function Df(a,b){var c,d,e,f,g,h,k,m,r,q,n=a.context,u=a.state,l,t,z,x,v,J;this.render=function(w,N,C){if(0!==b.length){w=new p;var F=C.w/C.z,G=.5*C.z,Z=.5*C.w,aa=16/C.w,ua=new D(aa*F,aa),I=new p(1,1,0),fb=new D(1,1),Nd=new fd;Nd.min.set(C.x,
|
|
|
-C.y);Nd.max.set(C.x+(C.z-16),C.y+(C.w-16));if(void 0===x){var aa=new Float32Array([-1,-1,0,0,1,-1,1,0,1,1,1,1,-1,1,0,1]),ja=new Uint16Array([0,1,2,0,2,3]);l=n.createBuffer();t=n.createBuffer();n.bindBuffer(n.ARRAY_BUFFER,l);n.bufferData(n.ARRAY_BUFFER,aa,n.STATIC_DRAW);n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,t);n.bufferData(n.ELEMENT_ARRAY_BUFFER,ja,n.STATIC_DRAW);v=n.createTexture();J=n.createTexture();u.bindTexture(n.TEXTURE_2D,v);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);u.bindTexture(n.TEXTURE_2D,J);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,
|
|
|
+g.map[q],void 0===n&&(n=new He(q),q=g,g=n,q.seq.push(g),q.map[g.id]=g),g=n}}}function K(a,b,c){return void 0===b&&void 0===c?this.set(a):this.setRGB(a,b,c)}function fd(a,b){this.min=void 0!==a?a:new D(Infinity,Infinity);this.max=void 0!==b?b:new D(-Infinity,-Infinity)}function Df(a,b){var c,d,e,f,g,h,k,m,r,q,n=a.context,u=a.state,l,t,z,y,w,G;this.render=function(v,O,C){if(0!==b.length){v=new p;var F=C.w/C.z,H=.5*C.z,Z=.5*C.w,aa=16/C.w,ua=new D(aa*F,aa),J=new p(1,1,0),fb=new D(1,1),Nd=new fd;Nd.min.set(C.x,
|
|
|
+C.y);Nd.max.set(C.x+(C.z-16),C.y+(C.w-16));if(void 0===y){var aa=new Float32Array([-1,-1,0,0,1,-1,1,0,1,1,1,1,-1,1,0,1]),ja=new Uint16Array([0,1,2,0,2,3]);l=n.createBuffer();t=n.createBuffer();n.bindBuffer(n.ARRAY_BUFFER,l);n.bufferData(n.ARRAY_BUFFER,aa,n.STATIC_DRAW);n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,t);n.bufferData(n.ELEMENT_ARRAY_BUFFER,ja,n.STATIC_DRAW);w=n.createTexture();G=n.createTexture();u.bindTexture(n.TEXTURE_2D,w);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);u.bindTexture(n.TEXTURE_2D,G);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 aa=z={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}"},ja=n.createProgram(),Q=n.createShader(n.FRAGMENT_SHADER),
|
|
|
-O=n.createShader(n.VERTEX_SHADER),W="precision "+a.getPrecision()+" float;\n";n.shaderSource(Q,W+aa.fragmentShader);n.shaderSource(O,W+aa.vertexShader);n.compileShader(Q);n.compileShader(O);n.attachShader(ja,Q);n.attachShader(ja,O);n.linkProgram(ja);x=ja;r=n.getAttribLocation(x,"position");q=n.getAttribLocation(x,"uv");c=n.getUniformLocation(x,"renderType");d=n.getUniformLocation(x,"map");e=n.getUniformLocation(x,"occlusionMap");f=n.getUniformLocation(x,"opacity");g=n.getUniformLocation(x,"color");
|
|
|
-h=n.getUniformLocation(x,"scale");k=n.getUniformLocation(x,"rotation");m=n.getUniformLocation(x,"screenPosition")}n.useProgram(x);u.initAttributes();u.enableAttribute(r);u.enableAttribute(q);u.disableUnusedAttributes();n.uniform1i(e,0);n.uniform1i(d,1);n.bindBuffer(n.ARRAY_BUFFER,l);n.vertexAttribPointer(r,2,n.FLOAT,!1,16,0);n.vertexAttribPointer(q,2,n.FLOAT,!1,16,8);n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,t);u.disable(n.CULL_FACE);u.buffers.depth.setMask(!1);ja=0;for(Q=b.length;ja<Q;ja++)if(aa=16/C.w,
|
|
|
-ua.set(aa*F,aa),O=b[ja],w.set(O.matrixWorld.elements[12],O.matrixWorld.elements[13],O.matrixWorld.elements[14]),w.applyMatrix4(N.matrixWorldInverse),w.applyMatrix4(N.projectionMatrix),I.copy(w),fb.x=C.x+I.x*G+G-8,fb.y=C.y+I.y*Z+Z-8,!0===Nd.containsPoint(fb)){u.activeTexture(n.TEXTURE0);u.bindTexture(n.TEXTURE_2D,null);u.activeTexture(n.TEXTURE1);u.bindTexture(n.TEXTURE_2D,v);n.copyTexImage2D(n.TEXTURE_2D,0,n.RGB,fb.x,fb.y,16,16,0);n.uniform1i(c,0);n.uniform2f(h,ua.x,ua.y);n.uniform3f(m,I.x,I.y,I.z);
|
|
|
-u.disable(n.BLEND);u.enable(n.DEPTH_TEST);n.drawElements(n.TRIANGLES,6,n.UNSIGNED_SHORT,0);u.activeTexture(n.TEXTURE0);u.bindTexture(n.TEXTURE_2D,J);n.copyTexImage2D(n.TEXTURE_2D,0,n.RGBA,fb.x,fb.y,16,16,0);n.uniform1i(c,1);u.disable(n.DEPTH_TEST);u.activeTexture(n.TEXTURE1);u.bindTexture(n.TEXTURE_2D,v);n.drawElements(n.TRIANGLES,6,n.UNSIGNED_SHORT,0);O.positionScreen.copy(I);O.customUpdateCallback?O.customUpdateCallback(O):O.updateLensFlares();n.uniform1i(c,2);u.enable(n.BLEND);for(var W=0,ka=O.lensFlares.length;W<
|
|
|
-ka;W++){var V=O.lensFlares[W];.001<V.opacity&&.001<V.scale&&(I.x=V.x,I.y=V.y,I.z=V.z,aa=V.size*V.scale/C.w,ua.x=aa*F,ua.y=aa,n.uniform3f(m,I.x,I.y,I.z),n.uniform2f(h,ua.x,ua.y),n.uniform1f(k,V.rotation),n.uniform1f(f,V.opacity),n.uniform3f(g,V.color.r,V.color.g,V.color.b),u.setBlending(V.blending,V.blendEquation,V.blendSrc,V.blendDst),a.setTexture2D(V.texture,1),n.drawElements(n.TRIANGLES,6,n.UNSIGNED_SHORT,0))}}u.enable(n.CULL_FACE);u.enable(n.DEPTH_TEST);u.buffers.depth.setMask(!0);a.resetGLState()}}}
|
|
|
-function Ef(a,b){var c,d,e,f,g,h,k,m,r,q,n,u,l,t,z,x,v;function J(a,b){return a.renderOrder!==b.renderOrder?a.renderOrder-b.renderOrder:a.z!==b.z?b.z-a.z:b.id-a.id}var w=a.context,N=a.state,C,F,G,Z,aa=new p,ua=new oa,I=new p;this.render=function(p,D){if(0!==b.length){if(void 0===G){var ja=new Float32Array([-.5,-.5,0,0,.5,-.5,1,0,.5,.5,1,1,-.5,.5,0,1]),Q=new Uint16Array([0,1,2,0,2,3]);C=w.createBuffer();F=w.createBuffer();w.bindBuffer(w.ARRAY_BUFFER,C);w.bufferData(w.ARRAY_BUFFER,ja,w.STATIC_DRAW);
|
|
|
-w.bindBuffer(w.ELEMENT_ARRAY_BUFFER,F);w.bufferData(w.ELEMENT_ARRAY_BUFFER,Q,w.STATIC_DRAW);var ja=w.createProgram(),Q=w.createShader(w.VERTEX_SHADER),O=w.createShader(w.FRAGMENT_SHADER);w.shaderSource(Q,["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"));
|
|
|
-w.shaderSource(O,["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"));
|
|
|
-w.compileShader(Q);w.compileShader(O);w.attachShader(ja,Q);w.attachShader(ja,O);w.linkProgram(ja);G=ja;x=w.getAttribLocation(G,"position");v=w.getAttribLocation(G,"uv");c=w.getUniformLocation(G,"uvOffset");d=w.getUniformLocation(G,"uvScale");e=w.getUniformLocation(G,"rotation");f=w.getUniformLocation(G,"scale");g=w.getUniformLocation(G,"color");h=w.getUniformLocation(G,"map");k=w.getUniformLocation(G,"opacity");m=w.getUniformLocation(G,"modelViewMatrix");r=w.getUniformLocation(G,"projectionMatrix");
|
|
|
-q=w.getUniformLocation(G,"fogType");n=w.getUniformLocation(G,"fogDensity");u=w.getUniformLocation(G,"fogNear");l=w.getUniformLocation(G,"fogFar");t=w.getUniformLocation(G,"fogColor");z=w.getUniformLocation(G,"alphaTest");ja=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");ja.width=8;ja.height=8;Q=ja.getContext("2d");Q.fillStyle="white";Q.fillRect(0,0,8,8);Z=new ba(ja);Z.needsUpdate=!0}w.useProgram(G);N.initAttributes();N.enableAttribute(x);N.enableAttribute(v);N.disableUnusedAttributes();
|
|
|
-N.disable(w.CULL_FACE);N.enable(w.BLEND);w.bindBuffer(w.ARRAY_BUFFER,C);w.vertexAttribPointer(x,2,w.FLOAT,!1,16,0);w.vertexAttribPointer(v,2,w.FLOAT,!1,16,8);w.bindBuffer(w.ELEMENT_ARRAY_BUFFER,F);w.uniformMatrix4fv(r,!1,D.projectionMatrix.elements);N.activeTexture(w.TEXTURE0);w.uniform1i(h,0);Q=ja=0;(O=p.fog)?(w.uniform3f(t,O.color.r,O.color.g,O.color.b),O.isFog?(w.uniform1f(u,O.near),w.uniform1f(l,O.far),w.uniform1i(q,1),Q=ja=1):O.isFogExp2&&(w.uniform1f(n,O.density),w.uniform1i(q,2),Q=ja=2)):(w.uniform1i(q,
|
|
|
-0),Q=ja=0);for(var O=0,W=b.length;O<W;O++){var ka=b[O];ka.modelViewMatrix.multiplyMatrices(D.matrixWorldInverse,ka.matrixWorld);ka.z=-ka.modelViewMatrix.elements[14]}b.sort(J);for(var V=[],O=0,W=b.length;O<W;O++){var ka=b[O],R=ka.material;!1!==R.visible&&(w.uniform1f(z,R.alphaTest),w.uniformMatrix4fv(m,!1,ka.modelViewMatrix.elements),ka.matrixWorld.decompose(aa,ua,I),V[0]=I.x,V[1]=I.y,ka=0,p.fog&&R.fog&&(ka=Q),ja!==ka&&(w.uniform1i(q,ka),ja=ka),null!==R.map?(w.uniform2f(c,R.map.offset.x,R.map.offset.y),
|
|
|
-w.uniform2f(d,R.map.repeat.x,R.map.repeat.y)):(w.uniform2f(c,0,0),w.uniform2f(d,1,1)),w.uniform1f(k,R.opacity),w.uniform3f(g,R.color.r,R.color.g,R.color.b),w.uniform1f(e,R.rotation),w.uniform2fv(f,V),N.setBlending(R.blending,R.blendEquation,R.blendSrc,R.blendDst),N.buffers.depth.setTest(R.depthTest),N.buffers.depth.setMask(R.depthWrite),R.map?a.setTexture2D(R.map,0):a.setTexture2D(Z,0),w.drawElements(w.TRIANGLES,6,w.UNSIGNED_SHORT,0))}N.enable(w.CULL_FACE);a.resetGLState()}}}function U(){Object.defineProperty(this,
|
|
|
+N=n.createShader(n.VERTEX_SHADER),W="precision "+a.getPrecision()+" float;\n";n.shaderSource(Q,W+aa.fragmentShader);n.shaderSource(N,W+aa.vertexShader);n.compileShader(Q);n.compileShader(N);n.attachShader(ja,Q);n.attachShader(ja,N);n.linkProgram(ja);y=ja;r=n.getAttribLocation(y,"position");q=n.getAttribLocation(y,"uv");c=n.getUniformLocation(y,"renderType");d=n.getUniformLocation(y,"map");e=n.getUniformLocation(y,"occlusionMap");f=n.getUniformLocation(y,"opacity");g=n.getUniformLocation(y,"color");
|
|
|
+h=n.getUniformLocation(y,"scale");k=n.getUniformLocation(y,"rotation");m=n.getUniformLocation(y,"screenPosition")}n.useProgram(y);u.initAttributes();u.enableAttribute(r);u.enableAttribute(q);u.disableUnusedAttributes();n.uniform1i(e,0);n.uniform1i(d,1);n.bindBuffer(n.ARRAY_BUFFER,l);n.vertexAttribPointer(r,2,n.FLOAT,!1,16,0);n.vertexAttribPointer(q,2,n.FLOAT,!1,16,8);n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,t);u.disable(n.CULL_FACE);u.buffers.depth.setMask(!1);ja=0;for(Q=b.length;ja<Q;ja++)if(aa=16/C.w,
|
|
|
+ua.set(aa*F,aa),N=b[ja],v.set(N.matrixWorld.elements[12],N.matrixWorld.elements[13],N.matrixWorld.elements[14]),v.applyMatrix4(O.matrixWorldInverse),v.applyMatrix4(O.projectionMatrix),J.copy(v),fb.x=C.x+J.x*H+H-8,fb.y=C.y+J.y*Z+Z-8,!0===Nd.containsPoint(fb)){u.activeTexture(n.TEXTURE0);u.bindTexture(n.TEXTURE_2D,null);u.activeTexture(n.TEXTURE1);u.bindTexture(n.TEXTURE_2D,w);n.copyTexImage2D(n.TEXTURE_2D,0,n.RGB,fb.x,fb.y,16,16,0);n.uniform1i(c,0);n.uniform2f(h,ua.x,ua.y);n.uniform3f(m,J.x,J.y,J.z);
|
|
|
+u.disable(n.BLEND);u.enable(n.DEPTH_TEST);n.drawElements(n.TRIANGLES,6,n.UNSIGNED_SHORT,0);u.activeTexture(n.TEXTURE0);u.bindTexture(n.TEXTURE_2D,G);n.copyTexImage2D(n.TEXTURE_2D,0,n.RGBA,fb.x,fb.y,16,16,0);n.uniform1i(c,1);u.disable(n.DEPTH_TEST);u.activeTexture(n.TEXTURE1);u.bindTexture(n.TEXTURE_2D,w);n.drawElements(n.TRIANGLES,6,n.UNSIGNED_SHORT,0);N.positionScreen.copy(J);N.customUpdateCallback?N.customUpdateCallback(N):N.updateLensFlares();n.uniform1i(c,2);u.enable(n.BLEND);for(var W=0,ka=N.lensFlares.length;W<
|
|
|
+ka;W++){var V=N.lensFlares[W];.001<V.opacity&&.001<V.scale&&(J.x=V.x,J.y=V.y,J.z=V.z,aa=V.size*V.scale/C.w,ua.x=aa*F,ua.y=aa,n.uniform3f(m,J.x,J.y,J.z),n.uniform2f(h,ua.x,ua.y),n.uniform1f(k,V.rotation),n.uniform1f(f,V.opacity),n.uniform3f(g,V.color.r,V.color.g,V.color.b),u.setBlending(V.blending,V.blendEquation,V.blendSrc,V.blendDst),a.setTexture2D(V.texture,1),n.drawElements(n.TRIANGLES,6,n.UNSIGNED_SHORT,0))}}u.enable(n.CULL_FACE);u.enable(n.DEPTH_TEST);u.buffers.depth.setMask(!0);a.resetGLState()}}}
|
|
|
+function Ef(a,b){var c,d,e,f,g,h,k,m,r,q,n,u,l,t,z,y,w;function G(a,b){return a.renderOrder!==b.renderOrder?a.renderOrder-b.renderOrder:a.z!==b.z?b.z-a.z:b.id-a.id}var v=a.context,O=a.state,C,F,H,Z,aa=new p,ua=new oa,J=new p;this.render=function(p,D){if(0!==b.length){if(void 0===H){var ja=new Float32Array([-.5,-.5,0,0,.5,-.5,1,0,.5,.5,1,1,-.5,.5,0,1]),Q=new Uint16Array([0,1,2,0,2,3]);C=v.createBuffer();F=v.createBuffer();v.bindBuffer(v.ARRAY_BUFFER,C);v.bufferData(v.ARRAY_BUFFER,ja,v.STATIC_DRAW);
|
|
|
+v.bindBuffer(v.ELEMENT_ARRAY_BUFFER,F);v.bufferData(v.ELEMENT_ARRAY_BUFFER,Q,v.STATIC_DRAW);var ja=v.createProgram(),Q=v.createShader(v.VERTEX_SHADER),N=v.createShader(v.FRAGMENT_SHADER);v.shaderSource(Q,["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"));
|
|
|
+v.shaderSource(N,["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"));
|
|
|
+v.compileShader(Q);v.compileShader(N);v.attachShader(ja,Q);v.attachShader(ja,N);v.linkProgram(ja);H=ja;y=v.getAttribLocation(H,"position");w=v.getAttribLocation(H,"uv");c=v.getUniformLocation(H,"uvOffset");d=v.getUniformLocation(H,"uvScale");e=v.getUniformLocation(H,"rotation");f=v.getUniformLocation(H,"scale");g=v.getUniformLocation(H,"color");h=v.getUniformLocation(H,"map");k=v.getUniformLocation(H,"opacity");m=v.getUniformLocation(H,"modelViewMatrix");r=v.getUniformLocation(H,"projectionMatrix");
|
|
|
+q=v.getUniformLocation(H,"fogType");n=v.getUniformLocation(H,"fogDensity");u=v.getUniformLocation(H,"fogNear");l=v.getUniformLocation(H,"fogFar");t=v.getUniformLocation(H,"fogColor");z=v.getUniformLocation(H,"alphaTest");ja=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");ja.width=8;ja.height=8;Q=ja.getContext("2d");Q.fillStyle="white";Q.fillRect(0,0,8,8);Z=new ba(ja);Z.needsUpdate=!0}v.useProgram(H);O.initAttributes();O.enableAttribute(y);O.enableAttribute(w);O.disableUnusedAttributes();
|
|
|
+O.disable(v.CULL_FACE);O.enable(v.BLEND);v.bindBuffer(v.ARRAY_BUFFER,C);v.vertexAttribPointer(y,2,v.FLOAT,!1,16,0);v.vertexAttribPointer(w,2,v.FLOAT,!1,16,8);v.bindBuffer(v.ELEMENT_ARRAY_BUFFER,F);v.uniformMatrix4fv(r,!1,D.projectionMatrix.elements);O.activeTexture(v.TEXTURE0);v.uniform1i(h,0);Q=ja=0;(N=p.fog)?(v.uniform3f(t,N.color.r,N.color.g,N.color.b),N.isFog?(v.uniform1f(u,N.near),v.uniform1f(l,N.far),v.uniform1i(q,1),Q=ja=1):N.isFogExp2&&(v.uniform1f(n,N.density),v.uniform1i(q,2),Q=ja=2)):(v.uniform1i(q,
|
|
|
+0),Q=ja=0);for(var N=0,W=b.length;N<W;N++){var ka=b[N];ka.modelViewMatrix.multiplyMatrices(D.matrixWorldInverse,ka.matrixWorld);ka.z=-ka.modelViewMatrix.elements[14]}b.sort(G);for(var V=[],N=0,W=b.length;N<W;N++){var ka=b[N],R=ka.material;!1!==R.visible&&(v.uniform1f(z,R.alphaTest),v.uniformMatrix4fv(m,!1,ka.modelViewMatrix.elements),ka.matrixWorld.decompose(aa,ua,J),V[0]=J.x,V[1]=J.y,ka=0,p.fog&&R.fog&&(ka=Q),ja!==ka&&(v.uniform1i(q,ka),ja=ka),null!==R.map?(v.uniform2f(c,R.map.offset.x,R.map.offset.y),
|
|
|
+v.uniform2f(d,R.map.repeat.x,R.map.repeat.y)):(v.uniform2f(c,0,0),v.uniform2f(d,1,1)),v.uniform1f(k,R.opacity),v.uniform3f(g,R.color.r,R.color.g,R.color.b),v.uniform1f(e,R.rotation),v.uniform2fv(f,V),O.setBlending(R.blending,R.blendEquation,R.blendSrc,R.blendDst),O.buffers.depth.setTest(R.depthTest),O.buffers.depth.setMask(R.depthWrite),R.map?a.setTexture2D(R.map,0):a.setTexture2D(Z,0),v.drawElements(v.TRIANGLES,6,v.UNSIGNED_SHORT,0))}O.enable(v.CULL_FACE);a.resetGLState()}}}function U(){Object.defineProperty(this,
|
|
|
"id",{value:Ff++});this.uuid=X.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=this.clipIntersection=!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 Da(a){U.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 Za(a){U.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 Sa(a,b){this.min=void 0!==a?a:new p(Infinity,Infinity,Infinity);this.max=void 0!==b?b:new p(-Infinity,-Infinity,-Infinity)}function Ba(a,b){this.center=void 0!==a?a:new p;this.radius=void 0!==b?b:0}function Fa(){this.elements=[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 va(a,b){this.normal=void 0!==a?a:new p(1,0,0);this.constant=void 0!==b?b:0}function gd(a,b,c,d,e,f){this.planes=[void 0!==a?a:new va,void 0!==b?b:new va,void 0!==c?c:new va,void 0!==d?d:new va,void 0!==e?e:new va,void 0!==f?f:new va]}function Ie(a,b,c,d){function e(b,c,d,e){var f=b.geometry,g;g=t;var h=b.customDepthMaterial;d&&(g=z,h=b.customDistanceMaterial);h?g=h:(h=!1,c.morphTargets&&(f&&f.isBufferGeometry?h=f.morphAttributes&&f.morphAttributes.position&&0<f.morphAttributes.position.length:
|
|
|
-f&&f.isGeometry&&(h=f.morphTargets&&0<f.morphTargets.length)),b.isSkinnedMesh&&!1===c.skinning&&console.warn("THREE.WebGLShadowMap: THREE.SkinnedMesh with material.skinning set to false:",b),b=b.isSkinnedMesh&&c.skinning,f=0,h&&(f|=1),b&&(f|=2),g=g[f]);a.localClippingEnabled&&!0===c.clipShadows&&0!==c.clippingPlanes.length&&(f=g.uuid,h=c.uuid,b=x[f],void 0===b&&(b={},x[f]=b),f=b[h],void 0===f&&(f=g.clone(),b[h]=f),g=f);g.visible=c.visible;g.wireframe=c.wireframe;h=c.side;aa.renderSingleSided&&2==
|
|
|
+f&&f.isGeometry&&(h=f.morphTargets&&0<f.morphTargets.length)),b.isSkinnedMesh&&!1===c.skinning&&console.warn("THREE.WebGLShadowMap: THREE.SkinnedMesh with material.skinning set to false:",b),b=b.isSkinnedMesh&&c.skinning,f=0,h&&(f|=1),b&&(f|=2),g=g[f]);a.localClippingEnabled&&!0===c.clipShadows&&0!==c.clippingPlanes.length&&(f=g.uuid,h=c.uuid,b=y[f],void 0===b&&(b={},y[f]=b),f=b[h],void 0===f&&(f=g.clone(),b[h]=f),g=f);g.visible=c.visible;g.wireframe=c.wireframe;h=c.side;aa.renderSingleSided&&2==
|
|
|
h&&(h=0);aa.renderReverseSided&&(0===h?h=1:1===h&&(h=0));g.side=h;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(b,d,g,h){if(!1!==b.visible){if(b.layers.test(d.layers)&&(b.isMesh||b.isLine||b.isPoints)&&b.castShadow&&(!b.frustumCulled||k.intersectsObject(b))){b.modelViewMatrix.multiplyMatrices(g.matrixWorldInverse,b.matrixWorld);var m=
|
|
|
-c.update(b),r=b.material;if(Array.isArray(r))for(var n=m.groups,q=0,u=n.length;q<u;q++){var x=n[q],v=r[x.materialIndex];v&&v.visible&&(v=e(b,v,h,l),a.renderBufferDirect(g,null,m,v,b,x))}else r.visible&&(v=e(b,r,h,l),a.renderBufferDirect(g,null,m,v,b,null))}b=b.children;m=0;for(r=b.length;m<r;m++)f(b[m],d,g,h)}}var g=a.context,h=a.state,k=new gd,m=new L,r=b.shadows,q=new D,n=new D(d.maxTextureSize,d.maxTextureSize),u=new p,l=new p,t=Array(4),z=Array(4),x={},v=[new p(1,0,0),new p(-1,0,0),new p(0,0,
|
|
|
-1),new p(0,0,-1),new p(0,1,0),new p(0,-1,0)],J=[new p(0,1,0),new p(0,1,0),new p(0,1,0),new p(0,1,0),new p(0,0,1),new p(0,0,-1)],w=[new ga,new ga,new ga,new ga,new ga,new ga];b=new Za;b.depthPacking=3201;b.clipping=!0;d=$a.distanceRGBA;for(var N=Ga.clone(d.uniforms),C=0;4!==C;++C){var F=0!==(C&1),G=0!==(C&2),Z=b.clone();Z.morphTargets=F;Z.skinning=G;t[C]=Z;F=new Da({defines:{USE_SHADOWMAP:""},uniforms:N,vertexShader:d.vertexShader,fragmentShader:d.fragmentShader,morphTargets:F,skinning:G,clipping:!0});
|
|
|
-z[C]=F}var aa=this;this.enabled=!1;this.autoUpdate=!0;this.needsUpdate=!1;this.type=1;this.renderSingleSided=this.renderReverseSided=!0;this.render=function(b,c){if(!1!==aa.enabled&&(!1!==aa.autoUpdate||!1!==aa.needsUpdate)&&0!==r.length){h.disable(g.BLEND);h.buffers.color.setClear(1,1,1,1);h.buffers.depth.setTest(!0);h.setScissorTest(!1);for(var d,e,x=0,t=r.length;x<t;x++){var p=r[x],z=p.shadow;if(void 0===z)console.warn("THREE.WebGLShadowMap:",p,"has no shadow.");else{var N=z.camera;q.copy(z.mapSize);
|
|
|
-q.min(n);if(p&&p.isPointLight){d=6;e=!0;var C=q.x,F=q.y;w[0].set(2*C,F,C,F);w[1].set(0,F,C,F);w[2].set(3*C,F,C,F);w[3].set(C,F,C,F);w[4].set(3*C,0,C,F);w[5].set(C,0,C,F);q.x*=4;q.y*=2}else d=1,e=!1;null===z.map&&(z.map=new Bb(q.x,q.y,{minFilter:1003,magFilter:1003,format:1023}),z.map.texture.name=p.name+".shadowMap",N.updateProjectionMatrix());z.isSpotLightShadow&&z.update(p);C=z.map;z=z.matrix;l.setFromMatrixPosition(p.matrixWorld);N.position.copy(l);a.setRenderTarget(C);a.clear();for(C=0;C<d;C++)e?
|
|
|
-(u.copy(N.position),u.add(v[C]),N.up.copy(J[C]),N.lookAt(u),h.viewport(w[C])):(u.setFromMatrixPosition(p.target.matrixWorld),N.lookAt(u)),N.updateMatrixWorld(),N.matrixWorldInverse.getInverse(N.matrixWorld),z.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),z.multiply(N.projectionMatrix),z.multiply(N.matrixWorldInverse),m.multiplyMatrices(N.projectionMatrix,N.matrixWorldInverse),k.setFromMatrix(m),f(b,c,N,e)}}d=a.getClearColor();e=a.getClearAlpha();a.setClearColor(d,e);aa.needsUpdate=!1}}}function gb(a,
|
|
|
+c.update(b),r=b.material;if(Array.isArray(r))for(var n=m.groups,q=0,u=n.length;q<u;q++){var y=n[q],w=r[y.materialIndex];w&&w.visible&&(w=e(b,w,h,l),a.renderBufferDirect(g,null,m,w,b,y))}else r.visible&&(w=e(b,r,h,l),a.renderBufferDirect(g,null,m,w,b,null))}b=b.children;m=0;for(r=b.length;m<r;m++)f(b[m],d,g,h)}}var g=a.context,h=a.state,k=new gd,m=new L,r=b.shadows,q=new D,n=new D(d.maxTextureSize,d.maxTextureSize),u=new p,l=new p,t=Array(4),z=Array(4),y={},w=[new p(1,0,0),new p(-1,0,0),new p(0,0,
|
|
|
+1),new p(0,0,-1),new p(0,1,0),new p(0,-1,0)],G=[new p(0,1,0),new p(0,1,0),new p(0,1,0),new p(0,1,0),new p(0,0,1),new p(0,0,-1)],v=[new ga,new ga,new ga,new ga,new ga,new ga];b=new Za;b.depthPacking=3201;b.clipping=!0;d=$a.distanceRGBA;for(var O=Ga.clone(d.uniforms),C=0;4!==C;++C){var F=0!==(C&1),H=0!==(C&2),Z=b.clone();Z.morphTargets=F;Z.skinning=H;t[C]=Z;F=new Da({defines:{USE_SHADOWMAP:""},uniforms:O,vertexShader:d.vertexShader,fragmentShader:d.fragmentShader,morphTargets:F,skinning:H,clipping:!0});
|
|
|
+z[C]=F}var aa=this;this.enabled=!1;this.autoUpdate=!0;this.needsUpdate=!1;this.type=1;this.renderSingleSided=this.renderReverseSided=!0;this.render=function(b,c){if(!1!==aa.enabled&&(!1!==aa.autoUpdate||!1!==aa.needsUpdate)&&0!==r.length){h.disable(g.BLEND);h.buffers.color.setClear(1,1,1,1);h.buffers.depth.setTest(!0);h.setScissorTest(!1);for(var d,e,y=0,t=r.length;y<t;y++){var p=r[y],z=p.shadow;if(void 0===z)console.warn("THREE.WebGLShadowMap:",p,"has no shadow.");else{var O=z.camera;q.copy(z.mapSize);
|
|
|
+q.min(n);if(p&&p.isPointLight){d=6;e=!0;var C=q.x,F=q.y;v[0].set(2*C,F,C,F);v[1].set(0,F,C,F);v[2].set(3*C,F,C,F);v[3].set(C,F,C,F);v[4].set(3*C,0,C,F);v[5].set(C,0,C,F);q.x*=4;q.y*=2}else d=1,e=!1;null===z.map&&(z.map=new Bb(q.x,q.y,{minFilter:1003,magFilter:1003,format:1023}),z.map.texture.name=p.name+".shadowMap",O.updateProjectionMatrix());z.isSpotLightShadow&&z.update(p);C=z.map;z=z.matrix;l.setFromMatrixPosition(p.matrixWorld);O.position.copy(l);a.setRenderTarget(C);a.clear();for(C=0;C<d;C++)e?
|
|
|
+(u.copy(O.position),u.add(w[C]),O.up.copy(G[C]),O.lookAt(u),h.viewport(v[C])):(u.setFromMatrixPosition(p.target.matrixWorld),O.lookAt(u)),O.updateMatrixWorld(),O.matrixWorldInverse.getInverse(O.matrixWorld),z.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),z.multiply(O.projectionMatrix),z.multiply(O.matrixWorldInverse),m.multiplyMatrices(O.projectionMatrix,O.matrixWorldInverse),k.setFromMatrix(m),f(b,c,O,e)}}d=a.getClearColor();e=a.getClearAlpha();a.setClearColor(d,e);aa.needsUpdate=!1}}}function gb(a,
|
|
|
b){this.origin=void 0!==a?a:new p;this.direction=void 0!==b?b:new p}function ab(a,b,c,d){this._x=a||0;this._y=b||0;this._z=c||0;this._order=d||ab.DefaultOrder}function Od(){this.mask=1}function B(){Object.defineProperty(this,"id",{value:Gf++});this.uuid=X.generateUUID();this.name="";this.type="Object3D";this.parent=null;this.children=[];this.up=B.DefaultUp.clone();var a=new p,b=new ab,c=new oa,d=new p(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 L},normalMatrix:{value:new Fa}});this.matrix=new L;this.matrixWorld=new L;this.matrixAutoUpdate=B.DefaultMatrixAutoUpdate;this.matrixWorldNeedsUpdate=!1;this.layers=new Od;this.visible=!0;this.receiveShadow=this.castShadow=!1;this.frustumCulled=!0;this.renderOrder=0;this.userData={};this.onBeforeRender=
|
|
|
function(){};this.onAfterRender=function(){}}function Eb(a,b){this.start=void 0!==a?a:new p;this.end=void 0!==b?b:new p}function Ta(a,b,c){this.a=void 0!==a?a:new p;this.b=void 0!==b?b:new p;this.c=void 0!==c?c:new p}function Ua(a,b,c,d,e,f){this.a=a;this.b=b;this.c=c;this.normal=d&&d.isVector3?d:new p;this.vertexNormals=Array.isArray(d)?d:[];this.color=e&&e.isColor?e:new K;this.vertexColors=Array.isArray(e)?e:[];this.materialIndex=void 0!==f?f:0}function Ha(a){U.call(this);this.type="MeshBasicMaterial";
|
|
@@ -47,11 +47,11 @@ this.color=new K(16777215);this.lightMap=this.map=null;this.lightMapIntensity=1;
|
|
|
this.uuid=X.generateUUID();this.array=a;this.itemSize=b;this.count=void 0!==a?a.length/b:0;this.normalized=!0===c;this.dynamic=!1;this.updateRange={offset:0,count:-1};this.onUploadCallback=function(){};this.version=0}function pc(a,b){Y.call(this,new Int8Array(a),b)}function qc(a,b){Y.call(this,new Uint8Array(a),b)}function rc(a,b){Y.call(this,new Uint8ClampedArray(a),b)}function sc(a,b){Y.call(this,new Int16Array(a),b)}function hb(a,b){Y.call(this,new Uint16Array(a),b)}function tc(a,b){Y.call(this,
|
|
|
new Int32Array(a),b)}function ib(a,b){Y.call(this,new Uint32Array(a),b)}function E(a,b){Y.call(this,new Float32Array(a),b)}function uc(a,b){Y.call(this,new Float64Array(a),b)}function Je(){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 Pd(a){if(0===a.length)return-Infinity;for(var b=a[0],c=1,d=a.length;c<d;++c)a[c]>b&&(b=a[c]);return b}function P(){Object.defineProperty(this,"id",{value:Qd++});this.uuid=X.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 H(){Object.defineProperty(this,"id",{value:Qd++});this.uuid=X.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 wa(a,b){B.call(this);this.type="Mesh";this.geometry=void 0!==a?a:new H;this.material=void 0!==b?
|
|
|
-b:new Ha({color:16777215*Math.random()});this.drawMode=0;this.updateMorphTargets()}function Fb(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 jb(a,b,c,d,e,f));this.mergeVertices()}function jb(a,b,c,d,e,f){function g(a,b,c,d,e,f,g,l,C,F,G){var Z=f/C,aa=g/F,ua=f/2,I=g/2,D=l/2;g=C+1;var E=F+1,B=f=0,Q,O,W=new p;for(O=0;O<E;O++){var ka=O*aa-I;for(Q=0;Q<g;Q++)W[a]=(Q*Z-ua)*d,W[b]=ka*
|
|
|
-e,W[c]=D,m.push(W.x,W.y,W.z),W[a]=0,W[b]=0,W[c]=0<l?1:-1,r.push(W.x,W.y,W.z),q.push(Q/C),q.push(1-O/F),f+=1}for(O=0;O<F;O++)for(Q=0;Q<C;Q++)a=n+Q+g*(O+1),b=n+(Q+1)+g*(O+1),c=n+(Q+1)+g*O,k.push(n+Q+g*O,a,c),k.push(a,b,c),B+=6;h.addGroup(u,B,G);u+=B;n+=f}H.call(this);this.type="BoxBufferGeometry";this.parameters={width:a,height:b,depth:c,widthSegments:d,heightSegments:e,depthSegments:f};var h=this;d=Math.floor(d)||1;e=Math.floor(e)||1;f=Math.floor(f)||1;var k=[],m=[],r=[],q=[],n=0,u=0;g("z","y","x",
|
|
|
+this.colorsNeedUpdate=this.normalsNeedUpdate=this.uvsNeedUpdate=this.verticesNeedUpdate=this.elementsNeedUpdate=!1}function I(){Object.defineProperty(this,"id",{value:Qd++});this.uuid=X.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 wa(a,b){B.call(this);this.type="Mesh";this.geometry=void 0!==a?a:new I;this.material=void 0!==b?
|
|
|
+b:new Ha({color:16777215*Math.random()});this.drawMode=0;this.updateMorphTargets()}function Fb(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 jb(a,b,c,d,e,f));this.mergeVertices()}function jb(a,b,c,d,e,f){function g(a,b,c,d,e,f,g,l,C,F,H){var Z=f/C,aa=g/F,ua=f/2,J=g/2,D=l/2;g=C+1;var E=F+1,B=f=0,Q,N,W=new p;for(N=0;N<E;N++){var ka=N*aa-J;for(Q=0;Q<g;Q++)W[a]=(Q*Z-ua)*d,W[b]=ka*
|
|
|
+e,W[c]=D,m.push(W.x,W.y,W.z),W[a]=0,W[b]=0,W[c]=0<l?1:-1,r.push(W.x,W.y,W.z),q.push(Q/C),q.push(1-N/F),f+=1}for(N=0;N<F;N++)for(Q=0;Q<C;Q++)a=n+Q+g*(N+1),b=n+(Q+1)+g*(N+1),c=n+(Q+1)+g*N,k.push(n+Q+g*N,a,c),k.push(a,b,c),B+=6;h.addGroup(u,B,H);u+=B;n+=f}I.call(this);this.type="BoxBufferGeometry";this.parameters={width:a,height:b,depth:c,widthSegments:d,heightSegments:e,depthSegments:f};var h=this;d=Math.floor(d)||1;e=Math.floor(e)||1;f=Math.floor(f)||1;var k=[],m=[],r=[],q=[],n=0,u=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(k);this.addAttribute("position",new E(m,3));this.addAttribute("normal",new E(r,3));this.addAttribute("uv",new E(q,2))}function vc(a,b,c,d){P.call(this);this.type="PlaneGeometry";this.parameters={width:a,height:b,widthSegments:c,heightSegments:d};this.fromBufferGeometry(new kb(a,b,c,d))}function kb(a,b,c,
|
|
|
-d){H.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,h=d+1,k=a/c,m=b/d,r=[],q=[],n=[],u=[];for(a=0;a<h;a++){var l=a*m-f;for(b=0;b<g;b++)q.push(b*k-e,-l,0),n.push(0,0,1),u.push(b/c),u.push(1-a/d)}for(a=0;a<d;a++)for(b=0;b<c;b++)e=b+g*(a+1),f=b+1+g*(a+1),h=b+1+g*a,r.push(b+g*a,e,h),r.push(e,f,h);this.setIndex(r);this.addAttribute("position",new E(q,3));this.addAttribute("normal",
|
|
|
+d){I.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,h=d+1,k=a/c,m=b/d,r=[],q=[],n=[],u=[];for(a=0;a<h;a++){var l=a*m-f;for(b=0;b<g;b++)q.push(b*k-e,-l,0),n.push(0,0,1),u.push(b/c),u.push(1-a/d)}for(a=0;a<d;a++)for(b=0;b<c;b++)e=b+g*(a+1),f=b+1+g*(a+1),h=b+1+g*a,r.push(b+g*a,e,h),r.push(e,f,h);this.setIndex(r);this.addAttribute("position",new E(q,3));this.addAttribute("normal",
|
|
|
new E(n,3));this.addAttribute("uv",new E(u,2))}function Na(){B.call(this);this.type="Camera";this.matrixWorldInverse=new L;this.projectionMatrix=new L}function xa(a,b,c,d){Na.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 Gb(a,b,c,d,e,f){Na.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 Hf(a){var b={};return{get:function(a){a.isInterleavedBufferAttribute&&(a=a.data);return b[a.uuid]},remove:function(c){var d=b[c.uuid];d&&(a.deleteBuffer(d.buffer),delete b[c.uuid])},update:function(c,d){c.isInterleavedBufferAttribute&&(c=c.data);var e=b[c.uuid];if(void 0===e){var e=c.uuid,f=c,g=f.array,h=f.dynamic?a.DYNAMIC_DRAW:a.STATIC_DRAW,
|
|
|
k=a.createBuffer();a.bindBuffer(d,k);a.bufferData(d,g,h);f.onUploadCallback();h=a.FLOAT;g instanceof Float32Array?h=a.FLOAT:g instanceof Float64Array?console.warn("Unsupported data buffer format: Float64Array"):g instanceof Uint16Array?h=a.UNSIGNED_SHORT:g instanceof Int16Array?h=a.SHORT:g instanceof Uint32Array?h=a.UNSIGNED_INT:g instanceof Int32Array?h=a.INT:g instanceof Int8Array?h=a.BYTE:g instanceof Uint8Array&&(h=a.UNSIGNED_BYTE);b[e]={buffer:k,type:h,bytesPerElement:g.BYTES_PER_ELEMENT,version:f.version}}else e.version<
|
|
@@ -61,7 +61,7 @@ r.geometry=f,r.material=g,r.program=g.program,r.renderOrder=e.renderOrder,r.z=h,
|
|
|
function(a){d=a};this.setIndex=function(c){c.array instanceof Uint32Array&&b.get("OES_element_index_uint")?(e=a.UNSIGNED_INT,f=4):c.array instanceof Uint16Array?(e=a.UNSIGNED_SHORT,f=2):(e=a.UNSIGNED_BYTE,f=1)};this.render=function(b,h){a.drawElements(d,h,e,b*f);c.calls++;c.vertices+=h;d===a.TRIANGLES&&(c.faces+=h/3)};this.renderInstances=function(g,h,k){var m=b.get("ANGLE_instanced_arrays");null===m?console.error("THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays."):
|
|
|
(m.drawElementsInstancedANGLE(d,k,e,h*f,g.maxInstancedCount),c.calls++,c.vertices+=k*g.maxInstancedCount,d===a.TRIANGLES&&(c.faces+=g.maxInstancedCount*k/3))}}function Nf(a,b,c){var d;this.setMode=function(a){d=a};this.render=function(b,f){a.drawArrays(d,b,f);c.calls++;c.vertices+=f;d===a.TRIANGLES&&(c.faces+=f/3)};this.renderInstances=function(e,f,g){var h=b.get("ANGLE_instanced_arrays");if(null===h)console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");
|
|
|
else{var k=e.attributes.position;k.isInterleavedBufferAttribute?(g=k.data.count,h.drawArraysInstancedANGLE(d,0,g,e.maxInstancedCount)):h.drawArraysInstancedANGLE(d,f,g,e.maxInstancedCount);c.calls++;c.vertices+=g*e.maxInstancedCount;d===a.TRIANGLES&&(c.faces+=e.maxInstancedCount*g/3)}}}function Of(a,b,c){function d(a){a=a.target;var h=e[a.id];null!==h.index&&b.remove(h.index);for(var k in h.attributes)b.remove(h.attributes[k]);a.removeEventListener("dispose",d);delete e[a.id];if(k=f[a.id])b.remove(k),
|
|
|
-delete f[a.id];if(k=f[h.id])b.remove(k),delete f[h.id];c.geometries--}var e={},f={};return{get:function(a,b){var f=e[b.id];if(f)return f;b.addEventListener("dispose",d);b.isBufferGeometry?f=b:b.isGeometry&&(void 0===b._bufferGeometry&&(b._bufferGeometry=(new H).setFromObject(a)),f=b._bufferGeometry);e[b.id]=f;c.geometries++;return f},update:function(c){var d=c.index,e=c.attributes;null!==d&&b.update(d,a.ELEMENT_ARRAY_BUFFER);for(var f in e)b.update(e[f],a.ARRAY_BUFFER);c=c.morphAttributes;for(f in c)for(var d=
|
|
|
+delete f[a.id];if(k=f[h.id])b.remove(k),delete f[h.id];c.geometries--}var e={},f={};return{get:function(a,b){var f=e[b.id];if(f)return f;b.addEventListener("dispose",d);b.isBufferGeometry?f=b:b.isGeometry&&(void 0===b._bufferGeometry&&(b._bufferGeometry=(new I).setFromObject(a)),f=b._bufferGeometry);e[b.id]=f;c.geometries++;return f},update:function(c){var d=c.index,e=c.attributes;null!==d&&b.update(d,a.ELEMENT_ARRAY_BUFFER);for(var f in e)b.update(e[f],a.ARRAY_BUFFER);c=c.morphAttributes;for(f in c)for(var d=
|
|
|
c[f],e=0,r=d.length;e<r;e++)b.update(d[e],a.ARRAY_BUFFER)},getWireframeAttribute:function(c){var d=f[c.id];if(d)return d;var d=[],e=c.index,m=c.attributes;if(null!==e)for(var e=e.array,m=0,r=e.length;m<r;m+=3){var q=e[m+0],n=e[m+1],u=e[m+2];d.push(q,n,n,u,u,q)}else for(e=m.position.array,m=0,r=e.length/3-1;m<r;m+=3)q=m+0,n=m+1,u=m+2,d.push(q,n,n,u,u,q);d=new (65535<Pd(d)?ib:hb)(d,1);b.update(d,a.ELEMENT_ARRAY_BUFFER);return f[c.id]=d}}}function Pf(){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 p,color:new K,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new D};break;case "SpotLight":c={position:new p,direction:new p,color:new K,distance:0,coneCos:0,penumbraCos:0,decay:0,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new D};break;case "PointLight":c={position:new p,color:new K,distance:0,decay:0,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new D};break;case "HemisphereLight":c={direction:new p,skyColor:new K,
|
|
|
groundColor:new K};break;case "RectAreaLight":c={color:new K,position:new p,halfWidth:new p,halfHeight:new p}}return a[b.id]=c}}}function Qf(a,b,c){var d={};return{update:function(a){var f=c.frame,g=a.geometry,h=b.get(a,g);d[h.id]!==f&&(g.isGeometry&&h.updateFromObject(a),b.update(h),d[h.id]=f);return h},clear:function(){d={}}}}function Rf(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);
|
|
@@ -82,7 +82,7 @@ m=[f,"precision "+d.precision+" float;","precision "+d.precision+" int;","#defin
|
|
|
"uniform vec3 cameraPosition;",0!==d.toneMapping?"#define TONE_MAPPING":"",0!==d.toneMapping?S.tonemapping_pars_fragment:"",0!==d.toneMapping?Tf("toneMapping",d.toneMapping):"",d.outputEncoding||d.mapEncoding||d.envMapEncoding||d.emissiveMapEncoding?S.encodings_pars_fragment:"",d.mapEncoding?Rd("mapTexelToLinear",d.mapEncoding):"",d.envMapEncoding?Rd("envMapTexelToLinear",d.envMapEncoding):"",d.emissiveMapEncoding?Rd("emissiveMapTexelToLinear",d.emissiveMapEncoding):"",d.outputEncoding?Sf("linearToOutputTexel",
|
|
|
d.outputEncoding):"",d.depthPacking?"#define DEPTH_PACKING "+c.depthPacking:"","\n"].filter(wc).join("\n"));h=Sd(h,d);h=Me(h,d);k=Sd(k,d);k=Me(k,d);c.isShaderMaterial||(h=Ne(h),k=Ne(k));k=m+k;h=Ke(e,e.VERTEX_SHADER,g+h);k=Ke(e,e.FRAGMENT_SHADER,k);e.attachShader(t,h);e.attachShader(t,k);void 0!==c.index0AttributeName?e.bindAttribLocation(t,0,c.index0AttributeName):!0===d.morphTargets&&e.bindAttribLocation(t,0,"position");e.linkProgram(t);d=e.getProgramInfoLog(t);r=e.getShaderInfoLog(h);q=e.getShaderInfoLog(k);
|
|
|
u=n=!0;if(!1===e.getProgramParameter(t,e.LINK_STATUS))n=!1,console.error("THREE.WebGLProgram: shader error: ",e.getError(),"gl.VALIDATE_STATUS",e.getProgramParameter(t,e.VALIDATE_STATUS),"gl.getProgramInfoLog",d,r,q);else if(""!==d)console.warn("THREE.WebGLProgram: gl.getProgramInfoLog()",d);else if(""===r||""===q)u=!1;u&&(this.diagnostics={runnable:n,material:c,programLog:d,vertexShader:{log:r,prefix:g},fragmentShader:{log:q,prefix:m}});e.deleteShader(h);e.deleteShader(k);var p;this.getUniforms=
|
|
|
-function(){void 0===p&&(p=new eb(e,t,a));return p};var x;this.getAttributes=function(){if(void 0===x){for(var a={},b=e.getProgramParameter(t,e.ACTIVE_ATTRIBUTES),c=0;c<b;c++){var d=e.getActiveAttrib(t,c).name;a[d]=e.getAttribLocation(t,d)}x=a}return x};this.destroy=function(){e.deleteProgram(t);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().");
|
|
|
+function(){void 0===p&&(p=new eb(e,t,a));return p};var y;this.getAttributes=function(){if(void 0===y){for(var a={},b=e.getProgramParameter(t,e.ACTIVE_ATTRIBUTES),c=0;c<b;c++){var d=e.getActiveAttrib(t,c).name;a[d]=e.getAttribLocation(t,d)}y=a}return y};this.destroy=function(){e.deleteProgram(t);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=Xf++;this.code=b;this.usedTimes=1;this.program=t;this.vertexShader=h;this.fragmentShader=k;return this}function Yf(a,b){function c(a,b){var c;a?a.isTexture?c=a.encoding: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",MeshToonMaterial:"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 gradientMap alphaMap combine vertexColors fog useFog fogExp flatShading sizeAttenuation logarithmicDepthBuffer skinning maxBones useVertexTexture morphTargets morphNormals maxMorphTargets maxMorphNormals premultipliedAlpha numDirLights numPointLights numSpotLights numHemiLights numRectAreaLights shadowMapEnabled shadowMapType toneMapping physicallyCorrectLights alphaTest doubleSided flipSided numClippingPlanes numClipIntersection depthPacking".split(" ");
|
|
|
this.getParameters=function(d,f,k,m,r,q){var n=e[d.type],u;if(q.isSkinnedMesh)if(u=q.skeleton.bones,b.floatVertexTextures)u=1024;else{var l=Math.min(Math.floor((b.maxVertexUniforms-20)/4),u.length);l<u.length?(console.warn("THREE.WebGLRenderer: Skeleton has "+u.length+" bones. This GPU supports "+l+"."),u=0):u=l}else u=0;l=a.getPrecision();null!==d.precision&&(l=b.getMaxPrecision(d.precision),l!==d.precision&&console.warn("THREE.WebGLProgram.getParameters:",d.precision,"not supported, using",l,"instead."));
|
|
@@ -95,180 +95,180 @@ a.width+"x"+a.height+"). Resized to "+d.width+"x"+d.height,a);return d}return a}
|
|
|
b.removeEventListener("dispose",q);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.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.remove(b.texture);d.remove(b)}g.textures--}function n(b,
|
|
|
m){var n=d.get(b);if(0<b.version&&n.__version!==b.version){var q=b.image;if(void 0===q)console.warn("THREE.WebGLRenderer: Texture marked for update but image is undefined",b);else if(!1===q.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(),g.textures++);c.activeTexture(a.TEXTURE0+m);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 l=h(b.image,e.maxTextureSize);if((1001!==b.wrapS||1001!==b.wrapT||1003!==b.minFilter&&1006!==b.minFilter)&&!1===k(l))if(q=l,q instanceof HTMLImageElement||q instanceof HTMLCanvasElement){var t=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");t.width=X.nearestPowerOfTwo(q.width);t.height=X.nearestPowerOfTwo(q.height);t.getContext("2d").drawImage(q,0,0,
|
|
|
-t.width,t.height);console.warn("THREE.WebGLRenderer: image is not power of two ("+q.width+"x"+q.height+"). Resized to "+t.width+"x"+t.height,q);l=t}else l=q;var q=k(l),t=f(b.format),y=f(b.type);u(a.TEXTURE_2D,b,q);var G=b.mipmaps;if(b.isDepthTexture){G=a.DEPTH_COMPONENT;if(1015===b.type){if(!p)throw Error("Float Depth Texture only supported in WebGL2.0");G=a.DEPTH_COMPONENT32F}else p&&(G=a.DEPTH_COMPONENT16);1026===b.format&&G===a.DEPTH_COMPONENT&&1012!==b.type&&1014!==b.type&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),
|
|
|
-b.type=1012,y=f(b.type));1027===b.format&&(G=a.DEPTH_STENCIL,1020!==b.type&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),b.type=1020,y=f(b.type)));c.texImage2D(a.TEXTURE_2D,0,G,l.width,l.height,0,t,y,null)}else if(b.isDataTexture)if(0<G.length&&q){for(var Z=0,aa=G.length;Z<aa;Z++)l=G[Z],c.texImage2D(a.TEXTURE_2D,Z,t,l.width,l.height,0,t,y,l.data);b.generateMipmaps=!1}else c.texImage2D(a.TEXTURE_2D,0,t,l.width,l.height,0,t,y,l.data);else if(b.isCompressedTexture)for(Z=
|
|
|
-0,aa=G.length;Z<aa;Z++)l=G[Z],1023!==b.format&&1022!==b.format?-1<c.getCompressedTextureFormats().indexOf(t)?c.compressedTexImage2D(a.TEXTURE_2D,Z,t,l.width,l.height,0,l.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):c.texImage2D(a.TEXTURE_2D,Z,t,l.width,l.height,0,t,y,l.data);else if(0<G.length&&q){Z=0;for(aa=G.length;Z<aa;Z++)l=G[Z],c.texImage2D(a.TEXTURE_2D,Z,t,t,y,l);b.generateMipmaps=!1}else c.texImage2D(a.TEXTURE_2D,0,t,t,
|
|
|
-y,l);b.generateMipmaps&&q&&a.generateMipmap(a.TEXTURE_2D);n.__version=b.version;if(b.onUpdate)b.onUpdate(b);return}}c.activeTexture(a.TEXTURE0+m);c.bindTexture(a.TEXTURE_2D,n.__webglTexture)}function u(c,g,h){h?(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,
|
|
|
+t.width,t.height);console.warn("THREE.WebGLRenderer: image is not power of two ("+q.width+"x"+q.height+"). Resized to "+t.width+"x"+t.height,q);l=t}else l=q;var q=k(l),t=f(b.format),x=f(b.type);u(a.TEXTURE_2D,b,q);var H=b.mipmaps;if(b.isDepthTexture){H=a.DEPTH_COMPONENT;if(1015===b.type){if(!p)throw Error("Float Depth Texture only supported in WebGL2.0");H=a.DEPTH_COMPONENT32F}else p&&(H=a.DEPTH_COMPONENT16);1026===b.format&&H===a.DEPTH_COMPONENT&&1012!==b.type&&1014!==b.type&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),
|
|
|
+b.type=1012,x=f(b.type));1027===b.format&&(H=a.DEPTH_STENCIL,1020!==b.type&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),b.type=1020,x=f(b.type)));c.texImage2D(a.TEXTURE_2D,0,H,l.width,l.height,0,t,x,null)}else if(b.isDataTexture)if(0<H.length&&q){for(var Z=0,aa=H.length;Z<aa;Z++)l=H[Z],c.texImage2D(a.TEXTURE_2D,Z,t,l.width,l.height,0,t,x,l.data);b.generateMipmaps=!1}else c.texImage2D(a.TEXTURE_2D,0,t,l.width,l.height,0,t,x,l.data);else if(b.isCompressedTexture)for(Z=
|
|
|
+0,aa=H.length;Z<aa;Z++)l=H[Z],1023!==b.format&&1022!==b.format?-1<c.getCompressedTextureFormats().indexOf(t)?c.compressedTexImage2D(a.TEXTURE_2D,Z,t,l.width,l.height,0,l.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):c.texImage2D(a.TEXTURE_2D,Z,t,l.width,l.height,0,t,x,l.data);else if(0<H.length&&q){Z=0;for(aa=H.length;Z<aa;Z++)l=H[Z],c.texImage2D(a.TEXTURE_2D,Z,t,t,x,l);b.generateMipmaps=!1}else c.texImage2D(a.TEXTURE_2D,0,t,t,
|
|
|
+x,l);b.generateMipmaps&&q&&a.generateMipmap(a.TEXTURE_2D);n.__version=b.version;if(b.onUpdate)b.onUpdate(b);return}}c.activeTexture(a.TEXTURE0+m);c.bindTexture(a.TEXTURE_2D,n.__webglTexture)}function u(c,g,h){h?(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&&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));!(h=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,h.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(g.anisotropy,e.getMaxAnisotropy())),d.get(g).__currentAnisotropy=g.anisotropy)}function l(b,e,g,h){var k=f(e.texture.format),m=f(e.texture.type);c.texImage2D(h,0,k,e.width,e.height,0,k,m,null);a.bindFramebuffer(a.FRAMEBUFFER,b);a.framebufferTexture2D(a.FRAMEBUFFER,g,h,d.get(e.texture).__webglTexture,
|
|
|
0);a.bindFramebuffer(a.FRAMEBUFFER,null)}function t(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 p="undefined"!==typeof WebGL2RenderingContext&&a instanceof WebGL2RenderingContext;this.setTexture2D=n;this.setTextureCube=function(b,m){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(),g.textures++);c.activeTexture(a.TEXTURE0+m);c.bindTexture(a.TEXTURE_CUBE_MAP,n.__image__webglTextureCube);a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,
|
|
|
-b.flipY);for(var q=b&&b.isCompressedTexture,l=b.image[0]&&b.image[0].isDataTexture,t=[],y=0;6>y;y++)t[y]=q||l?l?b.image[y].image:b.image[y]:h(b.image[y],e.maxCubemapSize);var p=k(t[0]),z=f(b.format),aa=f(b.type);u(a.TEXTURE_CUBE_MAP,b,p);for(y=0;6>y;y++)if(q)for(var ua,I=t[y].mipmaps,D=0,B=I.length;D<B;D++)ua=I[D],1023!==b.format&&1022!==b.format?-1<c.getCompressedTextureFormats().indexOf(z)?c.compressedTexImage2D(a.TEXTURE_CUBE_MAP_POSITIVE_X+y,D,z,ua.width,ua.height,0,ua.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):
|
|
|
-c.texImage2D(a.TEXTURE_CUBE_MAP_POSITIVE_X+y,D,z,ua.width,ua.height,0,z,aa,ua.data);else l?c.texImage2D(a.TEXTURE_CUBE_MAP_POSITIVE_X+y,0,z,t[y].width,t[y].height,0,z,aa,t[y].data):c.texImage2D(a.TEXTURE_CUBE_MAP_POSITIVE_X+y,0,z,z,aa,t[y]);b.generateMipmaps&&p&&a.generateMipmap(a.TEXTURE_CUBE_MAP);n.__version=b.version;if(b.onUpdate)b.onUpdate(b)}else c.activeTexture(a.TEXTURE0+m),c.bindTexture(a.TEXTURE_CUBE_MAP,n.__image__webglTextureCube)};this.setTextureCubeDynamic=function(b,e){c.activeTexture(a.TEXTURE0+
|
|
|
+b.flipY);for(var q=b&&b.isCompressedTexture,l=b.image[0]&&b.image[0].isDataTexture,t=[],x=0;6>x;x++)t[x]=q||l?l?b.image[x].image:b.image[x]:h(b.image[x],e.maxCubemapSize);var p=k(t[0]),z=f(b.format),aa=f(b.type);u(a.TEXTURE_CUBE_MAP,b,p);for(x=0;6>x;x++)if(q)for(var ua,J=t[x].mipmaps,D=0,B=J.length;D<B;D++)ua=J[D],1023!==b.format&&1022!==b.format?-1<c.getCompressedTextureFormats().indexOf(z)?c.compressedTexImage2D(a.TEXTURE_CUBE_MAP_POSITIVE_X+x,D,z,ua.width,ua.height,0,ua.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):
|
|
|
+c.texImage2D(a.TEXTURE_CUBE_MAP_POSITIVE_X+x,D,z,ua.width,ua.height,0,z,aa,ua.data);else l?c.texImage2D(a.TEXTURE_CUBE_MAP_POSITIVE_X+x,0,z,t[x].width,t[x].height,0,z,aa,t[x].data):c.texImage2D(a.TEXTURE_CUBE_MAP_POSITIVE_X+x,0,z,z,aa,t[x]);b.generateMipmaps&&p&&a.generateMipmap(a.TEXTURE_CUBE_MAP);n.__version=b.version;if(b.onUpdate)b.onUpdate(b)}else c.activeTexture(a.TEXTURE0+m),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",q);f.__webglTexture=a.createTexture();g.textures++;var h=!0===b.isWebGLRenderTargetCube,m=k(b);if(h){e.__webglFramebuffer=[];for(var r=0;6>r;r++)e.__webglFramebuffer[r]=a.createFramebuffer()}else e.__webglFramebuffer=a.createFramebuffer();if(h){c.bindTexture(a.TEXTURE_CUBE_MAP,f.__webglTexture);u(a.TEXTURE_CUBE_MAP,b.texture,m);for(r=0;6>r;r++)l(e.__webglFramebuffer[r],
|
|
|
b,a.COLOR_ATTACHMENT0,a.TEXTURE_CUBE_MAP_POSITIVE_X+r);b.texture.generateMipmaps&&m&&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,m),l(e.__webglFramebuffer,b,a.COLOR_ATTACHMENT0,a.TEXTURE_2D),b.texture.generateMipmaps&&m&&a.generateMipmap(a.TEXTURE_2D),c.bindTexture(a.TEXTURE_2D,null);if(b.depthBuffer){e=d.get(b);f=!0===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,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(),t(e.__webglDepthbuffer[f],
|
|
|
b);else a.bindFramebuffer(a.FRAMEBUFFER,e.__webglFramebuffer),e.__webglDepthbuffer=a.createRenderbuffer(),t(e.__webglDepthbuffer,b);a.bindFramebuffer(a.FRAMEBUFFER,null)}};this.updateRenderTargetMipmap=function(b){var e=b.texture;e.generateMipmaps&&k(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 $f(){var a={};return{get:function(b){b=b.uuid;
|
|
|
-var c=a[b];void 0===c&&(c={},a[b]=c);return c},remove:function(b){delete a[b.uuid]},clear:function(){a={}}}}function ag(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!==v[b]&&(a.enable(b),v[b]=!0)}function f(b){!1!==v[b]&&(a.disable(b),v[b]=!1)}function g(b,d,
|
|
|
-g,h,k,m,r,n){0!==b?e(a.BLEND):f(a.BLEND);if(b!==w||n!==D)2===b?n?(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?n?(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?n?(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)):n?(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)),w=b,D=n;if(5===b){k=k||d;m=m||g;r=r||h;if(d!==N||k!==G)a.blendEquationSeparate(c(d),c(k)),N=d,G=k;if(g!==C||h!==F||m!==Z||r!==aa)a.blendFuncSeparate(c(g),
|
|
|
-c(h),c(m),c(r)),C=g,F=h,Z=m,aa=r}else aa=Z=G=F=C=N=null}function h(b){I!==b&&(b?a.frontFace(a.CW):a.frontFace(a.CCW),I=b)}function k(b){0!==b?(e(a.CULL_FACE),b!==B&&(1===b?a.cullFace(a.BACK):2===b?a.cullFace(a.FRONT):a.cullFace(a.FRONT_AND_BACK))):f(a.CULL_FACE);B=b}function m(b,c,d){if(b){if(e(a.POLYGON_OFFSET_FILL),H!==c||Q!==d)a.polygonOffset(c,d),H=c,Q=d}else f(a.POLYGON_OFFSET_FILL)}function r(b){void 0===b&&(b=a.TEXTURE0+W-1);V!==b&&(a.activeTexture(b),V=b)}var q=new function(){var b=!1,c=new ga,
|
|
|
+var c=a[b];void 0===c&&(c={},a[b]=c);return c},remove:function(b){delete a[b.uuid]},clear:function(){a={}}}}function ag(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!==w[b]&&(a.enable(b),w[b]=!0)}function f(b){!1!==w[b]&&(a.disable(b),w[b]=!1)}function g(b,d,
|
|
|
+g,h,k,m,r,n){0!==b?e(a.BLEND):f(a.BLEND);if(b!==v||n!==D)2===b?n?(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?n?(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?n?(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)):n?(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)),v=b,D=n;if(5===b){k=k||d;m=m||g;r=r||h;if(d!==O||k!==H)a.blendEquationSeparate(c(d),c(k)),O=d,H=k;if(g!==C||h!==F||m!==Z||r!==aa)a.blendFuncSeparate(c(g),
|
|
|
+c(h),c(m),c(r)),C=g,F=h,Z=m,aa=r}else aa=Z=H=F=C=O=null}function h(b){J!==b&&(b?a.frontFace(a.CW):a.frontFace(a.CCW),J=b)}function k(b){0!==b?(e(a.CULL_FACE),b!==B&&(1===b?a.cullFace(a.BACK):2===b?a.cullFace(a.FRONT):a.cullFace(a.FRONT_AND_BACK))):f(a.CULL_FACE);B=b}function m(b,c,d){if(b){if(e(a.POLYGON_OFFSET_FILL),I!==c||Q!==d)a.polygonOffset(c,d),I=c,Q=d}else f(a.POLYGON_OFFSET_FILL)}function r(b){void 0===b&&(b=a.TEXTURE0+W-1);V!==b&&(a.activeTexture(b),V=b)}var q=new function(){var b=!1,c=new ga,
|
|
|
d=null,e=new ga;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,h){!0===h&&(b*=g,d*=g,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)}}},n=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}}},u=new function(){var b=!1,c=null,d=null,g=null,h=null,k=null,m=null,r=null,
|
|
|
-n=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||h!==e)a.stencilFunc(b,c,e),d=b,g=c,h=e},setOp:function(b,c,d){if(k!==b||m!==c||r!==d)a.stencilOp(b,c,d),k=b,m=c,r=d},setLocked:function(a){b=a},setClear:function(b){n!==b&&(a.clearStencil(b),n=b)},reset:function(){b=!1;n=r=m=k=h=g=d=c=null}}},l=a.getParameter(a.MAX_VERTEX_ATTRIBS),t=new Uint8Array(l),p=new Uint8Array(l),x=new Uint8Array(l),
|
|
|
-v={},J=null,w=null,N=null,C=null,F=null,G=null,Z=null,aa=null,D=!1,I=null,B=null,E=null,H=null,Q=null,O=null,W=a.getParameter(a.MAX_TEXTURE_IMAGE_UNITS),l=parseFloat(/^WebGL\ ([0-9])/.exec(a.getParameter(a.VERSION))[1]),ka=1<=parseFloat(l),V=null,R={},K=new ga,L=new ga,P={};P[a.TEXTURE_2D]=d(a.TEXTURE_2D,a.TEXTURE_2D,1);P[a.TEXTURE_CUBE_MAP]=d(a.TEXTURE_CUBE_MAP,a.TEXTURE_CUBE_MAP_POSITIVE_X,6);return{buffers:{color:q,depth:n,stencil:u},init:function(){q.setClear(0,0,0,1);n.setClear(1);u.setClear(0);
|
|
|
-e(a.DEPTH_TEST);n.setFunc(3);h(!1);k(1);e(a.CULL_FACE);e(a.BLEND);g(1)},initAttributes:function(){for(var a=0,b=t.length;a<b;a++)t[a]=0},enableAttribute:function(c){t[c]=1;0===p[c]&&(a.enableVertexAttribArray(c),p[c]=1);0!==x[c]&&(b.get("ANGLE_instanced_arrays").vertexAttribDivisorANGLE(c,0),x[c]=0)},enableAttributeAndDivisor:function(b,c,d){t[b]=1;0===p[b]&&(a.enableVertexAttribArray(b),p[b]=1);x[b]!==c&&(d.vertexAttribDivisorANGLE(b,c),x[b]=c)},disableUnusedAttributes:function(){for(var b=0,c=p.length;b!==
|
|
|
-c;++b)p[b]!==t[b]&&(a.disableVertexAttribArray(b),p[b]=0)},enable:e,disable:f,getCompressedTextureFormats:function(){if(null===J&&(J=[],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++)J.push(c[d]);return J},setBlending:g,setMaterial:function(b){2===b.side?f(a.CULL_FACE):e(a.CULL_FACE);h(1===b.side);!0===b.transparent?g(b.blending,b.blendEquation,b.blendSrc,
|
|
|
-b.blendDst,b.blendEquationAlpha,b.blendSrcAlpha,b.blendDstAlpha,b.premultipliedAlpha):g(0);n.setFunc(b.depthFunc);n.setTest(b.depthTest);n.setMask(b.depthWrite);q.setMask(b.colorWrite);m(b.polygonOffset,b.polygonOffsetFactor,b.polygonOffsetUnits)},setFlipSided:h,setCullFace:k,setLineWidth:function(b){b!==E&&(ka&&a.lineWidth(b),E=b)},setPolygonOffset:m,getScissorTest:function(){return O},setScissorTest:function(b){(O=b)?e(a.SCISSOR_TEST):f(a.SCISSOR_TEST)},activeTexture:r,bindTexture:function(b,c){null===
|
|
|
-V&&r();var d=R[V];void 0===d&&(d={type:void 0,texture:void 0},R[V]=d);if(d.type!==b||d.texture!==c)a.bindTexture(b,c||P[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)}},scissor:function(b){!1===K.equals(b)&&(a.scissor(b.x,b.y,b.z,b.w),K.copy(b))},viewport:function(b){!1===L.equals(b)&&(a.viewport(b.x,b.y,b.z,b.w),L.copy(b))},reset:function(){for(var b=
|
|
|
-0;b<p.length;b++)1===p[b]&&(a.disableVertexAttribArray(b),p[b]=0);v={};V=J=null;R={};B=I=w=null;q.reset();n.reset();u.reset()}}}function bg(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),h=a.getParameter(a.MAX_VERTEX_TEXTURE_IMAGE_UNITS),k=a.getParameter(a.MAX_TEXTURE_SIZE),m=a.getParameter(a.MAX_CUBE_MAP_TEXTURE_SIZE),r=a.getParameter(a.MAX_VERTEX_ATTRIBS),q=a.getParameter(a.MAX_VERTEX_UNIFORM_VECTORS),n=a.getParameter(a.MAX_VARYING_VECTORS),
|
|
|
-u=a.getParameter(a.MAX_FRAGMENT_UNIFORM_VECTORS),l=0<h,t=!!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:h,maxTextureSize:k,maxCubemapSize:m,maxAttributes:r,maxVertexUniforms:q,maxVaryings:n,maxFragmentUniforms:u,vertexTextures:l,floatFragmentTextures:t,floatVertexTextures:l&&
|
|
|
-t}}function cg(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 dg(){function a(){m.value!==d&&(m.value=d,m.needsUpdate=0<e);c.numPlanes=e;c.numIntersection=0}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;k.getNormalMatrix(b);if(null===g||g.length<e)g=new Float32Array(e);for(e=0;e!==f;++e,d+=4)h.copy(a[e]).applyMatrix4(b,k),h.normal.toArray(g,d),g[d+3]=h.constant}m.value=g;m.needsUpdate=!0}c.numPlanes=f;return g}var c=this,d=null,e=0,f=!1,g=!1,h=new va,k=new Fa,
|
|
|
-m={value:null,needsUpdate:!1};this.uniform=m;this.numIntersection=this.numPlanes=0;this.init=function(a,c,g){var h=0!==a.length||c||0!==e||f;f=c;d=b(a,g,0);e=a.length;return h};this.beginShadows=function(){g=!0;b(null)};this.endShadows=function(){g=!1;a()};this.setState=function(c,h,k,l,y,t){if(!f||null===c||0===c.length||g&&!k)g?b(null):a();else{k=g?0:e;var p=4*k,x=y.clippingState||null;m.value=x;x=b(c,l,p,t);for(c=0;c!==p;++c)x[c]=d[c];y.clippingState=x;this.numIntersection=h?this.numPlanes:0;this.numPlanes+=
|
|
|
-k}}}function Vd(a){function b(){ea.init();ea.scissor(ka.copy(ca).multiplyScalar(M));ea.viewport(R.copy(ha).multiplyScalar(M));ea.buffers.color.setClear(Ia.r,Ia.g,Ia.b,U,N)}function c(){W=B=null;O="";Q=-1;ea.reset()}function d(a){a.preventDefault();c();b();fa.clear();va.clear()}function e(a){a=a.target;a.removeEventListener("dispose",e);f(a);fa.remove(a)}function f(a){var b=fa.get(a).program;a.program=void 0;void 0!==b&&Aa.releaseProgram(b)}function g(a,b,c){a.render(function(a){I.renderBufferImmediate(a,
|
|
|
-b,c)})}function h(a,b){return Math.abs(b[0])-Math.abs(a[0])}function k(a,b,c){if(a.visible){if(a.layers.test(b.layers))if(a.isLight)F.push(a);else if(a.isSprite)a.frustumCulled&&!Td.intersectsSprite(a)||aa.push(a);else if(a.isLensFlare)D.push(a);else if(a.isImmediateRenderObject)c&&Oa.setFromMatrixPosition(a.matrixWorld).applyMatrix4(hd),G.push(a,null,a.material,Oa.z,null);else if(a.isMesh||a.isLine||a.isPoints)if(a.isSkinnedMesh&&a.skeleton.update(),!a.frustumCulled||Td.intersectsObject(a)){c&&Oa.setFromMatrixPosition(a.matrixWorld).applyMatrix4(hd);
|
|
|
-var d=va.update(a),e=a.material;if(Array.isArray(e))for(var f=d.groups,g=0,h=f.length;g<h;g++){var m=f[g],r=e[m.materialIndex];r&&r.visible&&G.push(a,d,r,Oa.z,m)}else e.visible&&G.push(a,d,e,Oa.z,null)}a=a.children;g=0;for(h=a.length;g<h;g++)k(a[g],b,c)}}function m(a,b,c,d){for(var e=0,f=a.length;e<f;e++){var g=a[e],h=g.object,k=g.geometry,m=void 0===d?g.material:d,g=g.group;h.onBeforeRender(I,b,c,k,m,g);if(c.isArrayCamera&&c.enabled)for(var n=c.cameras,q=0,l=n.length;q<l;q++){var u=n[q],t=u.bounds;
|
|
|
-I.setViewport(t.x*S*M,t.y*ba*M,t.z*S*M,t.w*ba*M);I.setScissor(t.x*S*M,t.y*ba*M,t.z*S*M,t.w*ba*M);I.setScissorTest(!0);r(h,b,u,k,m,g)}else r(h,b,c,k,m,g);h.onAfterRender(I,b,c,k,m,g)}}function r(a,b,c,d,e,f){a.modelViewMatrix.multiplyMatrices(c.matrixWorldInverse,a.matrixWorld);a.normalMatrix.getNormalMatrix(a.modelViewMatrix);a.isImmediateRenderObject?(ea.setMaterial(e),b=q(c,b.fog,e,a),O="",g(a,b,e)):I.renderBufferDirect(c,b.fog,d,e,a,f)}function q(a,b,c,d){Y=0;var g=fa.get(c);oa&&(Ud||a!==W)&&Pa.setState(c.clippingPlanes,
|
|
|
+n=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||h!==e)a.stencilFunc(b,c,e),d=b,g=c,h=e},setOp:function(b,c,d){if(k!==b||m!==c||r!==d)a.stencilOp(b,c,d),k=b,m=c,r=d},setLocked:function(a){b=a},setClear:function(b){n!==b&&(a.clearStencil(b),n=b)},reset:function(){b=!1;n=r=m=k=h=g=d=c=null}}},l=a.getParameter(a.MAX_VERTEX_ATTRIBS),t=new Uint8Array(l),p=new Uint8Array(l),y=new Uint8Array(l),
|
|
|
+w={},G=null,v=null,O=null,C=null,F=null,H=null,Z=null,aa=null,D=!1,J=null,B=null,E=null,I=null,Q=null,N=null,W=a.getParameter(a.MAX_TEXTURE_IMAGE_UNITS),l=parseFloat(/^WebGL\ ([0-9])/.exec(a.getParameter(a.VERSION))[1]),ka=1<=parseFloat(l),V=null,R={},K=new ga,L=new ga,P={};P[a.TEXTURE_2D]=d(a.TEXTURE_2D,a.TEXTURE_2D,1);P[a.TEXTURE_CUBE_MAP]=d(a.TEXTURE_CUBE_MAP,a.TEXTURE_CUBE_MAP_POSITIVE_X,6);return{buffers:{color:q,depth:n,stencil:u},init:function(){q.setClear(0,0,0,1);n.setClear(1);u.setClear(0);
|
|
|
+e(a.DEPTH_TEST);n.setFunc(3);h(!1);k(1);e(a.CULL_FACE);e(a.BLEND);g(1)},initAttributes:function(){for(var a=0,b=t.length;a<b;a++)t[a]=0},enableAttribute:function(c){t[c]=1;0===p[c]&&(a.enableVertexAttribArray(c),p[c]=1);0!==y[c]&&(b.get("ANGLE_instanced_arrays").vertexAttribDivisorANGLE(c,0),y[c]=0)},enableAttributeAndDivisor:function(c,d){t[c]=1;0===p[c]&&(a.enableVertexAttribArray(c),p[c]=1);y[c]!==d&&(b.get("ANGLE_instanced_arrays").vertexAttribDivisorANGLE(c,d),y[c]=d)},disableUnusedAttributes:function(){for(var b=
|
|
|
+0,c=p.length;b!==c;++b)p[b]!==t[b]&&(a.disableVertexAttribArray(b),p[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,setMaterial:function(b){2===b.side?f(a.CULL_FACE):e(a.CULL_FACE);h(1===b.side);!0===b.transparent?g(b.blending,b.blendEquation,
|
|
|
+b.blendSrc,b.blendDst,b.blendEquationAlpha,b.blendSrcAlpha,b.blendDstAlpha,b.premultipliedAlpha):g(0);n.setFunc(b.depthFunc);n.setTest(b.depthTest);n.setMask(b.depthWrite);q.setMask(b.colorWrite);m(b.polygonOffset,b.polygonOffsetFactor,b.polygonOffsetUnits)},setFlipSided:h,setCullFace:k,setLineWidth:function(b){b!==E&&(ka&&a.lineWidth(b),E=b)},setPolygonOffset:m,getScissorTest:function(){return N},setScissorTest:function(b){(N=b)?e(a.SCISSOR_TEST):f(a.SCISSOR_TEST)},activeTexture:r,bindTexture:function(b,
|
|
|
+c){null===V&&r();var d=R[V];void 0===d&&(d={type:void 0,texture:void 0},R[V]=d);if(d.type!==b||d.texture!==c)a.bindTexture(b,c||P[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)}},scissor:function(b){!1===K.equals(b)&&(a.scissor(b.x,b.y,b.z,b.w),K.copy(b))},viewport:function(b){!1===L.equals(b)&&(a.viewport(b.x,b.y,b.z,b.w),L.copy(b))},
|
|
|
+reset:function(){for(var b=0;b<p.length;b++)1===p[b]&&(a.disableVertexAttribArray(b),p[b]=0);w={};V=G=null;R={};B=J=v=null;q.reset();n.reset();u.reset()}}}function bg(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),h=a.getParameter(a.MAX_VERTEX_TEXTURE_IMAGE_UNITS),k=a.getParameter(a.MAX_TEXTURE_SIZE),m=a.getParameter(a.MAX_CUBE_MAP_TEXTURE_SIZE),r=a.getParameter(a.MAX_VERTEX_ATTRIBS),q=a.getParameter(a.MAX_VERTEX_UNIFORM_VECTORS),
|
|
|
+n=a.getParameter(a.MAX_VARYING_VECTORS),u=a.getParameter(a.MAX_FRAGMENT_UNIFORM_VECTORS),l=0<h,t=!!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:h,maxTextureSize:k,maxCubemapSize:m,maxAttributes:r,maxVertexUniforms:q,maxVaryings:n,maxFragmentUniforms:u,vertexTextures:l,
|
|
|
+floatFragmentTextures:t,floatVertexTextures:l&&t}}function cg(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 dg(){function a(){m.value!==d&&(m.value=d,m.needsUpdate=0<e);c.numPlanes=e;c.numIntersection=0}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;k.getNormalMatrix(b);if(null===g||g.length<e)g=new Float32Array(e);for(e=0;e!==f;++e,d+=4)h.copy(a[e]).applyMatrix4(b,k),h.normal.toArray(g,d),g[d+3]=h.constant}m.value=g;m.needsUpdate=!0}c.numPlanes=f;return g}var c=this,d=null,
|
|
|
+e=0,f=!1,g=!1,h=new va,k=new Fa,m={value:null,needsUpdate:!1};this.uniform=m;this.numIntersection=this.numPlanes=0;this.init=function(a,c,g){var h=0!==a.length||c||0!==e||f;f=c;d=b(a,g,0);e=a.length;return h};this.beginShadows=function(){g=!0;b(null)};this.endShadows=function(){g=!1;a()};this.setState=function(c,h,k,l,x,t){if(!f||null===c||0===c.length||g&&!k)g?b(null):a();else{k=g?0:e;var p=4*k,y=x.clippingState||null;m.value=y;y=b(c,l,p,t);for(c=0;c!==p;++c)y[c]=d[c];x.clippingState=y;this.numIntersection=
|
|
|
+h?this.numPlanes:0;this.numPlanes+=k}}}function Vd(a){function b(){ea.init();ea.scissor(ka.copy(ca).multiplyScalar(M));ea.viewport(R.copy(ha).multiplyScalar(M));ea.buffers.color.setClear(Ia.r,Ia.g,Ia.b,U,O)}function c(){W=B=null;N="";Q=-1;ea.reset()}function d(a){a.preventDefault();c();b();fa.clear();va.clear()}function e(a){a=a.target;a.removeEventListener("dispose",e);f(a);fa.remove(a)}function f(a){var b=fa.get(a).program;a.program=void 0;void 0!==b&&Aa.releaseProgram(b)}function g(a,b,c){a.render(function(a){J.renderBufferImmediate(a,
|
|
|
+b,c)})}function h(a,b){return Math.abs(b[0])-Math.abs(a[0])}function k(a,b,c){if(a.visible){if(a.layers.test(b.layers))if(a.isLight)F.push(a);else if(a.isSprite)a.frustumCulled&&!Td.intersectsSprite(a)||aa.push(a);else if(a.isLensFlare)D.push(a);else if(a.isImmediateRenderObject)c&&Oa.setFromMatrixPosition(a.matrixWorld).applyMatrix4(hd),H.push(a,null,a.material,Oa.z,null);else if(a.isMesh||a.isLine||a.isPoints)if(a.isSkinnedMesh&&a.skeleton.update(),!a.frustumCulled||Td.intersectsObject(a)){c&&Oa.setFromMatrixPosition(a.matrixWorld).applyMatrix4(hd);
|
|
|
+var d=va.update(a),e=a.material;if(Array.isArray(e))for(var f=d.groups,g=0,h=f.length;g<h;g++){var m=f[g],r=e[m.materialIndex];r&&r.visible&&H.push(a,d,r,Oa.z,m)}else e.visible&&H.push(a,d,e,Oa.z,null)}a=a.children;g=0;for(h=a.length;g<h;g++)k(a[g],b,c)}}function m(a,b,c,d){for(var e=0,f=a.length;e<f;e++){var g=a[e],h=g.object,k=g.geometry,m=void 0===d?g.material:d,g=g.group;h.onBeforeRender(J,b,c,k,m,g);if(c.isArrayCamera&&c.enabled)for(var n=c.cameras,q=0,l=n.length;q<l;q++){var u=n[q],t=u.bounds;
|
|
|
+J.setViewport(t.x*S*M,t.y*ba*M,t.z*S*M,t.w*ba*M);J.setScissor(t.x*S*M,t.y*ba*M,t.z*S*M,t.w*ba*M);J.setScissorTest(!0);r(h,b,u,k,m,g)}else r(h,b,c,k,m,g);h.onAfterRender(J,b,c,k,m,g)}}function r(a,b,c,d,e,f){a.modelViewMatrix.multiplyMatrices(c.matrixWorldInverse,a.matrixWorld);a.normalMatrix.getNormalMatrix(a.modelViewMatrix);a.isImmediateRenderObject?(ea.setMaterial(e),b=q(c,b.fog,e,a),N="",g(a,b,e)):J.renderBufferDirect(c,b.fog,d,e,a,f)}function q(a,b,c,d){Y=0;var g=fa.get(c);oa&&(Ud||a!==W)&&Pa.setState(c.clippingPlanes,
|
|
|
c.clipIntersection,c.clipShadows,a,g,a===W&&c.id===Q);!1===c.needsUpdate&&(void 0===g.program?c.needsUpdate=!0:c.fog&&g.fog!==b?c.needsUpdate=!0:c.lights&&g.lightsHash!==da.hash?c.needsUpdate=!0:void 0===g.numClippingPlanes||g.numClippingPlanes===Pa.numPlanes&&g.numIntersection===Pa.numIntersection||(c.needsUpdate=!0));if(c.needsUpdate){a:{var h=fa.get(c),k=Aa.getParameters(c,da,b,Pa.numPlanes,Pa.numIntersection,d),m=Aa.getProgramCode(c,k),r=h.program,q=!0;if(void 0===r)c.addEventListener("dispose",
|
|
|
-e);else if(r.code!==m)f(c);else if(void 0!==k.shaderID)break a;else q=!1;q&&(k.shaderID?(r=$a[k.shaderID],h.__webglShader={name:c.type,uniforms:Ga.clone(r.uniforms),vertexShader:r.vertexShader,fragmentShader:r.fragmentShader}):h.__webglShader={name:c.type,uniforms:c.uniforms,vertexShader:c.vertexShader,fragmentShader:c.fragmentShader},c.__webglShader=h.__webglShader,r=Aa.acquireProgram(c,k,m),h.program=r,c.program=r);k=r.getAttributes();if(c.morphTargets)for(m=c.numSupportedMorphTargets=0;m<I.maxMorphTargets;m++)0<=
|
|
|
-k["morphTarget"+m]&&c.numSupportedMorphTargets++;if(c.morphNormals)for(m=c.numSupportedMorphNormals=0;m<I.maxMorphNormals;m++)0<=k["morphNormal"+m]&&c.numSupportedMorphNormals++;k=h.__webglShader.uniforms;if(!c.isShaderMaterial&&!c.isRawShaderMaterial||!0===c.clipping)h.numClippingPlanes=Pa.numPlanes,h.numIntersection=Pa.numIntersection,k.clippingPlanes=Pa.uniform;h.fog=b;h.lightsHash=da.hash;c.lights&&(k.ambientLightColor.value=da.ambient,k.directionalLights.value=da.directional,k.spotLights.value=
|
|
|
+e);else if(r.code!==m)f(c);else if(void 0!==k.shaderID)break a;else q=!1;q&&(k.shaderID?(r=$a[k.shaderID],h.__webglShader={name:c.type,uniforms:Ga.clone(r.uniforms),vertexShader:r.vertexShader,fragmentShader:r.fragmentShader}):h.__webglShader={name:c.type,uniforms:c.uniforms,vertexShader:c.vertexShader,fragmentShader:c.fragmentShader},c.__webglShader=h.__webglShader,r=Aa.acquireProgram(c,k,m),h.program=r,c.program=r);k=r.getAttributes();if(c.morphTargets)for(m=c.numSupportedMorphTargets=0;m<J.maxMorphTargets;m++)0<=
|
|
|
+k["morphTarget"+m]&&c.numSupportedMorphTargets++;if(c.morphNormals)for(m=c.numSupportedMorphNormals=0;m<J.maxMorphNormals;m++)0<=k["morphNormal"+m]&&c.numSupportedMorphNormals++;k=h.__webglShader.uniforms;if(!c.isShaderMaterial&&!c.isRawShaderMaterial||!0===c.clipping)h.numClippingPlanes=Pa.numPlanes,h.numIntersection=Pa.numIntersection,k.clippingPlanes=Pa.uniform;h.fog=b;h.lightsHash=da.hash;c.lights&&(k.ambientLightColor.value=da.ambient,k.directionalLights.value=da.directional,k.spotLights.value=
|
|
|
da.spot,k.rectAreaLights.value=da.rectArea,k.pointLights.value=da.point,k.hemisphereLights.value=da.hemi,k.directionalShadowMap.value=da.directionalShadowMap,k.directionalShadowMatrix.value=da.directionalShadowMatrix,k.spotShadowMap.value=da.spotShadowMap,k.spotShadowMatrix.value=da.spotShadowMatrix,k.pointShadowMap.value=da.pointShadowMap,k.pointShadowMatrix.value=da.pointShadowMatrix);m=h.program.getUniforms();k=eb.seqWithValue(m.seq,k);h.uniformsList=k}c.needsUpdate=!1}var t=!1,q=r=!1,h=g.program,
|
|
|
k=h.getUniforms(),m=g.__webglShader.uniforms;h.id!==B&&(A.useProgram(h.program),B=h.id,q=r=t=!0);c.id!==Q&&(Q=c.id,r=!0);if(t||a!==W){k.setValue(A,"projectionMatrix",a.projectionMatrix);ma.logarithmicDepthBuffer&&k.setValue(A,"logDepthBufFC",2/(Math.log(a.far+1)/Math.LN2));a!==W&&(W=a,q=r=!0);if(c.isShaderMaterial||c.isMeshPhongMaterial||c.isMeshStandardMaterial||c.envMap)t=k.map.cameraPosition,void 0!==t&&t.setValue(A,Oa.setFromMatrixPosition(a.matrixWorld));(c.isMeshPhongMaterial||c.isMeshLambertMaterial||
|
|
|
-c.isMeshBasicMaterial||c.isMeshStandardMaterial||c.isShaderMaterial||c.skinning)&&k.setValue(A,"viewMatrix",a.matrixWorldInverse);k.setValue(A,"toneMappingExposure",I.toneMappingExposure);k.setValue(A,"toneMappingWhitePoint",I.toneMappingWhitePoint)}if(c.skinning&&(k.setOptional(A,d,"bindMatrix"),k.setOptional(A,d,"bindMatrixInverse"),a=d.skeleton))if(t=a.bones,ma.floatVertexTextures){if(void 0===a.boneTexture){var t=Math.sqrt(4*t.length),t=X.nextPowerOfTwo(Math.ceil(t)),t=Math.max(t,4),y=new Float32Array(t*
|
|
|
-t*4);y.set(a.boneMatrices);var p=new db(y,t,t,1023,1015);a.boneMatrices=y;a.boneTexture=p;a.boneTextureSize=t}k.setValue(A,"boneTexture",a.boneTexture);k.setValue(A,"boneTextureSize",a.boneTextureSize)}else k.setOptional(A,a,"boneMatrices");if(r){c.lights&&(a=q,m.ambientLightColor.needsUpdate=a,m.directionalLights.needsUpdate=a,m.pointLights.needsUpdate=a,m.spotLights.needsUpdate=a,m.rectAreaLights.needsUpdate=a,m.hemisphereLights.needsUpdate=a);b&&c.fog&&(m.fogColor.value=b.color,b.isFog?(m.fogNear.value=
|
|
|
+c.isMeshBasicMaterial||c.isMeshStandardMaterial||c.isShaderMaterial||c.skinning)&&k.setValue(A,"viewMatrix",a.matrixWorldInverse);k.setValue(A,"toneMappingExposure",J.toneMappingExposure);k.setValue(A,"toneMappingWhitePoint",J.toneMappingWhitePoint)}if(c.skinning&&(k.setOptional(A,d,"bindMatrix"),k.setOptional(A,d,"bindMatrixInverse"),a=d.skeleton))if(t=a.bones,ma.floatVertexTextures){if(void 0===a.boneTexture){var t=Math.sqrt(4*t.length),t=X.nextPowerOfTwo(Math.ceil(t)),t=Math.max(t,4),x=new Float32Array(t*
|
|
|
+t*4);x.set(a.boneMatrices);var p=new db(x,t,t,1023,1015);a.boneMatrices=x;a.boneTexture=p;a.boneTextureSize=t}k.setValue(A,"boneTexture",a.boneTexture);k.setValue(A,"boneTextureSize",a.boneTextureSize)}else k.setOptional(A,a,"boneMatrices");if(r){c.lights&&(a=q,m.ambientLightColor.needsUpdate=a,m.directionalLights.needsUpdate=a,m.pointLights.needsUpdate=a,m.spotLights.needsUpdate=a,m.rectAreaLights.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.isMeshNormalMaterial||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.lightMap&&(m.lightMap.value=c.lightMap,m.lightMapIntensity.value=c.lightMapIntensity);
|
|
|
-c.aoMap&&(m.aoMap.value=c.aoMap,m.aoMapIntensity.value=c.aoMapIntensity);var v;c.map?v=c.map:c.specularMap?v=c.specularMap:c.displacementMap?v=c.displacementMap:c.normalMap?v=c.normalMap:c.bumpMap?v=c.bumpMap:c.roughnessMap?v=c.roughnessMap:c.metalnessMap?v=c.metalnessMap:c.alphaMap?v=c.alphaMap:c.emissiveMap&&(v=c.emissiveMap);void 0!==v&&(v.isWebGLRenderTarget&&(v=v.texture),b=v.offset,v=v.repeat,m.offsetRepeat.value.set(b.x,b.y,v.x,v.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*M,m.scale.value=.5*ba,m.map.value=c.map,null!==c.map&&(v=c.map.offset,c=c.map.repeat,m.offsetRepeat.value.set(v.x,
|
|
|
-v.y,c.x,c.y))):c.isMeshLambertMaterial?c.emissiveMap&&(m.emissiveMap.value=c.emissiveMap):c.isMeshToonMaterial?(n(m,c),c.gradientMap&&(m.gradientMap.value=c.gradientMap)):c.isMeshPhongMaterial?n(m,c):c.isMeshPhysicalMaterial?(m.clearCoat.value=c.clearCoat,m.clearCoatRoughness.value=c.clearCoatRoughness,l(m,c)):c.isMeshStandardMaterial?l(m,c):c.isMeshDepthMaterial?c.displacementMap&&(m.displacementMap.value=c.displacementMap,m.displacementScale.value=c.displacementScale,m.displacementBias.value=c.displacementBias):
|
|
|
-c.isMeshNormalMaterial&&(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));void 0!==m.ltcMat&&(m.ltcMat.value=T.LTC_MAT_TEXTURE);void 0!==m.ltcMag&&(m.ltcMag.value=T.LTC_MAG_TEXTURE);eb.upload(A,g.uniformsList,m,I)}k.setValue(A,"modelViewMatrix",
|
|
|
+c.aoMap&&(m.aoMap.value=c.aoMap,m.aoMapIntensity.value=c.aoMapIntensity);var w;c.map?w=c.map:c.specularMap?w=c.specularMap:c.displacementMap?w=c.displacementMap:c.normalMap?w=c.normalMap:c.bumpMap?w=c.bumpMap:c.roughnessMap?w=c.roughnessMap:c.metalnessMap?w=c.metalnessMap:c.alphaMap?w=c.alphaMap:c.emissiveMap&&(w=c.emissiveMap);void 0!==w&&(w.isWebGLRenderTarget&&(w=w.texture),b=w.offset,w=w.repeat,m.offsetRepeat.value.set(b.x,b.y,w.x,w.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*M,m.scale.value=.5*ba,m.map.value=c.map,null!==c.map&&(w=c.map.offset,c=c.map.repeat,m.offsetRepeat.value.set(w.x,
|
|
|
+w.y,c.x,c.y))):c.isMeshLambertMaterial?c.emissiveMap&&(m.emissiveMap.value=c.emissiveMap):c.isMeshToonMaterial?(n(m,c),c.gradientMap&&(m.gradientMap.value=c.gradientMap)):c.isMeshPhongMaterial?n(m,c):c.isMeshPhysicalMaterial?(m.clearCoat.value=c.clearCoat,m.clearCoatRoughness.value=c.clearCoatRoughness,l(m,c)):c.isMeshStandardMaterial?l(m,c):c.isMeshDepthMaterial?c.displacementMap&&(m.displacementMap.value=c.displacementMap,m.displacementScale.value=c.displacementScale,m.displacementBias.value=c.displacementBias):
|
|
|
+c.isMeshNormalMaterial&&(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));void 0!==m.ltcMat&&(m.ltcMat.value=T.LTC_MAT_TEXTURE);void 0!==m.ltcMag&&(m.ltcMag.value=T.LTC_MAG_TEXTURE);eb.upload(A,g.uniformsList,m,J)}k.setValue(A,"modelViewMatrix",
|
|
|
d.modelViewMatrix);k.setValue(A,"normalMatrix",d.normalMatrix);k.setValue(A,"modelMatrix",d.matrixWorld);return h}function n(a,b){a.specular.value=b.specular;a.shininess.value=Math.max(b.shininess,1E-4);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)}function l(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.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 y(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;
|
|
|
+b.displacementScale,a.displacementBias.value=b.displacementBias);b.envMap&&(a.envMapIntensity.value=b.envMapIntensity)}function x(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=la.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;if(202===a)return A.SRC_COLOR;if(203===a)return A.ONE_MINUS_SRC_COLOR;if(204===a)return A.SRC_ALPHA;if(205===a)return A.ONE_MINUS_SRC_ALPHA;if(206===a)return A.DST_ALPHA;if(207===a)return A.ONE_MINUS_DST_ALPHA;if(208===a)return A.DST_COLOR;if(209===
|
|
|
a)return A.ONE_MINUS_DST_COLOR;if(210===a)return A.SRC_ALPHA_SATURATE;if(2001===a||2002===a||2003===a||2004===a)if(b=la.get("WEBGL_compressed_texture_s3tc"),null!==b){if(2001===a)return b.COMPRESSED_RGB_S3TC_DXT1_EXT;if(2002===a)return b.COMPRESSED_RGBA_S3TC_DXT1_EXT;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=la.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=la.get("WEBGL_compressed_texture_etc1"),null!==b))return b.COMPRESSED_RGB_ETC1_WEBGL;if(103===a||104===a)if(b=la.get("EXT_blend_minmax"),null!==b){if(103===a)return b.MIN_EXT;if(104===a)return b.MAX_EXT}return 1020===a&&(b=la.get("WEBGL_depth_texture"),null!==b)?b.UNSIGNED_INT_24_8_WEBGL:0}console.log("THREE.WebGLRenderer",
|
|
|
-"85dev");a=a||{};var t=void 0!==a.canvas?a.canvas:document.createElementNS("http://www.w3.org/1999/xhtml","canvas"),z=void 0!==a.context?a.context:null,x=void 0!==a.alpha?a.alpha:!1,v=void 0!==a.depth?a.depth:!0,J=void 0!==a.stencil?a.stencil:!0,w=void 0!==a.antialias?a.antialias:!1,N=void 0!==a.premultipliedAlpha?a.premultipliedAlpha:!0,C=void 0!==a.preserveDrawingBuffer?a.preserveDrawingBuffer:!1,F=[],G=null,Z=new Float32Array(8),aa=[],D=[];this.domElement=t;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 I=this,B=null,E=null,P=null,Q=-1,O="",W=null,ka=new ga,V=null,R=new ga,Y=0,Ia=new K(0),U=0,S=t.width,ba=t.height,M=1,ca=new ga(0,0,S,ba),na=!1,ha=new ga(0,0,S,ba),Td=new gd,Pa=new dg,oa=
|
|
|
-!1,Ud=!1,hd=new L,Oa=new p,Wd=new L,pa=new L,da={hash:"",ambient:[0,0,0],directional:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],point:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],shadows:[]},ta={geometries:0,textures:0},ia={frame:0,calls:0,vertices:0,faces:0,points:0};this.info={render:ia,memory:ta,programs:null};var A;try{x={alpha:x,depth:v,stencil:J,antialias:w,premultipliedAlpha:N,preserveDrawingBuffer:C};A=z||t.getContext("webgl",
|
|
|
-x)||t.getContext("experimental-webgl",x);if(null===A){if(null!==t.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}});t.addEventListener("webglcontextlost",d,!1)}catch(eg){console.error("THREE.WebGLRenderer: "+eg)}var la=new cg(A);la.get("WEBGL_depth_texture");la.get("OES_texture_float");la.get("OES_texture_float_linear");
|
|
|
-la.get("OES_texture_half_float");la.get("OES_texture_half_float_linear");la.get("OES_standard_derivatives");la.get("ANGLE_instanced_arrays");la.get("OES_element_index_uint")&&(H.MaxIndex=4294967296);var ma=new bg(A,la,a),ea=new ag(A,la,y),fa=new $f,qa=new Zf(A,la,ea,fa,ma,y,ta),za=new Hf(A),Ca=new Of(A,za,ta),va=new Qf(A,Ca,ia),Aa=new Yf(this,ma),Ba=new Pf,Fa=new Lf;this.info.programs=Aa.programs;var Ka=new Nf(A,la,ia),La=new Mf(A,la,ia),Ea,ya,ra,sa;b();this.context=A;this.capabilities=ma;this.extensions=
|
|
|
+"85dev");a=a||{};var t=void 0!==a.canvas?a.canvas:document.createElementNS("http://www.w3.org/1999/xhtml","canvas"),z=void 0!==a.context?a.context:null,y=void 0!==a.alpha?a.alpha:!1,w=void 0!==a.depth?a.depth:!0,G=void 0!==a.stencil?a.stencil:!0,v=void 0!==a.antialias?a.antialias:!1,O=void 0!==a.premultipliedAlpha?a.premultipliedAlpha:!0,C=void 0!==a.preserveDrawingBuffer?a.preserveDrawingBuffer:!1,F=[],H=null,Z=new Float32Array(8),aa=[],D=[];this.domElement=t;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 J=this,B=null,E=null,P=null,Q=-1,N="",W=null,ka=new ga,V=null,R=new ga,Y=0,Ia=new K(0),U=0,S=t.width,ba=t.height,M=1,ca=new ga(0,0,S,ba),na=!1,ha=new ga(0,0,S,ba),Td=new gd,Pa=new dg,oa=
|
|
|
+!1,Ud=!1,hd=new L,Oa=new p,Wd=new L,pa=new L,da={hash:"",ambient:[0,0,0],directional:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],point:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],shadows:[]},ta={geometries:0,textures:0},ia={frame:0,calls:0,vertices:0,faces:0,points:0};this.info={render:ia,memory:ta,programs:null};var A;try{y={alpha:y,depth:w,stencil:G,antialias:v,premultipliedAlpha:O,preserveDrawingBuffer:C};A=z||t.getContext("webgl",
|
|
|
+y)||t.getContext("experimental-webgl",y);if(null===A){if(null!==t.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}});t.addEventListener("webglcontextlost",d,!1)}catch(eg){console.error("THREE.WebGLRenderer: "+eg)}var la=new cg(A);la.get("WEBGL_depth_texture");la.get("OES_texture_float");la.get("OES_texture_float_linear");
|
|
|
+la.get("OES_texture_half_float");la.get("OES_texture_half_float_linear");la.get("OES_standard_derivatives");la.get("ANGLE_instanced_arrays");la.get("OES_element_index_uint")&&(I.MaxIndex=4294967296);var ma=new bg(A,la,a),ea=new ag(A,la,x),fa=new $f,qa=new Zf(A,la,ea,fa,ma,x,ta),za=new Hf(A),Ca=new Of(A,za,ta),va=new Qf(A,Ca,ia),Aa=new Yf(this,ma),Ba=new Pf,Fa=new Lf;this.info.programs=Aa.programs;var Ka=new Nf(A,la,ia),La=new Mf(A,la,ia),Ea,ya,ra,sa;b();this.context=A;this.capabilities=ma;this.extensions=
|
|
|
la;this.properties=fa;this.state=ea;var Ja=new Ie(this,da,va,ma);this.shadowMap=Ja;var Ma=new Ef(this,aa),Na=new Df(this,D);this.getContext=function(){return A};this.getContextAttributes=function(){return A.getContextAttributes()};this.forceContextLoss=function(){la.get("WEBGL_lose_context").loseContext()};this.getMaxAnisotropy=function(){return ma.getMaxAnisotropy()};this.getPrecision=function(){return ma.precision};this.getPixelRatio=function(){return M};this.setPixelRatio=function(a){void 0!==
|
|
|
a&&(M=a,this.setSize(ha.z,ha.w,!1))};this.getSize=function(){return{width:S,height:ba}};this.setSize=function(a,b,c){S=a;ba=b;t.width=a*M;t.height=b*M;!1!==c&&(t.style.width=a+"px",t.style.height=b+"px");this.setViewport(0,0,a,b)};this.setViewport=function(a,b,c,d){ea.viewport(ha.set(a,b,c,d))};this.setScissor=function(a,b,c,d){ea.scissor(ca.set(a,b,c,d))};this.setScissorTest=function(a){ea.setScissorTest(na=a)};this.getClearColor=function(){return Ia};this.setClearColor=function(a,b){Ia.set(a);U=
|
|
|
-void 0!==b?b:1;ea.buffers.color.setClear(Ia.r,Ia.g,Ia.b,U,N)};this.getClearAlpha=function(){return U};this.setClearAlpha=function(a){U=a;ea.buffers.color.setClear(Ia.r,Ia.g,Ia.b,U,N)};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=
|
|
|
+void 0!==b?b:1;ea.buffers.color.setClear(Ia.r,Ia.g,Ia.b,U,O)};this.getClearAlpha=function(){return U};this.setClearAlpha=function(a){U=a;ea.buffers.color.setClear(Ia.r,Ia.g,Ia.b,U,O)};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=c;this.dispose=function(){t.removeEventListener("webglcontextlost",d,!1);Fa.dispose()};this.renderBufferImmediate=function(a,b,c){ea.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),ea.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&&!c.isMeshNormalMaterial&&1===c.shading)for(var e=0,f=3*a.count;e<f;e+=9){var g=a.normalArray,h=(g[e+0]+g[e+3]+g[e+6])/3,m=(g[e+1]+g[e+4]+g[e+7])/3,k=(g[e+2]+g[e+5]+g[e+8])/3;g[e+0]=h;g[e+1]=m;g[e+2]=k;g[e+3]=h;g[e+4]=m;g[e+5]=k;g[e+6]=h;
|
|
|
g[e+7]=m;g[e+8]=k}A.bufferData(A.ARRAY_BUFFER,a.normalArray,A.DYNAMIC_DRAW);ea.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),ea.enableAttribute(b.uv),A.vertexAttribPointer(za.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),ea.enableAttribute(b.color),A.vertexAttribPointer(b.color,
|
|
|
-3,A.FLOAT,!1,0,0));ea.disableUnusedAttributes();A.drawArrays(A.TRIANGLES,0,a.count);a.count=0};this.renderBufferDirect=function(a,b,c,d,e,f){ea.setMaterial(d);var g=q(a,b,d,e);a=c.id+"_"+g.id+"_"+(!0===d.wireframe);var m=!1;a!==O&&(O=a,m=!0);b=e.morphTargetInfluences;if(void 0!==b){var k=[];a=0;for(var r=b.length;a<r;a++)m=b[a],k.push([m,a]);k.sort(h);8<k.length&&(k.length=8);var n=c.morphAttributes;a=0;for(r=k.length;a<r;a++)m=k[a],Z[a]=m[0],0!==m[0]?(b=m[1],!0===d.morphTargets&&n.position&&c.addAttribute("morphTarget"+
|
|
|
-a,n.position[b]),!0===d.morphNormals&&n.normal&&c.addAttribute("morphNormal"+a,n.normal[b])):(!0===d.morphTargets&&c.removeAttribute("morphTarget"+a),!0===d.morphNormals&&c.removeAttribute("morphNormal"+a));a=k.length;for(b=Z.length;a<b;a++)Z[a]=0;g.getUniforms().setValue(A,"morphTargetInfluences",Z);m=!0}b=c.index;r=c.attributes.position;k=1;!0===d.wireframe&&(b=Ca.getWireframeAttribute(c),k=2);a=Ka;null!==b&&(a=La,a.setIndex(b));if(m){a:{var m=void 0,l;if(c&&c.isInstancedBufferGeometry&&(l=la.get("ANGLE_instanced_arrays"),
|
|
|
-null===l)){console.error("THREE.WebGLRenderer.setupVertexAttributes: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");break a}void 0===m&&(m=0);ea.initAttributes();var n=c.attributes,g=g.getAttributes(),u=d.defaultAttributeValues,t;for(t in g){var y=g[t];if(0<=y){var v=n[t];if(void 0!==v){var p=v.normalized,w=v.itemSize,x=za.get(v),z=x.buffer,J=x.type,x=x.bytesPerElement;if(v.isInterleavedBufferAttribute){var N=v.data,F=N.stride,v=v.offset;N&&N.isInstancedInterleavedBuffer?
|
|
|
-(ea.enableAttributeAndDivisor(y,N.meshPerAttribute,l),void 0===c.maxInstancedCount&&(c.maxInstancedCount=N.meshPerAttribute*N.count)):ea.enableAttribute(y);A.bindBuffer(A.ARRAY_BUFFER,z);A.vertexAttribPointer(y,w,J,p,F*x,(m*F+v)*x)}else v.isInstancedBufferAttribute?(ea.enableAttributeAndDivisor(y,v.meshPerAttribute,l),void 0===c.maxInstancedCount&&(c.maxInstancedCount=v.meshPerAttribute*v.count)):ea.enableAttribute(y),A.bindBuffer(A.ARRAY_BUFFER,z),A.vertexAttribPointer(y,w,J,p,0,m*w*x)}else if(void 0!==
|
|
|
-u&&(p=u[t],void 0!==p))switch(p.length){case 2:A.vertexAttrib2fv(y,p);break;case 3:A.vertexAttrib3fv(y,p);break;case 4:A.vertexAttrib4fv(y,p);break;default:A.vertexAttrib1fv(y,p)}}}ea.disableUnusedAttributes()}null!==b&&A.bindBuffer(A.ELEMENT_ARRAY_BUFFER,za.get(b).buffer)}l=0;null!==b?l=b.count:void 0!==r&&(l=r.count);b=c.drawRange.start*k;r=null!==f?f.start*k:0;t=Math.max(b,r);f=Math.max(0,Math.min(l,b+c.drawRange.count*k,r+(null!==f?f.count*k:Infinity))-1-t+1);if(0!==f){if(e.isMesh)if(!0===d.wireframe)ea.setLineWidth(d.wireframeLinewidth*
|
|
|
-(null===E?M: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),ea.setLineWidth(d*(null===E?M:1)),e.isLineSegments?a.setMode(A.LINES):e.isLineLoop?a.setMode(A.LINE_LOOP):a.setMode(A.LINE_STRIP)):e.isPoints&&a.setMode(A.POINTS);c&&c.isInstancedBufferGeometry?0<c.maxInstancedCount&&a.renderInstances(c,t,f):a.render(t,f)}};this.render=function(a,b,c,
|
|
|
-d){if(void 0!==b&&!0!==b.isCamera)console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");else{O="";Q=-1;W=null;!0===a.autoUpdate&&a.updateMatrixWorld();b.onBeforeRender(I);null===b.parent&&b.updateMatrixWorld();b.matrixWorldInverse.getInverse(b.matrixWorld);hd.multiplyMatrices(b.projectionMatrix,b.matrixWorldInverse);Td.setFromMatrix(hd);F.length=0;aa.length=0;D.length=0;Ud=this.localClippingEnabled;oa=Pa.init(this.clippingPlanes,Ud,b);G=Fa.get(a,b);G.init();k(a,b,
|
|
|
-I.sortObjects);G.finish();!0===I.sortObjects&&G.sort();oa&&Pa.beginShadows();for(var e=F,f=0,g=0,h=e.length;g<h;g++){var r=e[g];r.castShadow&&(da.shadows[f]=r,f++)}da.shadows.length=f;Ja.render(a,b);for(var e=F,n,q=r=0,l=0,u,t,y,v=b.matrixWorldInverse,p=0,w=0,x=0,z=0,J=0,f=0,g=e.length;f<g;f++)if(h=e[f],n=h.color,u=h.intensity,t=h.distance,y=h.shadow&&h.shadow.map?h.shadow.map.texture:null,h.isAmbientLight)r+=n.r*u,q+=n.g*u,l+=n.b*u;else if(h.isDirectionalLight){var C=Ba.get(h);C.color.copy(h.color).multiplyScalar(h.intensity);
|
|
|
-C.direction.setFromMatrixPosition(h.matrixWorld);Oa.setFromMatrixPosition(h.target.matrixWorld);C.direction.sub(Oa);C.direction.transformDirection(v);if(C.shadow=h.castShadow)n=h.shadow,C.shadowBias=n.bias,C.shadowRadius=n.radius,C.shadowMapSize=n.mapSize;da.directionalShadowMap[p]=y;da.directionalShadowMatrix[p]=h.shadow.matrix;da.directional[p]=C;p++}else if(h.isSpotLight){C=Ba.get(h);C.position.setFromMatrixPosition(h.matrixWorld);C.position.applyMatrix4(v);C.color.copy(n).multiplyScalar(u);C.distance=
|
|
|
-t;C.direction.setFromMatrixPosition(h.matrixWorld);Oa.setFromMatrixPosition(h.target.matrixWorld);C.direction.sub(Oa);C.direction.transformDirection(v);C.coneCos=Math.cos(h.angle);C.penumbraCos=Math.cos(h.angle*(1-h.penumbra));C.decay=0===h.distance?0:h.decay;if(C.shadow=h.castShadow)n=h.shadow,C.shadowBias=n.bias,C.shadowRadius=n.radius,C.shadowMapSize=n.mapSize;da.spotShadowMap[x]=y;da.spotShadowMatrix[x]=h.shadow.matrix;da.spot[x]=C;x++}else if(h.isRectAreaLight)C=Ba.get(h),C.color.copy(n).multiplyScalar(u/
|
|
|
-(h.width*h.height)),C.position.setFromMatrixPosition(h.matrixWorld),C.position.applyMatrix4(v),pa.identity(),Wd.copy(h.matrixWorld),Wd.premultiply(v),pa.extractRotation(Wd),C.halfWidth.set(.5*h.width,0,0),C.halfHeight.set(0,.5*h.height,0),C.halfWidth.applyMatrix4(pa),C.halfHeight.applyMatrix4(pa),da.rectArea[z]=C,z++;else if(h.isPointLight){C=Ba.get(h);C.position.setFromMatrixPosition(h.matrixWorld);C.position.applyMatrix4(v);C.color.copy(h.color).multiplyScalar(h.intensity);C.distance=h.distance;
|
|
|
-C.decay=0===h.distance?0:h.decay;if(C.shadow=h.castShadow)n=h.shadow,C.shadowBias=n.bias,C.shadowRadius=n.radius,C.shadowMapSize=n.mapSize;da.pointShadowMap[w]=y;void 0===da.pointShadowMatrix[w]&&(da.pointShadowMatrix[w]=new L);Oa.setFromMatrixPosition(h.matrixWorld).negate();da.pointShadowMatrix[w].identity().setPosition(Oa);da.point[w]=C;w++}else h.isHemisphereLight&&(C=Ba.get(h),C.direction.setFromMatrixPosition(h.matrixWorld),C.direction.transformDirection(v),C.direction.normalize(),C.skyColor.copy(h.color).multiplyScalar(u),
|
|
|
-C.groundColor.copy(h.groundColor).multiplyScalar(u),da.hemi[J]=C,J++);da.ambient[0]=r;da.ambient[1]=q;da.ambient[2]=l;da.directional.length=p;da.spot.length=x;da.rectArea.length=z;da.point.length=w;da.hemi.length=J;da.hash=p+","+w+","+x+","+z+","+J+","+da.shadows.length;oa&&Pa.endShadows();ia.frame++;ia.calls=0;ia.vertices=0;ia.faces=0;ia.points=0;void 0===c&&(c=null);this.setRenderTarget(c);e=a.background;null===e?ea.buffers.color.setClear(Ia.r,Ia.g,Ia.b,U,N):e&&e.isColor&&(ea.buffers.color.setClear(e.r,
|
|
|
-e.g,e.b,1,N),d=!0);(this.autoClear||d)&&this.clear(this.autoClearColor,this.autoClearDepth,this.autoClearStencil);e&&e.isCubeTexture?(void 0===ra&&(ra=new xa,sa=new wa(new jb(5,5,5),new Da({uniforms:$a.cube.uniforms,vertexShader:$a.cube.vertexShader,fragmentShader:$a.cube.fragmentShader,side:1,depthTest:!1,depthWrite:!1,fog:!1}))),ra.projectionMatrix.copy(b.projectionMatrix),ra.matrixWorld.extractRotation(b.matrixWorld),ra.matrixWorldInverse.getInverse(ra.matrixWorld),sa.material.uniforms.tCube.value=
|
|
|
-e,sa.modelViewMatrix.multiplyMatrices(ra.matrixWorldInverse,sa.matrixWorld),va.update(sa),I.renderBufferDirect(ra,null,sa.geometry,sa.material,sa,null)):e&&e.isTexture&&(void 0===Ea&&(Ea=new Gb(-1,1,1,-1,0,1),ya=new wa(new kb(2,2),new Ha({depthTest:!1,depthWrite:!1,fog:!1}))),ya.material.map=e,va.update(ya),I.renderBufferDirect(Ea,null,ya.geometry,ya.material,ya,null));d=G.opaque;e=G.transparent;a.overrideMaterial?(f=a.overrideMaterial,d.length&&m(d,a,b,f),e.length&&m(e,a,b,f)):(d.length&&m(d,a,b),
|
|
|
-e.length&&m(e,a,b));Ma.render(a,b);Na.render(a,b,R);c&&qa.updateRenderTargetMipmap(c);ea.buffers.depth.setTest(!0);ea.buffers.depth.setMask(!0);ea.buffers.color.setMask(!0);b.isArrayCamera&&b.enabled&&I.setScissorTest(!1);b.onAfterRender(I)}};this.setFaceCulling=function(a,b){ea.setCullFace(a);ea.setFlipSided(0===b)};this.allocTextureUnit=function(){var a=Y;a>=ma.maxTextures&&console.warn("WebGLRenderer: trying to use "+a+" texture units while this GPU supports only "+ma.maxTextures);Y+=1;return a};
|
|
|
-this.setTexture2D=function(){var a=!1;return function(b,c){b&&b.isWebGLRenderTarget&&(a||(console.warn("THREE.WebGLRenderer.setTexture2D: don't use render targets as textures. Use their .texture property instead."),a=!0),b=b.texture);qa.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);qa.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?qa.setTextureCube(b,c):qa.setTextureCubeDynamic(b,c)}}();this.getRenderTarget=function(){return E};this.setRenderTarget=function(a){(E=a)&&void 0===fa.get(a).__webglFramebuffer&&qa.setupRenderTarget(a);var b=a&&a.isWebGLRenderTargetCube,c;a?(c=fa.get(a),c=
|
|
|
-b?c.__webglFramebuffer[a.activeCubeFace]:c.__webglFramebuffer,ka.copy(a.scissor),V=a.scissorTest,R.copy(a.viewport)):(c=null,ka.copy(ca).multiplyScalar(M),V=na,R.copy(ha).multiplyScalar(M));P!==c&&(A.bindFramebuffer(A.FRAMEBUFFER,c),P=c);ea.scissor(ka);ea.setScissorTest(V);ea.viewport(R);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 h=!1;g!==P&&(A.bindFramebuffer(A.FRAMEBUFFER,g),h=!0);try{var m=a.texture,k=m.format,r=m.type;1023!==k&&y(k)!==A.getParameter(A.IMPLEMENTATION_COLOR_READ_FORMAT)?console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format."):1009===r||y(r)===A.getParameter(A.IMPLEMENTATION_COLOR_READ_TYPE)||
|
|
|
-1015===r&&(la.get("OES_texture_float")||la.get("WEBGL_color_buffer_float"))||1016===r&&la.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,y(k),y(r),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{h&&
|
|
|
-A.bindFramebuffer(A.FRAMEBUFFER,P)}}}}}function Hb(a,b){this.name="";this.color=new K(a);this.density=void 0!==b?b:2.5E-4}function Ib(a,b,c){this.name="";this.color=new K(a);this.near=void 0!==b?b:1;this.far=void 0!==c?c:1E3}function id(){B.call(this);this.type="Scene";this.overrideMaterial=this.fog=this.background=null;this.autoUpdate=!0}function Xd(a,b,c,d,e){B.call(this);this.lensFlares=[];this.positionScreen=new p;this.customUpdateCallback=void 0;void 0!==a&&this.add(a,b,c,d,e)}function bb(a){U.call(this);
|
|
|
-this.type="SpriteMaterial";this.color=new K(16777215);this.map=null;this.rotation=0;this.lights=this.fog=!1;this.setValues(a)}function xc(a){B.call(this);this.type="Sprite";this.material=void 0!==a?a:new bb}function yc(){B.call(this);this.type="LOD";Object.defineProperties(this,{levels:{enumerable:!0,value:[]}})}function zc(a,b){a=a||[];this.bones=a.slice(0);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{console.warn("THREE.Skeleton boneInverses is the wrong length.");this.boneInverses=[];for(var c=0,d=this.bones.length;c<d;c++)this.boneInverses.push(new L)}}function jd(){B.call(this);this.type="Bone"}function kd(a,b){wa.call(this,a,b);this.type="SkinnedMesh";this.bindMode="attached";this.bindMatrix=new L;this.bindMatrixInverse=new L;var c=this.initBones(),c=new zc(c);this.bind(c,this.matrixWorld);this.normalizeSkinWeights()}function ha(a){U.call(this);this.type="LineBasicMaterial";
|
|
|
-this.color=new K(16777215);this.linewidth=1;this.linejoin=this.linecap="round";this.lights=!1;this.setValues(a)}function Ka(a,b,c){if(1===c)return console.warn("THREE.Line: parameter THREE.LinePieces no longer supported. Created THREE.LineSegments instead."),new ca(a,b);B.call(this);this.type="Line";this.geometry=void 0!==a?a:new H;this.material=void 0!==b?b:new ha({color:16777215*Math.random()})}function ca(a,b){Ka.call(this,a,b);this.type="LineSegments"}function ld(a,b){Ka.call(this,a,b);this.type=
|
|
|
-"LineLoop"}function La(a){U.call(this);this.type="PointsMaterial";this.color=new K(16777215);this.map=null;this.size=1;this.sizeAttenuation=!0;this.lights=!1;this.setValues(a)}function Jb(a,b){B.call(this);this.type="Points";this.geometry=void 0!==a?a:new H;this.material=void 0!==b?b:new La({color:16777215*Math.random()})}function Ac(){B.call(this);this.type="Group"}function md(a,b,c,d,e,f,g,h,k){function m(){requestAnimationFrame(m);a.readyState>=a.HAVE_CURRENT_DATA&&(r.needsUpdate=!0)}ba.call(this,
|
|
|
-a,b,c,d,e,f,g,h,k);this.generateMipmaps=!1;var r=this;m()}function Kb(a,b,c,d,e,f,g,h,k,m,r,q){ba.call(this,null,f,g,h,k,m,d,e,r,q);this.image={width:b,height:c};this.mipmaps=a;this.generateMipmaps=this.flipY=!1}function nd(a,b,c,d,e,f,g,h,k){ba.call(this,a,b,c,d,e,f,g,h,k);this.needsUpdate=!0}function Bc(a,b,c,d,e,f,g,h,k,m){m=void 0!==m?m:1026;if(1026!==m&&1027!==m)throw Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===c&&1026===m&&(c=1012);void 0===
|
|
|
-c&&1027===m&&(c=1020);ba.call(this,null,d,e,f,g,h,m,c,k);this.image={width:a,height:b};this.magFilter=void 0!==g?g:1003;this.minFilter=void 0!==h?h:1003;this.generateMipmaps=this.flipY=!1}function Lb(a){function b(a,b){return a-b}H.call(this);this.type="WireframeGeometry";var c=[],d,e,f,g,h=[0,0],k={},m,r=["a","b","c"];if(a&&a.isGeometry){var q=a.faces;d=0;for(f=q.length;d<f;d++){var n=q[d];for(e=0;3>e;e++)h[0]=n[r[e]],h[1]=n[r[(e+1)%3]],h.sort(b),m=h.toString(),void 0===k[m]&&(k[m]={index1:h[0],
|
|
|
-index2:h[1]})}for(m in k)d=k[m],r=a.vertices[d.index1],c.push(r.x,r.y,r.z),r=a.vertices[d.index2],c.push(r.x,r.y,r.z)}else if(a&&a.isBufferGeometry){var l,r=new p;if(null!==a.index){q=a.attributes.position;n=a.index;l=a.groups;0===l.length&&(l=[{start:0,count:n.count,materialIndex:0}]);a=0;for(g=l.length;a<g;++a)for(d=l[a],e=d.start,f=d.count,d=e,f=e+f;d<f;d+=3)for(e=0;3>e;e++)h[0]=n.getX(d+e),h[1]=n.getX(d+(e+1)%3),h.sort(b),m=h.toString(),void 0===k[m]&&(k[m]={index1:h[0],index2:h[1]});for(m in k)d=
|
|
|
-k[m],r.fromBufferAttribute(q,d.index1),c.push(r.x,r.y,r.z),r.fromBufferAttribute(q,d.index2),c.push(r.x,r.y,r.z)}else for(q=a.attributes.position,d=0,f=q.count/3;d<f;d++)for(e=0;3>e;e++)k=3*d+e,r.fromBufferAttribute(q,k),c.push(r.x,r.y,r.z),k=3*d+(e+1)%3,r.fromBufferAttribute(q,k),c.push(r.x,r.y,r.z)}this.addAttribute("position",new E(c,3))}function Cc(a,b,c){P.call(this);this.type="ParametricGeometry";this.parameters={func:a,slices:b,stacks:c};this.fromBufferGeometry(new Mb(a,b,c));this.mergeVertices()}
|
|
|
-function Mb(a,b,c){H.call(this);this.type="ParametricBufferGeometry";this.parameters={func:a,slices:b,stacks:c};var d=[],e=[],f=[],g,h,k=b+1;for(g=0;g<=c;g++){var m=g/c;for(h=0;h<=b;h++){var r=h/b,q=a(r,m);e.push(q.x,q.y,q.z);f.push(r,m)}}for(g=0;g<c;g++)for(h=0;h<b;h++)a=g*k+h+1,m=(g+1)*k+h+1,r=(g+1)*k+h,d.push(g*k+h,a,r),d.push(a,m,r);this.setIndex(d);this.addAttribute("position",new E(e,3));this.addAttribute("uv",new E(f,2));this.computeVertexNormals()}function Dc(a,b,c,d){P.call(this);this.type=
|
|
|
-"PolyhedronGeometry";this.parameters={vertices:a,indices:b,radius:c,detail:d};this.fromBufferGeometry(new ma(a,b,c,d));this.mergeVertices()}function ma(a,b,c,d){function e(a){h.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&&(k[b]=a.x-1);0===c.x&&0===c.z&&(k[b]=d/2/Math.PI+.5)}H.call(this);this.type="PolyhedronBufferGeometry";this.parameters={vertices:a,indices:b,radius:c,detail:d};c=c||1;var h=[],k=[];(function(a){for(var c=new p,d=new p,
|
|
|
-g=new p,h=0;h<b.length;h+=3){f(b[h+0],c);f(b[h+1],d);f(b[h+2],g);var k=c,l=d,z=g,x=Math.pow(2,a),v=[],J,w;for(J=0;J<=x;J++){v[J]=[];var N=k.clone().lerp(z,J/x),C=l.clone().lerp(z,J/x),F=x-J;for(w=0;w<=F;w++)v[J][w]=0===w&&J===x?N:N.clone().lerp(C,w/F)}for(J=0;J<x;J++)for(w=0;w<2*(x-J)-1;w++)k=Math.floor(w/2),0===w%2?(e(v[J][k+1]),e(v[J+1][k]),e(v[J][k])):(e(v[J][k+1]),e(v[J+1][k+1]),e(v[J+1][k]))}})(d||0);(function(a){for(var b=new p,c=0;c<h.length;c+=3)b.x=h[c+0],b.y=h[c+1],b.z=h[c+2],b.normalize().multiplyScalar(a),
|
|
|
-h[c+0]=b.x,h[c+1]=b.y,h[c+2]=b.z})(c);(function(){for(var a=new p,b=0;b<h.length;b+=3)a.x=h[b+0],a.y=h[b+1],a.z=h[b+2],k.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 p,b=new p,c=new p,d=new p,e=new D,f=new D,l=new D,z=0,x=0;z<h.length;z+=9,x+=6){a.set(h[z+0],h[z+1],h[z+2]);b.set(h[z+3],h[z+4],h[z+5]);c.set(h[z+6],h[z+7],h[z+8]);e.set(k[x+0],k[x+1]);f.set(k[x+2],k[x+3]);l.set(k[x+4],k[x+5]);d.copy(a).add(b).add(c).divideScalar(3);
|
|
|
-var v=Math.atan2(d.z,-d.x);g(e,x+0,a,v);g(f,x+2,b,v);g(l,x+4,c,v)}for(a=0;a<k.length;a+=6)b=k[a+0],c=k[a+2],d=k[a+4],e=Math.min(b,c,d),.9<Math.max(b,c,d)&&.1>e&&(.2>b&&(k[a+0]+=1),.2>c&&(k[a+2]+=1),.2>d&&(k[a+4]+=1))})();this.addAttribute("position",new E(h,3));this.addAttribute("normal",new E(h.slice(),3));this.addAttribute("uv",new E(k,2));this.normalizeNormals()}function Ec(a,b){P.call(this);this.type="TetrahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new Nb(a,b));
|
|
|
-this.mergeVertices()}function Nb(a,b){ma.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 Fc(a,b){P.call(this);this.type="OctahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new lb(a,b));this.mergeVertices()}function lb(a,b){ma.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 Gc(a,b){P.call(this);this.type="IcosahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new Ob(a,b));this.mergeVertices()}function Ob(a,b){var c=(1+Math.sqrt(5))/2;ma.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 Hc(a,b){P.call(this);this.type="DodecahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new Pb(a,b));this.mergeVertices()}function Pb(a,b){var c=(1+Math.sqrt(5))/2,d=1/c;ma.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 Ic(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 Qb(a,b,c,d,e);this.tangents=a.tangents;
|
|
|
-this.normals=a.normals;this.binormals=a.binormals;this.fromBufferGeometry(a);this.mergeVertices()}function Qb(a,b,c,d,e){function f(e){var f=a.getPointAt(e/b),m=g.normals[e];e=g.binormals[e];for(q=0;q<=d;q++){var r=q/d*Math.PI*2,t=Math.sin(r),r=-Math.cos(r);k.x=r*m.x+t*e.x;k.y=r*m.y+t*e.y;k.z=r*m.z+t*e.z;k.normalize();l.push(k.x,k.y,k.z);h.x=f.x+c*k.x;h.y=f.y+c*k.y;h.z=f.z+c*k.z;n.push(h.x,h.y,h.z)}}H.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 h=new p,k=new p,m=new D,r,q,n=[],l=[],y=[],t=[];for(r=0;r<b;r++)f(r);f(!1===e?b:0);for(r=0;r<=b;r++)for(q=0;q<=d;q++)m.x=r/b,m.y=q/d,y.push(m.x,m.y);(function(){for(q=1;q<=b;q++)for(r=1;r<=d;r++){var a=(d+1)*q+(r-1),c=(d+1)*q+r,e=(d+1)*(q-1)+r;t.push((d+1)*(q-1)+(r-1),a,e);t.push(a,c,e)}})();this.setIndex(t);this.addAttribute("position",new E(n,3));
|
|
|
-this.addAttribute("normal",new E(l,3));this.addAttribute("uv",new E(y,2))}function Jc(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 Rb(a,b,c,d,e,f));this.mergeVertices()}function Rb(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}H.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 h=[],k=[],m=[],r=[],q,n,l=new p,y=new p;new D;var t=new p,z=new p,x=new p,v=new p,J=new p;for(q=0;q<=c;++q)for(n=q/c*e*Math.PI*2,g(n,e,f,a,t),g(n+.01,e,f,a,z),v.subVectors(z,t),J.addVectors(z,t),x.crossVectors(v,J),J.crossVectors(x,v),x.normalize(),
|
|
|
-J.normalize(),n=0;n<=d;++n){var w=n/d*Math.PI*2,N=-b*Math.cos(w),w=b*Math.sin(w);l.x=t.x+(N*J.x+w*x.x);l.y=t.y+(N*J.y+w*x.y);l.z=t.z+(N*J.z+w*x.z);k.push(l.x,l.y,l.z);y.subVectors(l,t).normalize();m.push(y.x,y.y,y.z);r.push(q/c);r.push(n/d)}for(n=1;n<=c;n++)for(q=1;q<=d;q++)a=(d+1)*n+(q-1),b=(d+1)*n+q,e=(d+1)*(n-1)+q,h.push((d+1)*(n-1)+(q-1),a,e),h.push(a,b,e);this.setIndex(h);this.addAttribute("position",new E(k,3));this.addAttribute("normal",new E(m,3));this.addAttribute("uv",new E(r,2))}function Kc(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 Sb(a,b,c,d,e))}function Sb(a,b,c,d,e){H.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=[],g=[],h=[],k=[],m=new p,r=new p,q=new p,n,l;for(n=0;n<=c;n++)for(l=0;l<=d;l++){var y=l/d*e,t=n/c*Math.PI*2;r.x=(a+
|
|
|
-b*Math.cos(t))*Math.cos(y);r.y=(a+b*Math.cos(t))*Math.sin(y);r.z=b*Math.sin(t);g.push(r.x,r.y,r.z);m.x=a*Math.cos(y);m.y=a*Math.sin(y);q.subVectors(r,m).normalize();h.push(q.x,q.y,q.z);k.push(l/d);k.push(n/c)}for(n=1;n<=c;n++)for(l=1;l<=d;l++)a=(d+1)*(n-1)+l-1,b=(d+1)*(n-1)+l,e=(d+1)*n+l,f.push((d+1)*n+l-1,a,e),f.push(a,b,e);this.setIndex(f);this.addAttribute("position",new E(g,3));this.addAttribute("normal",new E(h,3));this.addAttribute("uv",new E(k,2))}function cb(a,b){P.call(this);this.type="ExtrudeGeometry";
|
|
|
-this.parameters={shapes:a,options:b};this.fromBufferGeometry(new Ea(a,b));this.mergeVertices()}function Ea(a,b){"undefined"!==typeof a&&(H.call(this),this.type="ExtrudeBufferGeometry",a=Array.isArray(a)?a:[a],this.addShapeList(a,b),this.computeVertexNormals())}function Lc(a,b){P.call(this);this.type="TextGeometry";this.parameters={text:a,parameters:b};this.fromBufferGeometry(new Tb(a,b));this.mergeVertices()}function Tb(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);Ea.call(this,c,b);this.type="TextGeometry"}function Mc(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 mb(a,b,c,d,e,f,g))}function mb(a,
|
|
|
-b,c,d,e,f,g){H.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;var h=f+g,k,m,r=0,q=[],n=new p,l=new p,y=[],t=[],z=[],x=[];for(m=0;m<=c;m++){var v=[],J=m/c;for(k=0;k<=b;k++){var w=k/b;n.x=-a*Math.cos(d+w*e)*Math.sin(f+J*g);n.y=a*Math.cos(f+J*g);
|
|
|
-n.z=a*Math.sin(d+w*e)*Math.sin(f+J*g);t.push(n.x,n.y,n.z);l.set(n.x,n.y,n.z).normalize();z.push(l.x,l.y,l.z);x.push(w,1-J);v.push(r++)}q.push(v)}for(m=0;m<c;m++)for(k=0;k<b;k++)a=q[m][k+1],d=q[m][k],e=q[m+1][k],g=q[m+1][k+1],(0!==m||0<f)&&y.push(a,d,g),(m!==c-1||h<Math.PI)&&y.push(d,e,g);this.setIndex(y);this.addAttribute("position",new E(t,3));this.addAttribute("normal",new E(z,3));this.addAttribute("uv",new E(x,2))}function Nc(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 Ub(a,b,c,d,e,f))}function Ub(a,b,c,d,e,f){H.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=[],h=[],k=[],m=[],r=a,q=(b-a)/d,n=new p,l=new D,y,t;for(y=0;y<=d;y++){for(t=0;t<=c;t++)a=e+
|
|
|
-t/c*f,n.x=r*Math.cos(a),n.y=r*Math.sin(a),h.push(n.x,n.y,n.z),k.push(0,0,1),l.x=(n.x/b+1)/2,l.y=(n.y/b+1)/2,m.push(l.x,l.y);r+=q}for(y=0;y<d;y++)for(b=y*(c+1),t=0;t<c;t++)a=t+b,e=a+c+1,f=a+c+2,r=a+1,g.push(a,e,r),g.push(e,f,r);this.setIndex(g);this.addAttribute("position",new E(h,3));this.addAttribute("normal",new E(k,3));this.addAttribute("uv",new E(m,2))}function Oc(a,b,c,d){P.call(this);this.type="LatheGeometry";this.parameters={points:a,segments:b,phiStart:c,phiLength:d};this.fromBufferGeometry(new Vb(a,
|
|
|
-b,c,d));this.mergeVertices()}function Vb(a,b,c,d){H.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=X.clamp(d,0,2*Math.PI);var e=[],f=[],g=[],h=1/b,k=new p,m=new D,r,q;for(r=0;r<=b;r++){q=c+r*h*d;var n=Math.sin(q),l=Math.cos(q);for(q=0;q<=a.length-1;q++)k.x=a[q].x*n,k.y=a[q].y,k.z=a[q].x*l,f.push(k.x,k.y,k.z),m.x=r/b,m.y=q/(a.length-1),g.push(m.x,m.y)}for(r=0;r<b;r++)for(q=0;q<a.length-1;q++)c=q+r*
|
|
|
-a.length,h=c+a.length,k=c+a.length+1,m=c+1,e.push(c,h,m),e.push(h,k,m);this.setIndex(e);this.addAttribute("position",new E(f,3));this.addAttribute("uv",new E(g,2));this.computeVertexNormals();if(d===2*Math.PI)for(d=this.attributes.normal.array,e=new p,f=new p,g=new p,c=b*a.length*3,q=r=0;r<a.length;r++,q+=3)e.x=d[q+0],e.y=d[q+1],e.z=d[q+2],f.x=d[c+q+0],f.y=d[c+q+1],f.z=d[c+q+2],g.addVectors(e,f).normalize(),d[q+0]=d[c+q+0]=g.x,d[q+1]=d[c+q+1]=g.y,d[q+2]=d[c+q+2]=g.z}function Wb(a,b){P.call(this);
|
|
|
-this.type="ShapeGeometry";"object"===typeof b&&(console.warn("THREE.ShapeGeometry: Options parameter has been removed."),b=b.curveSegments);this.parameters={shapes:a,curveSegments:b};this.fromBufferGeometry(new Xb(a,b));this.mergeVertices()}function Xb(a,b){function c(a){var c,h,m=e.length/3;a=a.extractPoints(b);var l=a.shape,t=a.holes;if(!1===ya.isClockWise(l))for(l=l.reverse(),a=0,c=t.length;a<c;a++)h=t[a],!0===ya.isClockWise(h)&&(t[a]=h.reverse());var p=ya.triangulateShape(l,t);a=0;for(c=t.length;a<
|
|
|
-c;a++)h=t[a],l=l.concat(h);a=0;for(c=l.length;a<c;a++)h=l[a],e.push(h.x,h.y,0),f.push(0,0,1),g.push(h.x,h.y);a=0;for(c=p.length;a<c;a++)l=p[a],d.push(l[0]+m,l[1]+m,l[2]+m),k+=3}H.call(this);this.type="ShapeBufferGeometry";this.parameters={shapes:a,curveSegments:b};b=b||12;var d=[],e=[],f=[],g=[],h=0,k=0;if(!1===Array.isArray(a))c(a);else for(var m=0;m<a.length;m++)c(a[m]),this.addGroup(h,k,m),h+=k,k=0;this.setIndex(d);this.addAttribute("position",new E(e,3));this.addAttribute("normal",new E(f,3));
|
|
|
-this.addAttribute("uv",new E(g,2))}function Yb(a,b){function c(a,b){return a-b}H.call(this);this.type="EdgesGeometry";this.parameters={thresholdAngle:b};var d=[],e=Math.cos(X.DEG2RAD*(void 0!==b?b:1)),f=[0,0],g={},h,k=["a","b","c"],m;a.isBufferGeometry?(m=new P,m.fromBufferGeometry(a)):m=a.clone();m.mergeVertices();m.computeFaceNormals();var r=m.vertices;m=m.faces;for(var l=0,n=m.length;l<n;l++)for(var u=m[l],y=0;3>y;y++)f[0]=u[k[y]],f[1]=u[k[(y+1)%3]],f.sort(c),h=f.toString(),void 0===g[h]?g[h]=
|
|
|
-{index1:f[0],index2:f[1],face1:l,face2:void 0}:g[h].face2=l;for(h in g)if(f=g[h],void 0===f.face2||m[f.face1].normal.dot(m[f.face2].normal)<=e)k=r[f.index1],d.push(k.x,k.y,k.z),k=r[f.index2],d.push(k.x,k.y,k.z);this.addAttribute("position",new E(d,3))}function nb(a,b,c,d,e,f,g,h){P.call(this);this.type="CylinderGeometry";this.parameters={radiusTop:a,radiusBottom:b,height:c,radialSegments:d,heightSegments:e,openEnded:f,thetaStart:g,thetaLength:h};this.fromBufferGeometry(new Va(a,b,c,d,e,f,g,h));this.mergeVertices()}
|
|
|
-function Va(a,b,c,d,e,f,g,h){function k(c){var e,f,k,t=new D,F=new p,G=0,Z=!0===c?a:b,aa=!0===c?1:-1;f=y;for(e=1;e<=d;e++)l.push(0,z*aa,0),n.push(0,aa,0),u.push(.5,.5),y++;k=y;for(e=0;e<=d;e++){var B=e/d*h+g,I=Math.cos(B),B=Math.sin(B);F.x=Z*B;F.y=z*aa;F.z=Z*I;l.push(F.x,F.y,F.z);n.push(0,aa,0);t.x=.5*I+.5;t.y=.5*B*aa+.5;u.push(t.x,t.y);y++}for(e=0;e<d;e++)t=f+e,F=k+e,!0===c?r.push(F,F+1,t):r.push(F+1,F,t),G+=3;m.addGroup(x,G,!0===c?1:2);x+=G}H.call(this);this.type="CylinderBufferGeometry";this.parameters=
|
|
|
-{radiusTop:a,radiusBottom:b,height:c,radialSegments:d,heightSegments:e,openEnded:f,thetaStart:g,thetaLength:h};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;h=void 0!==h?h:2*Math.PI;var r=[],l=[],n=[],u=[],y=0,t=[],z=c/2,x=0;(function(){var f,k,w=new p,N=new p,C=0,F=(b-a)/c;for(k=0;k<=e;k++){var G=[],Z=k/e,D=Z*(b-a)+a;for(f=0;f<=d;f++){var B=f/d,I=B*h+g,E=Math.sin(I),I=Math.cos(I);N.x=D*E;N.y=-Z*c+z;N.z=D*
|
|
|
-I;l.push(N.x,N.y,N.z);w.set(E,F,I).normalize();n.push(w.x,w.y,w.z);u.push(B,1-Z);G.push(y++)}t.push(G)}for(f=0;f<d;f++)for(k=0;k<e;k++)w=t[k+1][f],N=t[k+1][f+1],F=t[k][f+1],r.push(t[k][f],w,F),r.push(w,N,F),C+=6;m.addGroup(x,C,0);x+=C})();!1===f&&(0<a&&k(!0),0<b&&k(!1));this.setIndex(r);this.addAttribute("position",new E(l,3));this.addAttribute("normal",new E(n,3));this.addAttribute("uv",new E(u,2))}function Pc(a,b,c,d,e,f,g){nb.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 Qc(a,b,c,d,e,f,g){Va.call(this,0,a,b,c,d,e,f,g);this.type="ConeBufferGeometry";this.parameters={radius:a,height:b,radialSegments:c,heightSegments:d,openEnded:e,thetaStart:f,thetaLength:g}}function Rc(a,b,c,d){P.call(this);this.type="CircleGeometry";this.parameters={radius:a,segments:b,thetaStart:c,thetaLength:d};this.fromBufferGeometry(new Zb(a,b,c,d))}function Zb(a,b,c,d){H.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=[],f=[],g=[],h=[],k,m,r=new p,l=new D;f.push(0,0,0);g.push(0,0,1);h.push(.5,.5);m=0;for(k=3;m<=b;m++,k+=3){var n=c+m/b*d;r.x=a*Math.cos(n);r.y=a*Math.sin(n);f.push(r.x,r.y,r.z);g.push(0,0,1);l.x=(f[k]/a+1)/2;l.y=(f[k+1]/a+1)/2;h.push(l.x,l.y)}for(k=1;k<=b;k++)e.push(k,k+1,0);this.setIndex(e);this.addAttribute("position",new E(f,
|
|
|
-3));this.addAttribute("normal",new E(g,3));this.addAttribute("uv",new E(h,2))}function $b(){Da.call(this,{uniforms:Ga.merge([T.lights,{opacity:{value:1}}]),vertexShader:S.shadow_vert,fragmentShader:S.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 ac(a){Da.call(this,a);this.type="RawShaderMaterial"}function Qa(a){U.call(this);this.defines=
|
|
|
-{STANDARD:""};this.type="MeshStandardMaterial";this.color=new K(16777215);this.metalness=this.roughness=.5;this.lightMap=this.map=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new K(0);this.emissiveIntensity=1;this.bumpMap=this.emissiveMap=null;this.bumpScale=1;this.normalMap=null;this.normalScale=new D(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 ob(a){Qa.call(this);this.defines={PHYSICAL:""};this.type="MeshPhysicalMaterial";this.reflectivity=.5;this.clearCoatRoughness=this.clearCoat=0;this.setValues(a)}function ra(a){U.call(this);this.type="MeshPhongMaterial";this.color=new K(16777215);this.specular=new K(1118481);this.shininess=30;this.lightMap=
|
|
|
-this.map=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new K(0);this.emissiveIntensity=1;this.bumpMap=this.emissiveMap=null;this.bumpScale=1;this.normalMap=null;this.normalScale=new D(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 pb(a){ra.call(this);this.defines={TOON:""};this.type="MeshToonMaterial";this.gradientMap=null;this.setValues(a)}function qb(a){U.call(this,a);this.type="MeshNormalMaterial";this.bumpMap=null;this.bumpScale=1;this.normalMap=null;this.normalScale=new D(1,1);this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.wireframe=!1;this.wireframeLinewidth=1;this.morphNormals=this.morphTargets=this.skinning=
|
|
|
-this.lights=this.fog=!1;this.setValues(a)}function rb(a){U.call(this);this.type="MeshLambertMaterial";this.color=new K(16777215);this.lightMap=this.map=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new K(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 sb(a){U.call(this);this.type="LineDashedMaterial";this.color=new K(16777215);this.scale=this.linewidth=1;this.dashSize=3;this.gapSize=1;this.lights=!1;this.setValues(a)}function Yd(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 sa(a){this.manager=void 0!==a?a:za}function Oe(a){this.manager=void 0!==a?a:za;this._parser=null}function Zd(a){this.manager=void 0!==a?a:za;this._parser=null}function Sc(a){this.manager=void 0!==a?a:za}function $d(a){this.manager=void 0!==a?a:za}function od(a){this.manager=void 0!==a?a:za}function na(a,b){B.call(this);this.type="Light";this.color=new K(a);this.intensity=void 0!==b?b:1;
|
|
|
-this.receiveShadow=void 0}function pd(a,b,c){na.call(this,a,c);this.type="HemisphereLight";this.castShadow=void 0;this.position.copy(B.DefaultUp);this.updateMatrix();this.groundColor=new K(b)}function tb(a){this.camera=a;this.bias=0;this.radius=1;this.mapSize=new D(512,512);this.map=null;this.matrix=new L}function qd(){tb.call(this,new xa(50,1,.5,500))}function rd(a,b,c,d,e,f){na.call(this,a,b);this.type="SpotLight";this.position.copy(B.DefaultUp);this.updateMatrix();this.target=new B;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 qd}function sd(a,b,c,d){na.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 tb(new xa(90,
|
|
|
-1,.5,500))}function td(){tb.call(this,new Gb(-5,5,5,-5,.5,500))}function ud(a,b){na.call(this,a,b);this.type="DirectionalLight";this.position.copy(B.DefaultUp);this.updateMatrix();this.target=new B;this.shadow=new td}function vd(a,b){na.call(this,a,b);this.type="AmbientLight";this.castShadow=void 0}function wd(a,b,c,d){na.call(this,a,b);this.type="RectAreaLight";this.position.set(0,1,0);this.updateMatrix();this.width=void 0!==c?c:10;this.height=void 0!==d?d:10}function Ca(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 xd(a,b,c,d){Ca.call(this,a,b,c,d);this._offsetNext=this._weightNext=this._offsetPrev=this._weightPrev=-0}function Tc(a,b,c,d){Ca.call(this,a,b,c,d)}function yd(a,b,c,d){Ca.call(this,a,b,c,d)}function ub(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=ta.convertArray(b,this.TimeBufferType);
|
|
|
-this.values=ta.convertArray(c,this.ValueBufferType);this.setInterpolation(d||this.DefaultInterpolation);this.validate();this.optimize()}function bc(a,b,c,d){ub.call(this,a,b,c,d)}function zd(a,b,c,d){Ca.call(this,a,b,c,d)}function Uc(a,b,c,d){ub.call(this,a,b,c,d)}function cc(a,b,c,d){ub.call(this,a,b,c,d)}function Ad(a,b,c,d){ub.call(this,a,b,c,d)}function Bd(a,b,c){ub.call(this,a,b,c)}function Cd(a,b,c,d){ub.call(this,a,b,c,d)}function vb(a,b,c,d){ub.apply(this,arguments)}function Aa(a,b,c){this.name=
|
|
|
-a;this.tracks=c;this.duration=void 0!==b?b:-1;this.uuid=X.generateUUID();0>this.duration&&this.resetDuration();this.optimize()}function Dd(a){this.manager=void 0!==a?a:za;this.textures={}}function ae(a){this.manager=void 0!==a?a:za}function dc(){this.onLoadStart=function(){};this.onLoadProgress=function(){};this.onLoadComplete=function(){}}function be(a){"boolean"===typeof a&&(console.warn("THREE.JSONLoader: showStatus parameter has been removed from constructor."),a=void 0);this.manager=void 0!==
|
|
|
-a?a:za;this.withCredentials=!1}function Pe(a){this.manager=void 0!==a?a:za;this.texturePath=""}function Qe(a,b,c,d,e){b=.5*(d-b);e=.5*(e-c);var f=a*a;return(2*c-2*d+b+e)*a*f+(-3*c+3*d-2*b-e)*f+b*a+c}function wb(a,b,c,d){var e=1-a;return e*e*b+2*(1-a)*a*c+a*a*d}function xb(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}function fa(){}function Ra(a,b){this.v1=a;this.v2=b}function Vc(){this.curves=[];this.autoClose=!1}function Wa(a,b,c,d,e,f,g,h){this.aX=a;this.aY=b;this.xRadius=
|
|
|
-c;this.yRadius=d;this.aStartAngle=e;this.aEndAngle=f;this.aClockwise=g;this.aRotation=h||0}function yb(a){this.points=void 0===a?[]:a}function ec(a,b,c,d){this.v0=a;this.v1=b;this.v2=c;this.v3=d}function fc(a,b,c){this.v0=a;this.v1=b;this.v2=c}function Wc(a){Vc.call(this);this.currentPoint=new D;a&&this.fromPoints(a)}function zb(){Wc.apply(this,arguments);this.holes=[]}function ce(){this.subPaths=[];this.currentPath=null}function de(a){this.data=a}function Re(a){this.manager=void 0!==a?a:za}function ee(a){this.manager=
|
|
|
-void 0!==a?a:za}function Se(){this.type="StereoCamera";this.aspect=1;this.eyeSep=.064;this.cameraL=new xa;this.cameraL.layers.enable(1);this.cameraL.matrixAutoUpdate=!1;this.cameraR=new xa;this.cameraR.layers.enable(2);this.cameraR.matrixAutoUpdate=!1}function Ed(a,b,c){B.call(this);this.type="CubeCamera";var d=new xa(90,1,a,b);d.up.set(0,-1,0);d.lookAt(new p(1,0,0));this.add(d);var e=new xa(90,1,a,b);e.up.set(0,-1,0);e.lookAt(new p(-1,0,0));this.add(e);var f=new xa(90,1,a,b);f.up.set(0,0,1);f.lookAt(new p(0,
|
|
|
-1,0));this.add(f);var g=new xa(90,1,a,b);g.up.set(0,0,-1);g.lookAt(new p(0,-1,0));this.add(g);var h=new xa(90,1,a,b);h.up.set(0,-1,0);h.lookAt(new p(0,0,1));this.add(h);var k=new xa(90,1,a,b);k.up.set(0,-1,0);k.lookAt(new p(0,0,-1));this.add(k);this.renderTarget=new Cb(c,c,{format:1022,magFilter:1006,minFilter:1006});this.renderTarget.texture.name="CubeCamera";this.updateCubeMap=function(a,b){null===this.parent&&this.updateMatrixWorld();var c=this.renderTarget,n=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,h,c);c.texture.generateMipmaps=n;c.activeCubeFace=5;a.render(b,k,c);a.setRenderTarget(null)}}function fe(a){xa.call(this);this.enabled=!1;this.cameras=a||[]}function ge(){B.call(this);this.type="AudioListener";this.context=he.getContext();this.gain=this.context.createGain();this.gain.connect(this.context.destination);this.filter=
|
|
|
-null}function gc(a){B.call(this);this.type="Audio";this.context=a.context;this.gain=this.context.createGain();this.gain.connect(a.getInput());this.autoplay=!1;this.buffer=null;this.loop=!1;this.startTime=0;this.playbackRate=1;this.isPlaying=!1;this.hasPlaybackControl=!0;this.sourceType="empty";this.filters=[]}function ie(a){gc.call(this,a);this.panner=this.context.createPanner();this.panner.connect(this.gain)}function je(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 ke(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 Te(a,b,c){c=c||ia.parseTrackName(b);this._targetGroup=a;this._bindings=a.subscribe_(b,c)}function ia(a,
|
|
|
-b,c){this.path=b;this.parsedPath=c||ia.parseTrackName(b);this.node=ia.findNode(a,this.parsedPath.nodeName)||a;this.rootNode=a}function Ue(a){this.uuid=X.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 Ve(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 We(a){this._root=a;this._initMemoryManager();this.time=this._accuIndex=0;this.timeScale=1}function Fd(a,b){"string"===typeof a&&(console.warn("THREE.Uniform: Type parameter is no longer needed."),a=b);this.value=a}function le(){H.call(this);this.type="InstancedBufferGeometry";
|
|
|
-this.maxInstancedCount=void 0}function me(a,b,c,d){this.uuid=X.generateUUID();this.data=a;this.itemSize=b;this.offset=c;this.normalized=!0===d}function hc(a,b){this.uuid=X.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.onUploadCallback=function(){};this.version=0}function ne(a,b,c){hc.call(this,a,b);this.meshPerAttribute=c||1}function oe(a,b,c){Y.call(this,a,b);this.meshPerAttribute=c||1}function Xe(a,b,c,d){this.ray=
|
|
|
-new gb(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 Ye(a,b){return a.distance-b.distance}function pe(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++)pe(a[d],b,c,!0)}}function Ze(a){this.autoStart=void 0!==a?
|
|
|
-a:!0;this.elapsedTime=this.oldTime=this.startTime=0;this.running=!1}function $e(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 af(a,b,c){this.radius=void 0!==a?a:1;this.theta=void 0!==b?b:0;this.y=void 0!==c?c:0;return this}function pa(a,b){wa.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 Xc(a){B.call(this);
|
|
|
-this.material=a;this.render=function(a){}}function Yc(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 H;b=new E(6*b,3);c.addAttribute("position",b);ca.call(this,c,new ha({color:a,linewidth:d}));this.matrixAutoUpdate=!1;this.update()}function ic(a){B.call(this);this.light=a;this.light.updateMatrixWorld();this.matrix=a.matrixWorld;this.matrixAutoUpdate=
|
|
|
-!1;a=new H;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 E(b,3));b=new ha({fog:!1});this.cone=new ca(a,b);this.add(this.cone);this.update()}function jc(a){this.bones=this.getBoneList(a);for(var b=new H,c=[],d=[],e=new K(0,0,1),f=new K(0,1,0),g=0;g<this.bones.length;g++){var h=this.bones[g];h.parent&&h.parent.isBone&&(c.push(0,
|
|
|
-0,0),c.push(0,0,0),d.push(e.r,e.g,e.b),d.push(f.r,f.g,f.b))}b.addAttribute("position",new E(c,3));b.addAttribute("color",new E(d,3));c=new ha({vertexColors:2,depthTest:!1,depthWrite:!1,transparent:!0});ca.call(this,b,c);this.root=a;this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;this.update()}function kc(a,b){this.light=a;this.light.updateMatrixWorld();var c=new mb(b,4,2),d=new Ha({wireframe:!0,fog:!1});d.color.copy(this.light.color).multiplyScalar(this.light.intensity);wa.call(this,c,d);this.matrix=
|
|
|
-this.light.matrixWorld;this.matrixAutoUpdate=!1}function lc(a){B.call(this);this.light=a;this.light.updateMatrixWorld();var b=new Ha({color:a.color,fog:!1});a=new Ha({color:a.color,fog:!1,wireframe:!0});var c=new H;c.addAttribute("position",new Y(new Float32Array(18),3));this.add(new wa(c,b));this.add(new wa(c,a));this.update()}function mc(a,b){B.call(this);this.light=a;this.light.updateMatrixWorld();this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;var c=new lb(b);c.rotateY(.5*Math.PI);var d=new Ha({vertexColors:2,
|
|
|
-wireframe:!0}),e=c.getAttribute("position"),e=new Float32Array(3*e.count);c.addAttribute("color",new Y(e,3));this.add(new wa(c,d));this.update()}function Zc(a,b,c,d){a=a||10;b=b||10;c=new K(void 0!==c?c:4473924);d=new K(void 0!==d?d:8947848);var e=b/2,f=a/b,g=a/2;a=[];for(var h=[],k=0,m=0,r=-g;k<=b;k++,r+=f){a.push(-g,0,r,g,0,r);a.push(r,0,-g,r,0,g);var l=k===e?c:d;l.toArray(h,m);m+=3;l.toArray(h,m);m+=3;l.toArray(h,m);m+=3;l.toArray(h,m);m+=3}b=new H;b.addAttribute("position",new E(a,3));b.addAttribute("color",
|
|
|
-new E(h,3));c=new ha({vertexColors:2});ca.call(this,b,c)}function Gd(a,b,c,d,e,f){a=a||10;b=b||16;c=c||8;d=d||64;e=new K(void 0!==e?e:4473924);f=new K(void 0!==f?f:8947848);var g=[],h=[],k,m,r,l,n;for(r=0;r<=b;r++)m=r/b*2*Math.PI,k=Math.sin(m)*a,m=Math.cos(m)*a,g.push(0,0,0),g.push(k,0,m),n=r&1?e:f,h.push(n.r,n.g,n.b),h.push(n.r,n.g,n.b);for(r=0;r<=c;r++)for(n=r&1?e:f,l=a-a/c*r,b=0;b<d;b++)m=b/d*2*Math.PI,k=Math.sin(m)*l,m=Math.cos(m)*l,g.push(k,0,m),h.push(n.r,n.g,n.b),m=(b+1)/d*2*Math.PI,k=Math.sin(m)*
|
|
|
-l,m=Math.cos(m)*l,g.push(k,0,m),h.push(n.r,n.g,n.b);a=new H;a.addAttribute("position",new E(g,3));a.addAttribute("color",new E(h,3));g=new ha({vertexColors:2});ca.call(this,a,g)}function $c(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 H;b=new E(6*b,3);c.addAttribute("position",
|
|
|
-b);ca.call(this,c,new ha({color:a,linewidth:d}));this.matrixAutoUpdate=!1;this.update()}function nc(a,b){B.call(this);this.light=a;this.light.updateMatrixWorld();this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;void 0===b&&(b=1);var c=new H;c.addAttribute("position",new E([-b,b,0,b,b,0,b,-b,0,-b,-b,0,-b,b,0],3));var d=new ha({fog:!1});this.add(new Ka(c,d));c=new H;c.addAttribute("position",new E([0,0,0,0,0,1],3));this.add(new Ka(c,d));this.update()}function ad(a){function b(a,b,d){c(a,d);c(b,d)}
|
|
|
-function c(a,b){f.push(0,0,0);g.push(b.r,b.g,b.b);void 0===h[a]&&(h[a]=[]);h[a].push(f.length/3-1)}var d=new H,e=new ha({color:16777215,vertexColors:1}),f=[],g=[],h={},k=new K(16755200),m=new K(16711680),r=new K(43775),l=new K(16777215),n=new K(3355443);b("n1","n2",k);b("n2","n4",k);b("n4","n3",k);b("n3","n1",k);b("f1","f2",k);b("f2","f4",k);b("f4","f3",k);b("f3","f1",k);b("n1","f1",k);b("n2","f2",k);b("n3","f3",k);b("n4","f4",k);b("p","n1",m);b("p","n2",m);b("p","n3",m);b("p","n4",m);b("u1","u2",
|
|
|
-r);b("u2","u3",r);b("u3","u1",r);b("c","t",l);b("p","c",n);b("cn1","cn2",n);b("cn3","cn4",n);b("cf1","cf2",n);b("cf3","cf4",n);d.addAttribute("position",new E(f,3));d.addAttribute("color",new E(g,3));ca.call(this,d,e);this.camera=a;this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix();this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;this.pointMap=h;this.update()}function oc(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 H;e.setIndex(new Y(c,1));e.addAttribute("position",new Y(d,3));ca.call(this,e,new ha({color:b}));void 0!==a&&this.update(a)}function Ab(a,b,c,d,e,f){B.call(this);void 0===d&&(d=16776960);void 0===c&&(c=1);void 0===e&&(e=.2*c);void 0===f&&(f=.2*e);void 0===Hd&&(Hd=new H,Hd.addAttribute("position",new E([0,0,0,0,1,0],3)),qe=new Va(0,.5,1,5,1),qe.translate(0,-.5,0));this.position.copy(b);this.line=new Ka(Hd,new ha({color:d}));this.line.matrixAutoUpdate=!1;this.add(this.line);
|
|
|
-this.cone=new wa(qe,new Ha({color:d}));this.cone.matrixAutoUpdate=!1;this.add(this.cone);this.setDirection(a);this.setLength(c,e,f)}function Id(a){a=a||1;var b=[0,0,0,a,0,0,0,0,0,0,a,0,0,0,0,0,0,a];a=new H;a.addAttribute("position",new E(b,3));a.addAttribute("color",new E([1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],3));b=new ha({vertexColors:2});ca.call(this,a,b)}function re(){var a=0,b=0,c=0,d=0;return{initCatmullRom:function(e,f,g,h,k){e=k*(g-e);h=k*(h-f);a=f;b=e;c=-3*f+3*g-2*e-h;d=2*f-2*g+e+h},initNonuniformCatmullRom:function(e,
|
|
|
-f,g,h,k,m,r){e=((f-e)/k-(g-e)/(k+m)+(g-f)/m)*m;h=((g-f)/m-(h-f)/(m+r)+(h-g)/r)*m;a=f;b=e;c=-3*f+3*g-2*e-h;d=2*f-2*g+e+h},calc:function(e){var f=e*e;return a+b*e+c*f+d*f*e}}}function Ja(a){this.points=a||[];this.closed=!1}function bd(a,b,c,d){this.v0=a;this.v1=b;this.v2=c;this.v3=d}function cd(a,b,c){this.v0=a;this.v1=b;this.v2=c}function dd(a,b){this.v1=a;this.v2=b}function Jd(a,b,c,d,e,f){Wa.call(this,a,b,c,c,d,e,f)}function bf(a){console.warn("THREE.ClosedSplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead.");
|
|
|
-Ja.call(this,a);this.type="catmullrom";this.closed=!0}function cf(a){console.warn("THREE.SplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead.");Ja.call(this,a);this.type="catmullrom"}function se(a){console.warn("THREE.Spline has been removed. Use THREE.CatmullRomCurve3 instead.");Ja.call(this,a);this.type="catmullrom"}void 0===Number.EPSILON&&(Number.EPSILON=Math.pow(2,-52));void 0===Number.isInteger&&(Number.isInteger=function(a){return"number"===typeof a&&isFinite(a)&&Math.floor(a)===
|
|
|
-a});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]*)/)[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)},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!==
|
|
|
+3,A.FLOAT,!1,0,0));ea.disableUnusedAttributes();A.drawArrays(A.TRIANGLES,0,a.count);a.count=0};this.renderBufferDirect=function(a,b,c,d,e,f){ea.setMaterial(d);var g=q(a,b,d,e);a=c.id+"_"+g.id+"_"+(!0===d.wireframe);var m=!1;a!==N&&(N=a,m=!0);b=e.morphTargetInfluences;if(void 0!==b){var k=[];a=0;for(var r=b.length;a<r;a++)m=b[a],k.push([m,a]);k.sort(h);8<k.length&&(k.length=8);var n=c.morphAttributes;a=0;for(r=k.length;a<r;a++)m=k[a],Z[a]=m[0],0!==m[0]?(b=m[1],!0===d.morphTargets&&n.position&&c.addAttribute("morphTarget"+
|
|
|
+a,n.position[b]),!0===d.morphNormals&&n.normal&&c.addAttribute("morphNormal"+a,n.normal[b])):(!0===d.morphTargets&&c.removeAttribute("morphTarget"+a),!0===d.morphNormals&&c.removeAttribute("morphNormal"+a));a=k.length;for(b=Z.length;a<b;a++)Z[a]=0;g.getUniforms().setValue(A,"morphTargetInfluences",Z);m=!0}b=c.index;r=c.attributes.position;k=1;!0===d.wireframe&&(b=Ca.getWireframeAttribute(c),k=2);a=Ka;null!==b&&(a=La,a.setIndex(b));if(m){m=void 0;if(c&&c.isInstancedBufferGeometry&&null===la.get("ANGLE_instanced_arrays"))console.error("THREE.WebGLRenderer.setupVertexAttributes: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");
|
|
|
+else{void 0===m&&(m=0);ea.initAttributes();var n=c.attributes,g=g.getAttributes(),l=d.defaultAttributeValues,u;for(u in g){var t=g[u];if(0<=t){var x=n[u];if(void 0!==x){var w=x.normalized,p=x.itemSize,v=za.get(x),y=v.buffer,z=v.type,v=v.bytesPerElement;if(x.isInterleavedBufferAttribute){var G=x.data,O=G.stride,x=x.offset;G&&G.isInstancedInterleavedBuffer?(ea.enableAttributeAndDivisor(t,G.meshPerAttribute),void 0===c.maxInstancedCount&&(c.maxInstancedCount=G.meshPerAttribute*G.count)):ea.enableAttribute(t);
|
|
|
+A.bindBuffer(A.ARRAY_BUFFER,y);A.vertexAttribPointer(t,p,z,w,O*v,(m*O+x)*v)}else x.isInstancedBufferAttribute?(ea.enableAttributeAndDivisor(t,x.meshPerAttribute),void 0===c.maxInstancedCount&&(c.maxInstancedCount=x.meshPerAttribute*x.count)):ea.enableAttribute(t),A.bindBuffer(A.ARRAY_BUFFER,y),A.vertexAttribPointer(t,p,z,w,0,m*p*v)}else if(void 0!==l&&(w=l[u],void 0!==w))switch(w.length){case 2:A.vertexAttrib2fv(t,w);break;case 3:A.vertexAttrib3fv(t,w);break;case 4:A.vertexAttrib4fv(t,w);break;default:A.vertexAttrib1fv(t,
|
|
|
+w)}}}ea.disableUnusedAttributes()}null!==b&&A.bindBuffer(A.ELEMENT_ARRAY_BUFFER,za.get(b).buffer)}u=0;null!==b?u=b.count:void 0!==r&&(u=r.count);r=c.drawRange.start*k;m=null!==f?f.start*k:0;b=Math.max(r,m);f=Math.max(0,Math.min(u,r+c.drawRange.count*k,m+(null!==f?f.count*k:Infinity))-1-b+1);if(0!==f){if(e.isMesh)if(!0===d.wireframe)ea.setLineWidth(d.wireframeLinewidth*(null===E?M: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),ea.setLineWidth(d*(null===E?M:1)),e.isLineSegments?a.setMode(A.LINES):e.isLineLoop?a.setMode(A.LINE_LOOP):a.setMode(A.LINE_STRIP)):e.isPoints&&a.setMode(A.POINTS);c&&c.isInstancedBufferGeometry?0<c.maxInstancedCount&&a.renderInstances(c,b,f):a.render(b,f)}};this.render=function(a,b,c,d){if(void 0!==b&&!0!==b.isCamera)console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");else{N="";
|
|
|
+Q=-1;W=null;!0===a.autoUpdate&&a.updateMatrixWorld();b.onBeforeRender(J);null===b.parent&&b.updateMatrixWorld();b.matrixWorldInverse.getInverse(b.matrixWorld);hd.multiplyMatrices(b.projectionMatrix,b.matrixWorldInverse);Td.setFromMatrix(hd);F.length=0;aa.length=0;D.length=0;Ud=this.localClippingEnabled;oa=Pa.init(this.clippingPlanes,Ud,b);H=Fa.get(a,b);H.init();k(a,b,J.sortObjects);H.finish();!0===J.sortObjects&&H.sort();oa&&Pa.beginShadows();for(var e=F,f=0,g=0,h=e.length;g<h;g++){var r=e[g];r.castShadow&&
|
|
|
+(da.shadows[f]=r,f++)}da.shadows.length=f;Ja.render(a,b);for(var e=F,n,q=r=0,l=0,u,t,x,w=b.matrixWorldInverse,p=0,v=0,y=0,z=0,G=0,f=0,g=e.length;f<g;f++)if(h=e[f],n=h.color,u=h.intensity,t=h.distance,x=h.shadow&&h.shadow.map?h.shadow.map.texture:null,h.isAmbientLight)r+=n.r*u,q+=n.g*u,l+=n.b*u;else if(h.isDirectionalLight){var C=Ba.get(h);C.color.copy(h.color).multiplyScalar(h.intensity);C.direction.setFromMatrixPosition(h.matrixWorld);Oa.setFromMatrixPosition(h.target.matrixWorld);C.direction.sub(Oa);
|
|
|
+C.direction.transformDirection(w);if(C.shadow=h.castShadow)n=h.shadow,C.shadowBias=n.bias,C.shadowRadius=n.radius,C.shadowMapSize=n.mapSize;da.directionalShadowMap[p]=x;da.directionalShadowMatrix[p]=h.shadow.matrix;da.directional[p]=C;p++}else if(h.isSpotLight){C=Ba.get(h);C.position.setFromMatrixPosition(h.matrixWorld);C.position.applyMatrix4(w);C.color.copy(n).multiplyScalar(u);C.distance=t;C.direction.setFromMatrixPosition(h.matrixWorld);Oa.setFromMatrixPosition(h.target.matrixWorld);C.direction.sub(Oa);
|
|
|
+C.direction.transformDirection(w);C.coneCos=Math.cos(h.angle);C.penumbraCos=Math.cos(h.angle*(1-h.penumbra));C.decay=0===h.distance?0:h.decay;if(C.shadow=h.castShadow)n=h.shadow,C.shadowBias=n.bias,C.shadowRadius=n.radius,C.shadowMapSize=n.mapSize;da.spotShadowMap[y]=x;da.spotShadowMatrix[y]=h.shadow.matrix;da.spot[y]=C;y++}else if(h.isRectAreaLight)C=Ba.get(h),C.color.copy(n).multiplyScalar(u/(h.width*h.height)),C.position.setFromMatrixPosition(h.matrixWorld),C.position.applyMatrix4(w),pa.identity(),
|
|
|
+Wd.copy(h.matrixWorld),Wd.premultiply(w),pa.extractRotation(Wd),C.halfWidth.set(.5*h.width,0,0),C.halfHeight.set(0,.5*h.height,0),C.halfWidth.applyMatrix4(pa),C.halfHeight.applyMatrix4(pa),da.rectArea[z]=C,z++;else if(h.isPointLight){C=Ba.get(h);C.position.setFromMatrixPosition(h.matrixWorld);C.position.applyMatrix4(w);C.color.copy(h.color).multiplyScalar(h.intensity);C.distance=h.distance;C.decay=0===h.distance?0:h.decay;if(C.shadow=h.castShadow)n=h.shadow,C.shadowBias=n.bias,C.shadowRadius=n.radius,
|
|
|
+C.shadowMapSize=n.mapSize;da.pointShadowMap[v]=x;void 0===da.pointShadowMatrix[v]&&(da.pointShadowMatrix[v]=new L);Oa.setFromMatrixPosition(h.matrixWorld).negate();da.pointShadowMatrix[v].identity().setPosition(Oa);da.point[v]=C;v++}else h.isHemisphereLight&&(C=Ba.get(h),C.direction.setFromMatrixPosition(h.matrixWorld),C.direction.transformDirection(w),C.direction.normalize(),C.skyColor.copy(h.color).multiplyScalar(u),C.groundColor.copy(h.groundColor).multiplyScalar(u),da.hemi[G]=C,G++);da.ambient[0]=
|
|
|
+r;da.ambient[1]=q;da.ambient[2]=l;da.directional.length=p;da.spot.length=y;da.rectArea.length=z;da.point.length=v;da.hemi.length=G;da.hash=p+","+v+","+y+","+z+","+G+","+da.shadows.length;oa&&Pa.endShadows();ia.frame++;ia.calls=0;ia.vertices=0;ia.faces=0;ia.points=0;void 0===c&&(c=null);this.setRenderTarget(c);e=a.background;null===e?ea.buffers.color.setClear(Ia.r,Ia.g,Ia.b,U,O):e&&e.isColor&&(ea.buffers.color.setClear(e.r,e.g,e.b,1,O),d=!0);(this.autoClear||d)&&this.clear(this.autoClearColor,this.autoClearDepth,
|
|
|
+this.autoClearStencil);e&&e.isCubeTexture?(void 0===ra&&(ra=new xa,sa=new wa(new jb(5,5,5),new Da({uniforms:$a.cube.uniforms,vertexShader:$a.cube.vertexShader,fragmentShader:$a.cube.fragmentShader,side:1,depthTest:!1,depthWrite:!1,fog:!1}))),ra.projectionMatrix.copy(b.projectionMatrix),ra.matrixWorld.extractRotation(b.matrixWorld),ra.matrixWorldInverse.getInverse(ra.matrixWorld),sa.material.uniforms.tCube.value=e,sa.modelViewMatrix.multiplyMatrices(ra.matrixWorldInverse,sa.matrixWorld),va.update(sa),
|
|
|
+J.renderBufferDirect(ra,null,sa.geometry,sa.material,sa,null)):e&&e.isTexture&&(void 0===Ea&&(Ea=new Gb(-1,1,1,-1,0,1),ya=new wa(new kb(2,2),new Ha({depthTest:!1,depthWrite:!1,fog:!1}))),ya.material.map=e,va.update(ya),J.renderBufferDirect(Ea,null,ya.geometry,ya.material,ya,null));d=H.opaque;e=H.transparent;a.overrideMaterial?(f=a.overrideMaterial,d.length&&m(d,a,b,f),e.length&&m(e,a,b,f)):(d.length&&m(d,a,b),e.length&&m(e,a,b));Ma.render(a,b);Na.render(a,b,R);c&&qa.updateRenderTargetMipmap(c);ea.buffers.depth.setTest(!0);
|
|
|
+ea.buffers.depth.setMask(!0);ea.buffers.color.setMask(!0);b.isArrayCamera&&b.enabled&&J.setScissorTest(!1);b.onAfterRender(J)}};this.setFaceCulling=function(a,b){ea.setCullFace(a);ea.setFlipSided(0===b)};this.allocTextureUnit=function(){var a=Y;a>=ma.maxTextures&&console.warn("WebGLRenderer: trying to use "+a+" texture units while this GPU supports only "+ma.maxTextures);Y+=1;return a};this.setTexture2D=function(){var a=!1;return function(b,c){b&&b.isWebGLRenderTarget&&(a||(console.warn("THREE.WebGLRenderer.setTexture2D: don't use render targets as textures. Use their .texture property instead."),
|
|
|
+a=!0),b=b.texture);qa.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);qa.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?qa.setTextureCube(b,c):qa.setTextureCubeDynamic(b,c)}}();this.getRenderTarget=function(){return E};this.setRenderTarget=function(a){(E=a)&&void 0===fa.get(a).__webglFramebuffer&&qa.setupRenderTarget(a);var b=a&&a.isWebGLRenderTargetCube,c;a?(c=fa.get(a),c=b?c.__webglFramebuffer[a.activeCubeFace]:c.__webglFramebuffer,ka.copy(a.scissor),V=a.scissorTest,R.copy(a.viewport)):(c=null,ka.copy(ca).multiplyScalar(M),V=na,R.copy(ha).multiplyScalar(M));P!==c&&(A.bindFramebuffer(A.FRAMEBUFFER,
|
|
|
+c),P=c);ea.scissor(ka);ea.setScissorTest(V);ea.viewport(R);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 h=!1;g!==P&&(A.bindFramebuffer(A.FRAMEBUFFER,
|
|
|
+g),h=!0);try{var m=a.texture,k=m.format,r=m.type;1023!==k&&x(k)!==A.getParameter(A.IMPLEMENTATION_COLOR_READ_FORMAT)?console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format."):1009===r||x(r)===A.getParameter(A.IMPLEMENTATION_COLOR_READ_TYPE)||1015===r&&(la.get("OES_texture_float")||la.get("WEBGL_color_buffer_float"))||1016===r&&la.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,x(k),x(r),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{h&&A.bindFramebuffer(A.FRAMEBUFFER,P)}}}}}function Hb(a,b){this.name="";this.color=new K(a);this.density=void 0!==b?b:2.5E-4}function Ib(a,b,c){this.name="";this.color=
|
|
|
+new K(a);this.near=void 0!==b?b:1;this.far=void 0!==c?c:1E3}function id(){B.call(this);this.type="Scene";this.overrideMaterial=this.fog=this.background=null;this.autoUpdate=!0}function Xd(a,b,c,d,e){B.call(this);this.lensFlares=[];this.positionScreen=new p;this.customUpdateCallback=void 0;void 0!==a&&this.add(a,b,c,d,e)}function bb(a){U.call(this);this.type="SpriteMaterial";this.color=new K(16777215);this.map=null;this.rotation=0;this.lights=this.fog=!1;this.setValues(a)}function xc(a){B.call(this);
|
|
|
+this.type="Sprite";this.material=void 0!==a?a:new bb}function yc(){B.call(this);this.type="LOD";Object.defineProperties(this,{levels:{enumerable:!0,value:[]}})}function zc(a,b){a=a||[];this.bones=a.slice(0);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{console.warn("THREE.Skeleton boneInverses is the wrong length.");this.boneInverses=[];for(var c=0,d=this.bones.length;c<d;c++)this.boneInverses.push(new L)}}
|
|
|
+function jd(){B.call(this);this.type="Bone"}function kd(a,b){wa.call(this,a,b);this.type="SkinnedMesh";this.bindMode="attached";this.bindMatrix=new L;this.bindMatrixInverse=new L;var c=this.initBones(),c=new zc(c);this.bind(c,this.matrixWorld);this.normalizeSkinWeights()}function ha(a){U.call(this);this.type="LineBasicMaterial";this.color=new K(16777215);this.linewidth=1;this.linejoin=this.linecap="round";this.lights=!1;this.setValues(a)}function Ka(a,b,c){if(1===c)return console.warn("THREE.Line: parameter THREE.LinePieces no longer supported. Created THREE.LineSegments instead."),
|
|
|
+new ca(a,b);B.call(this);this.type="Line";this.geometry=void 0!==a?a:new I;this.material=void 0!==b?b:new ha({color:16777215*Math.random()})}function ca(a,b){Ka.call(this,a,b);this.type="LineSegments"}function ld(a,b){Ka.call(this,a,b);this.type="LineLoop"}function La(a){U.call(this);this.type="PointsMaterial";this.color=new K(16777215);this.map=null;this.size=1;this.sizeAttenuation=!0;this.lights=!1;this.setValues(a)}function Jb(a,b){B.call(this);this.type="Points";this.geometry=void 0!==a?a:new I;
|
|
|
+this.material=void 0!==b?b:new La({color:16777215*Math.random()})}function Ac(){B.call(this);this.type="Group"}function md(a,b,c,d,e,f,g,h,k){function m(){requestAnimationFrame(m);a.readyState>=a.HAVE_CURRENT_DATA&&(r.needsUpdate=!0)}ba.call(this,a,b,c,d,e,f,g,h,k);this.generateMipmaps=!1;var r=this;m()}function Kb(a,b,c,d,e,f,g,h,k,m,r,q){ba.call(this,null,f,g,h,k,m,d,e,r,q);this.image={width:b,height:c};this.mipmaps=a;this.generateMipmaps=this.flipY=!1}function nd(a,b,c,d,e,f,g,h,k){ba.call(this,
|
|
|
+a,b,c,d,e,f,g,h,k);this.needsUpdate=!0}function Bc(a,b,c,d,e,f,g,h,k,m){m=void 0!==m?m:1026;if(1026!==m&&1027!==m)throw Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===c&&1026===m&&(c=1012);void 0===c&&1027===m&&(c=1020);ba.call(this,null,d,e,f,g,h,m,c,k);this.image={width:a,height:b};this.magFilter=void 0!==g?g:1003;this.minFilter=void 0!==h?h:1003;this.generateMipmaps=this.flipY=!1}function Lb(a){function b(a,b){return a-b}I.call(this);this.type=
|
|
|
+"WireframeGeometry";var c=[],d,e,f,g,h=[0,0],k={},m,r=["a","b","c"];if(a&&a.isGeometry){var q=a.faces;d=0;for(f=q.length;d<f;d++){var n=q[d];for(e=0;3>e;e++)h[0]=n[r[e]],h[1]=n[r[(e+1)%3]],h.sort(b),m=h.toString(),void 0===k[m]&&(k[m]={index1:h[0],index2:h[1]})}for(m in k)d=k[m],r=a.vertices[d.index1],c.push(r.x,r.y,r.z),r=a.vertices[d.index2],c.push(r.x,r.y,r.z)}else if(a&&a.isBufferGeometry){var l,r=new p;if(null!==a.index){q=a.attributes.position;n=a.index;l=a.groups;0===l.length&&(l=[{start:0,
|
|
|
+count:n.count,materialIndex:0}]);a=0;for(g=l.length;a<g;++a)for(d=l[a],e=d.start,f=d.count,d=e,f=e+f;d<f;d+=3)for(e=0;3>e;e++)h[0]=n.getX(d+e),h[1]=n.getX(d+(e+1)%3),h.sort(b),m=h.toString(),void 0===k[m]&&(k[m]={index1:h[0],index2:h[1]});for(m in k)d=k[m],r.fromBufferAttribute(q,d.index1),c.push(r.x,r.y,r.z),r.fromBufferAttribute(q,d.index2),c.push(r.x,r.y,r.z)}else for(q=a.attributes.position,d=0,f=q.count/3;d<f;d++)for(e=0;3>e;e++)k=3*d+e,r.fromBufferAttribute(q,k),c.push(r.x,r.y,r.z),k=3*d+(e+
|
|
|
+1)%3,r.fromBufferAttribute(q,k),c.push(r.x,r.y,r.z)}this.addAttribute("position",new E(c,3))}function Cc(a,b,c){P.call(this);this.type="ParametricGeometry";this.parameters={func:a,slices:b,stacks:c};this.fromBufferGeometry(new Mb(a,b,c));this.mergeVertices()}function Mb(a,b,c){I.call(this);this.type="ParametricBufferGeometry";this.parameters={func:a,slices:b,stacks:c};var d=[],e=[],f=[],g,h,k=b+1;for(g=0;g<=c;g++){var m=g/c;for(h=0;h<=b;h++){var r=h/b,q=a(r,m);e.push(q.x,q.y,q.z);f.push(r,m)}}for(g=
|
|
|
+0;g<c;g++)for(h=0;h<b;h++)a=g*k+h+1,m=(g+1)*k+h+1,r=(g+1)*k+h,d.push(g*k+h,a,r),d.push(a,m,r);this.setIndex(d);this.addAttribute("position",new E(e,3));this.addAttribute("uv",new E(f,2));this.computeVertexNormals()}function Dc(a,b,c,d){P.call(this);this.type="PolyhedronGeometry";this.parameters={vertices:a,indices:b,radius:c,detail:d};this.fromBufferGeometry(new ma(a,b,c,d));this.mergeVertices()}function ma(a,b,c,d){function e(a){h.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&&(k[b]=a.x-1);0===c.x&&0===c.z&&(k[b]=d/2/Math.PI+.5)}I.call(this);this.type="PolyhedronBufferGeometry";this.parameters={vertices:a,indices:b,radius:c,detail:d};c=c||1;var h=[],k=[];(function(a){for(var c=new p,d=new p,g=new p,h=0;h<b.length;h+=3){f(b[h+0],c);f(b[h+1],d);f(b[h+2],g);var k=c,l=d,z=g,y=Math.pow(2,a),w=[],G,v;for(G=0;G<=y;G++){w[G]=[];var O=k.clone().lerp(z,G/y),C=l.clone().lerp(z,G/y),F=y-G;for(v=0;v<=F;v++)w[G][v]=0===v&&G===y?O:O.clone().lerp(C,
|
|
|
+v/F)}for(G=0;G<y;G++)for(v=0;v<2*(y-G)-1;v++)k=Math.floor(v/2),0===v%2?(e(w[G][k+1]),e(w[G+1][k]),e(w[G][k])):(e(w[G][k+1]),e(w[G+1][k+1]),e(w[G+1][k]))}})(d||0);(function(a){for(var b=new p,c=0;c<h.length;c+=3)b.x=h[c+0],b.y=h[c+1],b.z=h[c+2],b.normalize().multiplyScalar(a),h[c+0]=b.x,h[c+1]=b.y,h[c+2]=b.z})(c);(function(){for(var a=new p,b=0;b<h.length;b+=3)a.x=h[b+0],a.y=h[b+1],a.z=h[b+2],k.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 p,b=new p,c=new p,d=new p,e=new D,f=new D,l=new D,z=0,y=0;z<h.length;z+=9,y+=6){a.set(h[z+0],h[z+1],h[z+2]);b.set(h[z+3],h[z+4],h[z+5]);c.set(h[z+6],h[z+7],h[z+8]);e.set(k[y+0],k[y+1]);f.set(k[y+2],k[y+3]);l.set(k[y+4],k[y+5]);d.copy(a).add(b).add(c).divideScalar(3);var w=Math.atan2(d.z,-d.x);g(e,y+0,a,w);g(f,y+2,b,w);g(l,y+4,c,w)}for(a=0;a<k.length;a+=6)b=k[a+0],c=k[a+2],d=k[a+4],e=Math.min(b,c,d),.9<Math.max(b,c,d)&&.1>e&&(.2>b&&(k[a+0]+=1),.2>c&&(k[a+2]+=1),.2>d&&(k[a+4]+=1))})();this.addAttribute("position",
|
|
|
+new E(h,3));this.addAttribute("normal",new E(h.slice(),3));this.addAttribute("uv",new E(k,2));this.normalizeNormals()}function Ec(a,b){P.call(this);this.type="TetrahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new Nb(a,b));this.mergeVertices()}function Nb(a,b){ma.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 Fc(a,b){P.call(this);this.type="OctahedronGeometry";
|
|
|
+this.parameters={radius:a,detail:b};this.fromBufferGeometry(new lb(a,b));this.mergeVertices()}function lb(a,b){ma.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 Gc(a,b){P.call(this);this.type="IcosahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new Ob(a,b));this.mergeVertices()}function Ob(a,b){var c=(1+Math.sqrt(5))/2;ma.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 Hc(a,b){P.call(this);this.type="DodecahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new Pb(a,b));this.mergeVertices()}function Pb(a,b){var c=(1+Math.sqrt(5))/2,d=1/c;
|
|
|
+ma.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 Ic(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 Qb(a,b,c,d,e);this.tangents=a.tangents;this.normals=a.normals;this.binormals=a.binormals;this.fromBufferGeometry(a);this.mergeVertices()}function Qb(a,b,c,d,e){function f(e){var f=a.getPointAt(e/b),m=g.normals[e];e=g.binormals[e];for(q=0;q<=d;q++){var r=q/d*Math.PI*2,t=Math.sin(r),
|
|
|
+r=-Math.cos(r);k.x=r*m.x+t*e.x;k.y=r*m.y+t*e.y;k.z=r*m.z+t*e.z;k.normalize();l.push(k.x,k.y,k.z);h.x=f.x+c*k.x;h.y=f.y+c*k.y;h.z=f.z+c*k.z;n.push(h.x,h.y,h.z)}}I.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 h=new p,k=new p,m=new D,r,q,n=[],l=[],x=[],t=[];for(r=0;r<b;r++)f(r);f(!1===e?
|
|
|
+b:0);for(r=0;r<=b;r++)for(q=0;q<=d;q++)m.x=r/b,m.y=q/d,x.push(m.x,m.y);(function(){for(q=1;q<=b;q++)for(r=1;r<=d;r++){var a=(d+1)*q+(r-1),c=(d+1)*q+r,e=(d+1)*(q-1)+r;t.push((d+1)*(q-1)+(r-1),a,e);t.push(a,c,e)}})();this.setIndex(t);this.addAttribute("position",new E(n,3));this.addAttribute("normal",new E(l,3));this.addAttribute("uv",new E(x,2))}function Jc(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 Rb(a,b,c,d,e,f));this.mergeVertices()}function Rb(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}I.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 h=[],k=[],m=[],r=[],q,n,l=new p,x=new p;new D;var t=new p,z=new p,y=new p,w=new p,G=new p;for(q=0;q<=c;++q)for(n=q/c*e*Math.PI*2,g(n,e,f,a,t),g(n+.01,e,f,a,z),w.subVectors(z,t),G.addVectors(z,t),y.crossVectors(w,G),G.crossVectors(y,w),y.normalize(),G.normalize(),n=0;n<=d;++n){var v=n/d*Math.PI*2,O=-b*Math.cos(v),v=b*Math.sin(v);l.x=t.x+(O*G.x+v*y.x);l.y=t.y+(O*G.y+v*y.y);l.z=t.z+(O*G.z+v*y.z);k.push(l.x,l.y,l.z);x.subVectors(l,t).normalize();m.push(x.x,x.y,x.z);r.push(q/c);r.push(n/
|
|
|
+d)}for(n=1;n<=c;n++)for(q=1;q<=d;q++)a=(d+1)*n+(q-1),b=(d+1)*n+q,e=(d+1)*(n-1)+q,h.push((d+1)*(n-1)+(q-1),a,e),h.push(a,b,e);this.setIndex(h);this.addAttribute("position",new E(k,3));this.addAttribute("normal",new E(m,3));this.addAttribute("uv",new E(r,2))}function Kc(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 Sb(a,b,c,d,e))}function Sb(a,b,c,d,e){I.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=[],g=[],h=[],k=[],m=new p,r=new p,q=new p,n,l;for(n=0;n<=c;n++)for(l=0;l<=d;l++){var x=l/d*e,t=n/c*Math.PI*2;r.x=(a+b*Math.cos(t))*Math.cos(x);r.y=(a+b*Math.cos(t))*Math.sin(x);r.z=b*Math.sin(t);g.push(r.x,r.y,r.z);m.x=a*Math.cos(x);m.y=a*Math.sin(x);q.subVectors(r,m).normalize();h.push(q.x,q.y,q.z);k.push(l/d);k.push(n/c)}for(n=1;n<=c;n++)for(l=1;l<=
|
|
|
+d;l++)a=(d+1)*(n-1)+l-1,b=(d+1)*(n-1)+l,e=(d+1)*n+l,f.push((d+1)*n+l-1,a,e),f.push(a,b,e);this.setIndex(f);this.addAttribute("position",new E(g,3));this.addAttribute("normal",new E(h,3));this.addAttribute("uv",new E(k,2))}function cb(a,b){P.call(this);this.type="ExtrudeGeometry";this.parameters={shapes:a,options:b};this.fromBufferGeometry(new Ea(a,b));this.mergeVertices()}function Ea(a,b){"undefined"!==typeof a&&(I.call(this),this.type="ExtrudeBufferGeometry",a=Array.isArray(a)?a:[a],this.addShapeList(a,
|
|
|
+b),this.computeVertexNormals())}function Lc(a,b){P.call(this);this.type="TextGeometry";this.parameters={text:a,parameters:b};this.fromBufferGeometry(new Tb(a,b));this.mergeVertices()}function Tb(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);Ea.call(this,c,b);this.type="TextGeometry"}function Mc(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 mb(a,b,c,d,e,f,g))}function mb(a,b,c,d,e,f,g){I.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;var h=f+g,k,m,r=0,q=[],n=new p,l=new p,x=[],t=[],z=[],y=[];for(m=0;m<=c;m++){var w=[],G=m/c;for(k=0;k<=b;k++){var v=k/b;n.x=-a*Math.cos(d+v*e)*Math.sin(f+G*g);n.y=a*Math.cos(f+G*g);n.z=a*Math.sin(d+v*e)*Math.sin(f+G*g);t.push(n.x,n.y,n.z);l.set(n.x,n.y,n.z).normalize();z.push(l.x,l.y,l.z);y.push(v,1-G);w.push(r++)}q.push(w)}for(m=0;m<c;m++)for(k=0;k<b;k++)a=
|
|
|
+q[m][k+1],d=q[m][k],e=q[m+1][k],g=q[m+1][k+1],(0!==m||0<f)&&x.push(a,d,g),(m!==c-1||h<Math.PI)&&x.push(d,e,g);this.setIndex(x);this.addAttribute("position",new E(t,3));this.addAttribute("normal",new E(z,3));this.addAttribute("uv",new E(y,2))}function Nc(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 Ub(a,b,c,d,e,f))}function Ub(a,b,c,d,e,f){I.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=[],h=[],k=[],m=[],r=a,q=(b-a)/d,n=new p,l=new D,x,t;for(x=0;x<=d;x++){for(t=0;t<=c;t++)a=e+t/c*f,n.x=r*Math.cos(a),n.y=r*Math.sin(a),h.push(n.x,n.y,n.z),k.push(0,0,1),l.x=(n.x/b+1)/2,l.y=(n.y/b+1)/2,m.push(l.x,l.y);r+=q}for(x=0;x<d;x++)for(b=x*(c+1),t=0;t<
|
|
|
+c;t++)a=t+b,e=a+c+1,f=a+c+2,r=a+1,g.push(a,e,r),g.push(e,f,r);this.setIndex(g);this.addAttribute("position",new E(h,3));this.addAttribute("normal",new E(k,3));this.addAttribute("uv",new E(m,2))}function Oc(a,b,c,d){P.call(this);this.type="LatheGeometry";this.parameters={points:a,segments:b,phiStart:c,phiLength:d};this.fromBufferGeometry(new Vb(a,b,c,d));this.mergeVertices()}function Vb(a,b,c,d){I.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=X.clamp(d,0,2*Math.PI);var e=[],f=[],g=[],h=1/b,k=new p,m=new D,r,q;for(r=0;r<=b;r++){q=c+r*h*d;var n=Math.sin(q),l=Math.cos(q);for(q=0;q<=a.length-1;q++)k.x=a[q].x*n,k.y=a[q].y,k.z=a[q].x*l,f.push(k.x,k.y,k.z),m.x=r/b,m.y=q/(a.length-1),g.push(m.x,m.y)}for(r=0;r<b;r++)for(q=0;q<a.length-1;q++)c=q+r*a.length,h=c+a.length,k=c+a.length+1,m=c+1,e.push(c,h,m),e.push(h,k,m);this.setIndex(e);this.addAttribute("position",new E(f,3));this.addAttribute("uv",new E(g,
|
|
|
+2));this.computeVertexNormals();if(d===2*Math.PI)for(d=this.attributes.normal.array,e=new p,f=new p,g=new p,c=b*a.length*3,q=r=0;r<a.length;r++,q+=3)e.x=d[q+0],e.y=d[q+1],e.z=d[q+2],f.x=d[c+q+0],f.y=d[c+q+1],f.z=d[c+q+2],g.addVectors(e,f).normalize(),d[q+0]=d[c+q+0]=g.x,d[q+1]=d[c+q+1]=g.y,d[q+2]=d[c+q+2]=g.z}function Wb(a,b){P.call(this);this.type="ShapeGeometry";"object"===typeof b&&(console.warn("THREE.ShapeGeometry: Options parameter has been removed."),b=b.curveSegments);this.parameters={shapes:a,
|
|
|
+curveSegments:b};this.fromBufferGeometry(new Xb(a,b));this.mergeVertices()}function Xb(a,b){function c(a){var c,h,m=e.length/3;a=a.extractPoints(b);var l=a.shape,t=a.holes;if(!1===ya.isClockWise(l))for(l=l.reverse(),a=0,c=t.length;a<c;a++)h=t[a],!0===ya.isClockWise(h)&&(t[a]=h.reverse());var p=ya.triangulateShape(l,t);a=0;for(c=t.length;a<c;a++)h=t[a],l=l.concat(h);a=0;for(c=l.length;a<c;a++)h=l[a],e.push(h.x,h.y,0),f.push(0,0,1),g.push(h.x,h.y);a=0;for(c=p.length;a<c;a++)l=p[a],d.push(l[0]+m,l[1]+
|
|
|
+m,l[2]+m),k+=3}I.call(this);this.type="ShapeBufferGeometry";this.parameters={shapes:a,curveSegments:b};b=b||12;var d=[],e=[],f=[],g=[],h=0,k=0;if(!1===Array.isArray(a))c(a);else for(var m=0;m<a.length;m++)c(a[m]),this.addGroup(h,k,m),h+=k,k=0;this.setIndex(d);this.addAttribute("position",new E(e,3));this.addAttribute("normal",new E(f,3));this.addAttribute("uv",new E(g,2))}function Yb(a,b){function c(a,b){return a-b}I.call(this);this.type="EdgesGeometry";this.parameters={thresholdAngle:b};var d=[],
|
|
|
+e=Math.cos(X.DEG2RAD*(void 0!==b?b:1)),f=[0,0],g={},h,k=["a","b","c"],m;a.isBufferGeometry?(m=new P,m.fromBufferGeometry(a)):m=a.clone();m.mergeVertices();m.computeFaceNormals();var r=m.vertices;m=m.faces;for(var l=0,n=m.length;l<n;l++)for(var u=m[l],x=0;3>x;x++)f[0]=u[k[x]],f[1]=u[k[(x+1)%3]],f.sort(c),h=f.toString(),void 0===g[h]?g[h]={index1:f[0],index2:f[1],face1:l,face2:void 0}:g[h].face2=l;for(h in g)if(f=g[h],void 0===f.face2||m[f.face1].normal.dot(m[f.face2].normal)<=e)k=r[f.index1],d.push(k.x,
|
|
|
+k.y,k.z),k=r[f.index2],d.push(k.x,k.y,k.z);this.addAttribute("position",new E(d,3))}function nb(a,b,c,d,e,f,g,h){P.call(this);this.type="CylinderGeometry";this.parameters={radiusTop:a,radiusBottom:b,height:c,radialSegments:d,heightSegments:e,openEnded:f,thetaStart:g,thetaLength:h};this.fromBufferGeometry(new Va(a,b,c,d,e,f,g,h));this.mergeVertices()}function Va(a,b,c,d,e,f,g,h){function k(c){var e,f,k,t=new D,F=new p,H=0,Z=!0===c?a:b,aa=!0===c?1:-1;f=x;for(e=1;e<=d;e++)l.push(0,z*aa,0),n.push(0,aa,
|
|
|
+0),u.push(.5,.5),x++;k=x;for(e=0;e<=d;e++){var B=e/d*h+g,J=Math.cos(B),B=Math.sin(B);F.x=Z*B;F.y=z*aa;F.z=Z*J;l.push(F.x,F.y,F.z);n.push(0,aa,0);t.x=.5*J+.5;t.y=.5*B*aa+.5;u.push(t.x,t.y);x++}for(e=0;e<d;e++)t=f+e,F=k+e,!0===c?r.push(F,F+1,t):r.push(F+1,F,t),H+=3;m.addGroup(y,H,!0===c?1:2);y+=H}I.call(this);this.type="CylinderBufferGeometry";this.parameters={radiusTop:a,radiusBottom:b,height:c,radialSegments:d,heightSegments:e,openEnded:f,thetaStart:g,thetaLength:h};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;h=void 0!==h?h:2*Math.PI;var r=[],l=[],n=[],u=[],x=0,t=[],z=c/2,y=0;(function(){var f,k,v=new p,O=new p,C=0,F=(b-a)/c;for(k=0;k<=e;k++){var H=[],Z=k/e,D=Z*(b-a)+a;for(f=0;f<=d;f++){var B=f/d,J=B*h+g,E=Math.sin(J),J=Math.cos(J);O.x=D*E;O.y=-Z*c+z;O.z=D*J;l.push(O.x,O.y,O.z);v.set(E,F,J).normalize();n.push(v.x,v.y,v.z);u.push(B,1-Z);H.push(x++)}t.push(H)}for(f=0;f<d;f++)for(k=0;k<e;k++)v=t[k+
|
|
|
+1][f],O=t[k+1][f+1],F=t[k][f+1],r.push(t[k][f],v,F),r.push(v,O,F),C+=6;m.addGroup(y,C,0);y+=C})();!1===f&&(0<a&&k(!0),0<b&&k(!1));this.setIndex(r);this.addAttribute("position",new E(l,3));this.addAttribute("normal",new E(n,3));this.addAttribute("uv",new E(u,2))}function Pc(a,b,c,d,e,f,g){nb.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 Qc(a,b,c,d,e,f,g){Va.call(this,0,a,b,c,
|
|
|
+d,e,f,g);this.type="ConeBufferGeometry";this.parameters={radius:a,height:b,radialSegments:c,heightSegments:d,openEnded:e,thetaStart:f,thetaLength:g}}function Rc(a,b,c,d){P.call(this);this.type="CircleGeometry";this.parameters={radius:a,segments:b,thetaStart:c,thetaLength:d};this.fromBufferGeometry(new Zb(a,b,c,d))}function Zb(a,b,c,d){I.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=[],f=[],g=[],h=[],k,m,r=new p,l=new D;f.push(0,0,0);g.push(0,0,1);h.push(.5,.5);m=0;for(k=3;m<=b;m++,k+=3){var n=c+m/b*d;r.x=a*Math.cos(n);r.y=a*Math.sin(n);f.push(r.x,r.y,r.z);g.push(0,0,1);l.x=(f[k]/a+1)/2;l.y=(f[k+1]/a+1)/2;h.push(l.x,l.y)}for(k=1;k<=b;k++)e.push(k,k+1,0);this.setIndex(e);this.addAttribute("position",new E(f,3));this.addAttribute("normal",new E(g,3));this.addAttribute("uv",new E(h,2))}function $b(){Da.call(this,{uniforms:Ga.merge([T.lights,{opacity:{value:1}}]),
|
|
|
+vertexShader:S.shadow_vert,fragmentShader:S.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 ac(a){Da.call(this,a);this.type="RawShaderMaterial"}function Qa(a){U.call(this);this.defines={STANDARD:""};this.type="MeshStandardMaterial";this.color=new K(16777215);this.metalness=this.roughness=.5;this.lightMap=this.map=null;this.lightMapIntensity=
|
|
|
+1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new K(0);this.emissiveIntensity=1;this.bumpMap=this.emissiveMap=null;this.bumpScale=1;this.normalMap=null;this.normalScale=new D(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 ob(a){Qa.call(this);this.defines={PHYSICAL:""};this.type="MeshPhysicalMaterial";this.reflectivity=.5;this.clearCoatRoughness=this.clearCoat=0;this.setValues(a)}function ra(a){U.call(this);this.type="MeshPhongMaterial";this.color=new K(16777215);this.specular=new K(1118481);this.shininess=30;this.lightMap=this.map=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new K(0);this.emissiveIntensity=1;this.bumpMap=this.emissiveMap=
|
|
|
+null;this.bumpScale=1;this.normalMap=null;this.normalScale=new D(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 pb(a){ra.call(this);this.defines={TOON:""};this.type="MeshToonMaterial";
|
|
|
+this.gradientMap=null;this.setValues(a)}function qb(a){U.call(this,a);this.type="MeshNormalMaterial";this.bumpMap=null;this.bumpScale=1;this.normalMap=null;this.normalScale=new D(1,1);this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.wireframe=!1;this.wireframeLinewidth=1;this.morphNormals=this.morphTargets=this.skinning=this.lights=this.fog=!1;this.setValues(a)}function rb(a){U.call(this);this.type="MeshLambertMaterial";this.color=new K(16777215);this.lightMap=this.map=
|
|
|
+null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new K(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 sb(a){U.call(this);this.type="LineDashedMaterial";this.color=new K(16777215);this.scale=
|
|
|
+this.linewidth=1;this.dashSize=3;this.gapSize=1;this.lights=!1;this.setValues(a)}function Yd(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 sa(a){this.manager=void 0!==a?a:za}
|
|
|
+function Oe(a){this.manager=void 0!==a?a:za;this._parser=null}function Zd(a){this.manager=void 0!==a?a:za;this._parser=null}function Sc(a){this.manager=void 0!==a?a:za}function $d(a){this.manager=void 0!==a?a:za}function od(a){this.manager=void 0!==a?a:za}function na(a,b){B.call(this);this.type="Light";this.color=new K(a);this.intensity=void 0!==b?b:1;this.receiveShadow=void 0}function pd(a,b,c){na.call(this,a,c);this.type="HemisphereLight";this.castShadow=void 0;this.position.copy(B.DefaultUp);this.updateMatrix();
|
|
|
+this.groundColor=new K(b)}function tb(a){this.camera=a;this.bias=0;this.radius=1;this.mapSize=new D(512,512);this.map=null;this.matrix=new L}function qd(){tb.call(this,new xa(50,1,.5,500))}function rd(a,b,c,d,e,f){na.call(this,a,b);this.type="SpotLight";this.position.copy(B.DefaultUp);this.updateMatrix();this.target=new B;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 qd}function sd(a,b,c,d){na.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 tb(new xa(90,1,.5,500))}function td(){tb.call(this,new Gb(-5,5,5,-5,.5,500))}function ud(a,b){na.call(this,a,b);this.type="DirectionalLight";this.position.copy(B.DefaultUp);
|
|
|
+this.updateMatrix();this.target=new B;this.shadow=new td}function vd(a,b){na.call(this,a,b);this.type="AmbientLight";this.castShadow=void 0}function wd(a,b,c,d){na.call(this,a,b);this.type="RectAreaLight";this.position.set(0,1,0);this.updateMatrix();this.width=void 0!==c?c:10;this.height=void 0!==d?d:10}function Ca(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 xd(a,b,c,d){Ca.call(this,a,b,c,
|
|
|
+d);this._offsetNext=this._weightNext=this._offsetPrev=this._weightPrev=-0}function Tc(a,b,c,d){Ca.call(this,a,b,c,d)}function yd(a,b,c,d){Ca.call(this,a,b,c,d)}function ub(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=ta.convertArray(b,this.TimeBufferType);this.values=ta.convertArray(c,this.ValueBufferType);this.setInterpolation(d||this.DefaultInterpolation);this.validate();this.optimize()}
|
|
|
+function bc(a,b,c,d){ub.call(this,a,b,c,d)}function zd(a,b,c,d){Ca.call(this,a,b,c,d)}function Uc(a,b,c,d){ub.call(this,a,b,c,d)}function cc(a,b,c,d){ub.call(this,a,b,c,d)}function Ad(a,b,c,d){ub.call(this,a,b,c,d)}function Bd(a,b,c){ub.call(this,a,b,c)}function Cd(a,b,c,d){ub.call(this,a,b,c,d)}function vb(a,b,c,d){ub.apply(this,arguments)}function Aa(a,b,c){this.name=a;this.tracks=c;this.duration=void 0!==b?b:-1;this.uuid=X.generateUUID();0>this.duration&&this.resetDuration();this.optimize()}function Dd(a){this.manager=
|
|
|
+void 0!==a?a:za;this.textures={}}function ae(a){this.manager=void 0!==a?a:za}function dc(){this.onLoadStart=function(){};this.onLoadProgress=function(){};this.onLoadComplete=function(){}}function be(a){"boolean"===typeof a&&(console.warn("THREE.JSONLoader: showStatus parameter has been removed from constructor."),a=void 0);this.manager=void 0!==a?a:za;this.withCredentials=!1}function Pe(a){this.manager=void 0!==a?a:za;this.texturePath=""}function Qe(a,b,c,d,e){b=.5*(d-b);e=.5*(e-c);var f=a*a;return(2*
|
|
|
+c-2*d+b+e)*a*f+(-3*c+3*d-2*b-e)*f+b*a+c}function wb(a,b,c,d){var e=1-a;return e*e*b+2*(1-a)*a*c+a*a*d}function xb(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}function fa(){}function Ra(a,b){this.v1=a;this.v2=b}function Vc(){this.curves=[];this.autoClose=!1}function Wa(a,b,c,d,e,f,g,h){this.aX=a;this.aY=b;this.xRadius=c;this.yRadius=d;this.aStartAngle=e;this.aEndAngle=f;this.aClockwise=g;this.aRotation=h||0}function yb(a){this.points=void 0===a?[]:a}function ec(a,b,c,
|
|
|
+d){this.v0=a;this.v1=b;this.v2=c;this.v3=d}function fc(a,b,c){this.v0=a;this.v1=b;this.v2=c}function Wc(a){Vc.call(this);this.currentPoint=new D;a&&this.fromPoints(a)}function zb(){Wc.apply(this,arguments);this.holes=[]}function ce(){this.subPaths=[];this.currentPath=null}function de(a){this.data=a}function Re(a){this.manager=void 0!==a?a:za}function ee(a){this.manager=void 0!==a?a:za}function Se(){this.type="StereoCamera";this.aspect=1;this.eyeSep=.064;this.cameraL=new xa;this.cameraL.layers.enable(1);
|
|
|
+this.cameraL.matrixAutoUpdate=!1;this.cameraR=new xa;this.cameraR.layers.enable(2);this.cameraR.matrixAutoUpdate=!1}function Ed(a,b,c){B.call(this);this.type="CubeCamera";var d=new xa(90,1,a,b);d.up.set(0,-1,0);d.lookAt(new p(1,0,0));this.add(d);var e=new xa(90,1,a,b);e.up.set(0,-1,0);e.lookAt(new p(-1,0,0));this.add(e);var f=new xa(90,1,a,b);f.up.set(0,0,1);f.lookAt(new p(0,1,0));this.add(f);var g=new xa(90,1,a,b);g.up.set(0,0,-1);g.lookAt(new p(0,-1,0));this.add(g);var h=new xa(90,1,a,b);h.up.set(0,
|
|
|
+-1,0);h.lookAt(new p(0,0,1));this.add(h);var k=new xa(90,1,a,b);k.up.set(0,-1,0);k.lookAt(new p(0,0,-1));this.add(k);this.renderTarget=new Cb(c,c,{format:1022,magFilter:1006,minFilter:1006});this.renderTarget.texture.name="CubeCamera";this.updateCubeMap=function(a,b){null===this.parent&&this.updateMatrixWorld();var c=this.renderTarget,n=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,h,c);c.texture.generateMipmaps=n;c.activeCubeFace=5;a.render(b,k,c);a.setRenderTarget(null)}}function fe(a){xa.call(this);this.enabled=!1;this.cameras=a||[]}function ge(){B.call(this);this.type="AudioListener";this.context=he.getContext();this.gain=this.context.createGain();this.gain.connect(this.context.destination);this.filter=null}function gc(a){B.call(this);this.type="Audio";this.context=a.context;this.gain=this.context.createGain();this.gain.connect(a.getInput());
|
|
|
+this.autoplay=!1;this.buffer=null;this.loop=!1;this.startTime=0;this.playbackRate=1;this.isPlaying=!1;this.hasPlaybackControl=!0;this.sourceType="empty";this.filters=[]}function ie(a){gc.call(this,a);this.panner=this.context.createPanner();this.panner.connect(this.gain)}function je(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 ke(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 Te(a,b,c){c=c||ia.parseTrackName(b);this._targetGroup=a;this._bindings=a.subscribe_(b,c)}function ia(a,b,c){this.path=b;this.parsedPath=c||ia.parseTrackName(b);this.node=ia.findNode(a,this.parsedPath.nodeName)||a;this.rootNode=a}function Ue(a){this.uuid=
|
|
|
+X.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 Ve(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 We(a){this._root=a;this._initMemoryManager();this.time=this._accuIndex=0;this.timeScale=1}function Fd(a,b){"string"===typeof a&&(console.warn("THREE.Uniform: Type parameter is no longer needed."),a=b);this.value=a}function le(){I.call(this);this.type="InstancedBufferGeometry";this.maxInstancedCount=void 0}function me(a,b,c,d){this.uuid=X.generateUUID();this.data=a;this.itemSize=b;this.offset=
|
|
|
+c;this.normalized=!0===d}function hc(a,b){this.uuid=X.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.onUploadCallback=function(){};this.version=0}function ne(a,b,c){hc.call(this,a,b);this.meshPerAttribute=c||1}function oe(a,b,c){Y.call(this,a,b);this.meshPerAttribute=c||1}function Xe(a,b,c,d){this.ray=new gb(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 Ye(a,b){return a.distance-b.distance}function pe(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++)pe(a[d],b,c,!0)}}function Ze(a){this.autoStart=void 0!==a?a:!0;this.elapsedTime=this.oldTime=this.startTime=0;this.running=!1}function $e(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 af(a,b,c){this.radius=void 0!==a?a:1;this.theta=void 0!==b?b:0;this.y=void 0!==c?c:0;return this}function pa(a,b){wa.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 Xc(a){B.call(this);this.material=a;this.render=function(a){}}function Yc(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 I;b=new E(6*b,3);c.addAttribute("position",b);ca.call(this,c,new ha({color:a,linewidth:d}));this.matrixAutoUpdate=!1;this.update()}function ic(a){B.call(this);this.light=a;this.light.updateMatrixWorld();this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;a=new I;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 E(b,3));b=new ha({fog:!1});this.cone=new ca(a,b);this.add(this.cone);this.update()}function jc(a){this.bones=this.getBoneList(a);for(var b=new I,c=[],d=[],e=new K(0,0,1),f=new K(0,1,0),g=0;g<this.bones.length;g++){var h=this.bones[g];h.parent&&h.parent.isBone&&(c.push(0,0,0),c.push(0,0,0),d.push(e.r,e.g,e.b),d.push(f.r,f.g,f.b))}b.addAttribute("position",new E(c,3));
|
|
|
+b.addAttribute("color",new E(d,3));c=new ha({vertexColors:2,depthTest:!1,depthWrite:!1,transparent:!0});ca.call(this,b,c);this.root=a;this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;this.update()}function kc(a,b){this.light=a;this.light.updateMatrixWorld();var c=new mb(b,4,2),d=new Ha({wireframe:!0,fog:!1});d.color.copy(this.light.color).multiplyScalar(this.light.intensity);wa.call(this,c,d);this.matrix=this.light.matrixWorld;this.matrixAutoUpdate=!1}function lc(a){B.call(this);this.light=a;this.light.updateMatrixWorld();
|
|
|
+var b=new Ha({color:a.color,fog:!1});a=new Ha({color:a.color,fog:!1,wireframe:!0});var c=new I;c.addAttribute("position",new Y(new Float32Array(18),3));this.add(new wa(c,b));this.add(new wa(c,a));this.update()}function mc(a,b){B.call(this);this.light=a;this.light.updateMatrixWorld();this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;var c=new lb(b);c.rotateY(.5*Math.PI);var d=new Ha({vertexColors:2,wireframe:!0}),e=c.getAttribute("position"),e=new Float32Array(3*e.count);c.addAttribute("color",new Y(e,
|
|
|
+3));this.add(new wa(c,d));this.update()}function Zc(a,b,c,d){a=a||10;b=b||10;c=new K(void 0!==c?c:4473924);d=new K(void 0!==d?d:8947848);var e=b/2,f=a/b,g=a/2;a=[];for(var h=[],k=0,m=0,r=-g;k<=b;k++,r+=f){a.push(-g,0,r,g,0,r);a.push(r,0,-g,r,0,g);var l=k===e?c:d;l.toArray(h,m);m+=3;l.toArray(h,m);m+=3;l.toArray(h,m);m+=3;l.toArray(h,m);m+=3}b=new I;b.addAttribute("position",new E(a,3));b.addAttribute("color",new E(h,3));c=new ha({vertexColors:2});ca.call(this,b,c)}function Gd(a,b,c,d,e,f){a=a||10;
|
|
|
+b=b||16;c=c||8;d=d||64;e=new K(void 0!==e?e:4473924);f=new K(void 0!==f?f:8947848);var g=[],h=[],k,m,r,l,n;for(r=0;r<=b;r++)m=r/b*2*Math.PI,k=Math.sin(m)*a,m=Math.cos(m)*a,g.push(0,0,0),g.push(k,0,m),n=r&1?e:f,h.push(n.r,n.g,n.b),h.push(n.r,n.g,n.b);for(r=0;r<=c;r++)for(n=r&1?e:f,l=a-a/c*r,b=0;b<d;b++)m=b/d*2*Math.PI,k=Math.sin(m)*l,m=Math.cos(m)*l,g.push(k,0,m),h.push(n.r,n.g,n.b),m=(b+1)/d*2*Math.PI,k=Math.sin(m)*l,m=Math.cos(m)*l,g.push(k,0,m),h.push(n.r,n.g,n.b);a=new I;a.addAttribute("position",
|
|
|
+new E(g,3));a.addAttribute("color",new E(h,3));g=new ha({vertexColors:2});ca.call(this,a,g)}function $c(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 I;b=new E(6*b,3);c.addAttribute("position",b);ca.call(this,c,new ha({color:a,linewidth:d}));this.matrixAutoUpdate=!1;this.update()}
|
|
|
+function nc(a,b){B.call(this);this.light=a;this.light.updateMatrixWorld();this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;void 0===b&&(b=1);var c=new I;c.addAttribute("position",new E([-b,b,0,b,b,0,b,-b,0,-b,-b,0,-b,b,0],3));var d=new ha({fog:!1});this.add(new Ka(c,d));c=new I;c.addAttribute("position",new E([0,0,0,0,0,1],3));this.add(new Ka(c,d));this.update()}function ad(a){function b(a,b,d){c(a,d);c(b,d)}function c(a,b){f.push(0,0,0);g.push(b.r,b.g,b.b);void 0===h[a]&&(h[a]=[]);h[a].push(f.length/
|
|
|
+3-1)}var d=new I,e=new ha({color:16777215,vertexColors:1}),f=[],g=[],h={},k=new K(16755200),m=new K(16711680),r=new K(43775),l=new K(16777215),n=new K(3355443);b("n1","n2",k);b("n2","n4",k);b("n4","n3",k);b("n3","n1",k);b("f1","f2",k);b("f2","f4",k);b("f4","f3",k);b("f3","f1",k);b("n1","f1",k);b("n2","f2",k);b("n3","f3",k);b("n4","f4",k);b("p","n1",m);b("p","n2",m);b("p","n3",m);b("p","n4",m);b("u1","u2",r);b("u2","u3",r);b("u3","u1",r);b("c","t",l);b("p","c",n);b("cn1","cn2",n);b("cn3","cn4",n);
|
|
|
+b("cf1","cf2",n);b("cf3","cf4",n);d.addAttribute("position",new E(f,3));d.addAttribute("color",new E(g,3));ca.call(this,d,e);this.camera=a;this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix();this.matrix=a.matrixWorld;this.matrixAutoUpdate=!1;this.pointMap=h;this.update()}function oc(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 I;e.setIndex(new Y(c,1));e.addAttribute("position",new Y(d,3));ca.call(this,
|
|
|
+e,new ha({color:b}));void 0!==a&&this.update(a)}function Ab(a,b,c,d,e,f){B.call(this);void 0===d&&(d=16776960);void 0===c&&(c=1);void 0===e&&(e=.2*c);void 0===f&&(f=.2*e);void 0===Hd&&(Hd=new I,Hd.addAttribute("position",new E([0,0,0,0,1,0],3)),qe=new Va(0,.5,1,5,1),qe.translate(0,-.5,0));this.position.copy(b);this.line=new Ka(Hd,new ha({color:d}));this.line.matrixAutoUpdate=!1;this.add(this.line);this.cone=new wa(qe,new Ha({color:d}));this.cone.matrixAutoUpdate=!1;this.add(this.cone);this.setDirection(a);
|
|
|
+this.setLength(c,e,f)}function Id(a){a=a||1;var b=[0,0,0,a,0,0,0,0,0,0,a,0,0,0,0,0,0,a];a=new I;a.addAttribute("position",new E(b,3));a.addAttribute("color",new E([1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],3));b=new ha({vertexColors:2});ca.call(this,a,b)}function re(){var a=0,b=0,c=0,d=0;return{initCatmullRom:function(e,f,g,h,k){e=k*(g-e);h=k*(h-f);a=f;b=e;c=-3*f+3*g-2*e-h;d=2*f-2*g+e+h},initNonuniformCatmullRom:function(e,f,g,h,k,m,r){e=((f-e)/k-(g-e)/(k+m)+(g-f)/m)*m;h=((g-f)/m-(h-f)/(m+r)+(h-g)/
|
|
|
+r)*m;a=f;b=e;c=-3*f+3*g-2*e-h;d=2*f-2*g+e+h},calc:function(e){var f=e*e;return a+b*e+c*f+d*f*e}}}function Ja(a){this.points=a||[];this.closed=!1}function bd(a,b,c,d){this.v0=a;this.v1=b;this.v2=c;this.v3=d}function cd(a,b,c){this.v0=a;this.v1=b;this.v2=c}function dd(a,b){this.v1=a;this.v2=b}function Jd(a,b,c,d,e,f){Wa.call(this,a,b,c,c,d,e,f)}function bf(a){console.warn("THREE.ClosedSplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead.");Ja.call(this,a);this.type="catmullrom";this.closed=
|
|
|
+!0}function cf(a){console.warn("THREE.SplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead.");Ja.call(this,a);this.type="catmullrom"}function se(a){console.warn("THREE.Spline has been removed. Use THREE.CatmullRomCurve3 instead.");Ja.call(this,a);this.type="catmullrom"}void 0===Number.EPSILON&&(Number.EPSILON=Math.pow(2,-52));void 0===Number.isInteger&&(Number.isInteger=function(a){return"number"===typeof a&&isFinite(a)&&Math.floor(a)===a});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]*)/)[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)},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 X={DEG2RAD:Math.PI/180,RAD2DEG:180/Math.PI,generateUUID:function(){var a="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),b=Array(36),c=0,d;return function(){for(var e=0;36>e;e++)8===e||13===e||18===e||23===e?b[e]="-":14===e?b[e]="4":(2>=c&&(c=33554432+16777216*Math.random()|0),d=c&15,c>>=4,b[e]=a[19===e?d&
|
|
|
3|8:d]);return b.join("")}}(),clamp:function(a,b,c){return Math.max(b,Math.min(c,a))},euclideanModulo:function(a,b){return(a%b+b)%b},mapLinear:function(a,b,c,d,e){return d+(a-b)*(e-d)/(c-b)},lerp:function(a,b,c){return(1-c)*a+c*b},smoothstep:function(a,b,c){if(a<=b)return 0;if(a>=c)return 1;a=(a-b)/(c-b);return a*a*(3-2*a)},smootherstep:function(a,b,c){if(a<=b)return 0;if(a>=c)return 1;a=(a-b)/(c-b);return a*a*a*(a*(6*a-15)+10)},randInt:function(a,b){return a+Math.floor(Math.random()*(b-a+1))},randFloat:function(a,
|
|
|
b){return a+Math.random()*(b-a)},randFloatSpread:function(a){return a*(.5-Math.random())},degToRad:function(a){return a*X.DEG2RAD},radToDeg:function(a){return a*X.RAD2DEG},isPowerOfTwo:function(a){return 0===(a&a-1)&&0!==a},nearestPowerOfTwo:function(a){return Math.pow(2,Math.round(Math.log(a)/Math.LN2))},nextPowerOfTwo:function(a){a--;a|=a>>1;a|=a>>2;a|=a>>4;a|=a>>8;a|=a>>16;a++;return a}};Object.defineProperties(D.prototype,{width:{get:function(){return this.x},set:function(a){this.x=a}},height:{get:function(){return this.y},
|
|
@@ -296,7 +296,7 @@ this.y=0>this.y?Math.ceil(this.y):Math.floor(this.y);this.z=0>this.z?Math.ceil(t
|
|
|
lengthManhattan:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)},normalize:function(){return this.divideScalar(this.length())},setLength:function(a){return this.multiplyScalar(a/this.length())},lerp:function(a,b){this.x+=(a.x-this.x)*b;this.y+=(a.y-this.y)*b;this.z+=(a.z-this.z)*b;this.w+=(a.w-this.w)*b;return this},lerpVectors:function(a,b,c){return this.subVectors(b,a).multiplyScalar(c).add(a)},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];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},fromBufferAttribute:function(a,b,c){void 0!==c&&console.warn("THREE.Vector4: offset has been removed from .fromBufferAttribute().");this.x=a.getX(b);this.y=a.getY(b);this.z=a.getZ(b);this.w=a.getW(b);return this}});Object.assign(Bb.prototype,qa.prototype,
|
|
|
{isWebGLRenderTarget:!0,setSize:function(a,b){if(this.width!==a||this.height!==b)this.width=a,this.height=b,this.dispose();this.viewport.set(0,0,a,b);this.scissor.set(0,0,a,b)},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.width=a.width;this.height=a.height;this.viewport.copy(a.viewport);this.texture=a.texture.clone();this.depthBuffer=a.depthBuffer;this.stencilBuffer=a.stencilBuffer;this.depthTexture=a.depthTexture;return this},dispose:function(){this.dispatchEvent({type:"dispose"})}});
|
|
|
-Cb.prototype=Object.create(Bb.prototype);Cb.prototype.constructor=Cb;Cb.prototype.isWebGLRenderTargetCube=!0;Object.assign(oa,{slerp:function(a,b,c,d){return c.copy(a).slerp(b,d)},slerpFlat:function(a,b,c,d,e,f,g){var h=c[d+0],k=c[d+1],m=c[d+2];c=c[d+3];d=e[f+0];var r=e[f+1],l=e[f+2];e=e[f+3];if(c!==e||h!==d||k!==r||m!==l){f=1-g;var n=h*d+k*r+m*l+c*e,u=0<=n?1:-1,y=1-n*n;y>Number.EPSILON&&(y=Math.sqrt(y),n=Math.atan2(y,n*u),f=Math.sin(f*n)/y,g=Math.sin(g*n)/y);u*=g;h=h*f+d*u;k=k*f+r*u;m=m*f+l*u;c=
|
|
|
+Cb.prototype=Object.create(Bb.prototype);Cb.prototype.constructor=Cb;Cb.prototype.isWebGLRenderTargetCube=!0;Object.assign(oa,{slerp:function(a,b,c,d){return c.copy(a).slerp(b,d)},slerpFlat:function(a,b,c,d,e,f,g){var h=c[d+0],k=c[d+1],m=c[d+2];c=c[d+3];d=e[f+0];var r=e[f+1],l=e[f+2];e=e[f+3];if(c!==e||h!==d||k!==r||m!==l){f=1-g;var n=h*d+k*r+m*l+c*e,u=0<=n?1:-1,x=1-n*n;x>Number.EPSILON&&(x=Math.sqrt(x),n=Math.atan2(x,n*u),f=Math.sin(f*n)/x,g=Math.sin(g*n)/x);u*=g;h=h*f+d*u;k=k*f+r*u;m=m*f+l*u;c=
|
|
|
c*f+e*u;f===1-g&&(g=1/Math.sqrt(h*h+k*k+m*m+c*c),h*=g,k*=g,m*=g,c*=g)}a[b]=h;a[b+1]=k;a[b+2]=m;a[b+3]=c}});Object.defineProperties(oa.prototype,{x:{get:function(){return this._x},set:function(a){this._x=a;this.onChangeCallback()}},y:{get:function(){return this._y},set:function(a){this._y=a;this.onChangeCallback()}},z:{get:function(){return this._z},set:function(a){this._z=a;this.onChangeCallback()}},w:{get:function(){return this._w},set:function(a){this._w=a;this.onChangeCallback()}}});Object.assign(oa.prototype,
|
|
|
{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=a._x,d=a._y,e=a._z,f=a.order,g=Math.cos,h=Math.sin,k=
|
|
|
g(c/2),m=g(d/2),g=g(e/2),c=h(c/2),d=h(d/2),e=h(e/2);"XYZ"===f?(this._x=c*m*g+k*d*e,this._y=k*d*g-c*m*e,this._z=k*m*e+c*d*g,this._w=k*m*g-c*d*e):"YXZ"===f?(this._x=c*m*g+k*d*e,this._y=k*d*g-c*m*e,this._z=k*m*e-c*d*g,this._w=k*m*g+c*d*e):"ZXY"===f?(this._x=c*m*g-k*d*e,this._y=k*d*g+c*m*e,this._z=k*m*e+c*d*g,this._w=k*m*g-c*d*e):"ZYX"===f?(this._x=c*m*g-k*d*e,this._y=k*d*g+c*m*e,this._z=k*m*e-c*d*g,this._w=k*m*g+c*d*e):"YZX"===f?(this._x=c*m*g+k*d*e,this._y=k*d*g+c*m*e,this._z=k*m*e-c*d*g,this._w=k*
|
|
@@ -321,19 +321,19 @@ this.crossVectors(a,b);var c=this.x,d=this.y,e=this.z;this.x=d*a.z-e*a.y;this.y=
|
|
|
this.dot(b)))}}(),angleTo:function(a){a=this.dot(a)/Math.sqrt(this.lengthSq()*a.lengthSq());return Math.acos(X.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},setFromCylindrical:function(a){this.x=a.radius*Math.sin(a.theta);this.y=a.y;this.z=a.radius*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){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},fromBufferAttribute:function(a,b,c){void 0!==c&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute().");this.x=a.getX(b);this.y=a.getY(b);this.z=a.getZ(b);return this}});Object.assign(L.prototype,
|
|
|
-{isMatrix4:!0,set:function(a,b,c,d,e,f,g,h,k,m,r,l,n,u,y,t){var p=this.elements;p[0]=a;p[4]=b;p[8]=c;p[12]=d;p[1]=e;p[5]=f;p[9]=g;p[13]=h;p[2]=k;p[6]=m;p[10]=r;p[14]=l;p[3]=n;p[7]=u;p[11]=y;p[15]=t;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 L).fromArray(this.elements)},copy:function(a){var b=this.elements;a=a.elements;b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];b[9]=a[9];b[10]=a[10];
|
|
|
+{isMatrix4:!0,set:function(a,b,c,d,e,f,g,h,k,m,r,l,n,u,x,t){var p=this.elements;p[0]=a;p[4]=b;p[8]=c;p[12]=d;p[1]=e;p[5]=f;p[9]=g;p[13]=h;p[2]=k;p[6]=m;p[10]=r;p[14]=l;p[3]=n;p[7]=u;p[11]=x;p[15]=t;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 L).fromArray(this.elements)},copy:function(a){var b=this.elements;a=a.elements;b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];b[9]=a[9];b[10]=a[10];
|
|
|
b[11]=a[11];b[12]=a[12];b[13]=a[13];b[14]=a[14];b[15]=a[15];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=new p;return function(b){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),h=Math.cos(e),e=Math.sin(e);if("XYZ"===a.order){a=f*h;var k=f*e,m=c*h,r=c*e;b[0]=g*h;b[4]=-g*e;b[8]=d;b[1]=k+m*d;b[5]=a-r*d;b[9]=-c*g;b[2]=r-a*d;b[6]=m+k*d;b[10]=f*g}else"YXZ"===a.order?(a=g*h,k=g*e,m=d*h,r=d*e,b[0]=a+r*c,b[4]=m*c-k,b[8]=f*d,b[1]=f*e,b[5]=f*h,b[9]=-c,b[2]=k*c-m,b[6]=r+a*c,b[10]=f*g):"ZXY"===a.order?(a=g*h,k=g*e,m=d*h,r=d*e,b[0]=a-r*c,b[4]=-f*e,b[8]=m+k*c,b[1]=k+m*c,b[5]=f*h,b[9]=r-a*c,b[2]=-f*d,b[6]=c,b[10]=f*g):"ZYX"===a.order?(a=f*h,k=f*e,m=c*h,r=c*e,b[0]=g*h,b[4]=m*
|
|
|
d-k,b[8]=a*d+r,b[1]=g*e,b[5]=r*d+a,b[9]=k*d-m,b[2]=-d,b[6]=c*g,b[10]=f*g):"YZX"===a.order?(a=f*g,k=f*d,m=c*g,r=c*d,b[0]=g*h,b[4]=r-a*e,b[8]=m*e+k,b[1]=e,b[5]=f*h,b[9]=-c*h,b[2]=-d*h,b[6]=k*e+m,b[10]=a-r*e):"XZY"===a.order&&(a=f*g,k=f*d,m=c*g,r=c*d,b[0]=g*h,b[4]=-e,b[8]=d*h,b[1]=a*e+r,b[5]=f*h,b[9]=k*e-m,b[2]=m*e-k,b[6]=c*h,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,h=d+
|
|
|
d,k=e+e;a=c*g;var m=c*h,c=c*k,r=d*h,d=d*k,e=e*k,g=f*g,h=f*h,f=f*k;b[0]=1-(r+e);b[4]=m-f;b[8]=c+h;b[1]=m+f;b[5]=1-(a+e);b[9]=d-g;b[2]=c-h;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=new p,b=new p,c=new p;return function(d,e,f){var g=this.elements;c.subVectors(d,e);0===c.lengthSq()&&(c.z=1);c.normalize();a.crossVectors(f,c);0===a.lengthSq()&&(c.z+=1E-4,a.crossVectors(f,c));a.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],h=c[8],k=c[12],m=c[1],r=c[5],l=c[9],n=c[13],u=c[2],p=c[6],t=
|
|
|
-c[10],z=c[14],x=c[3],v=c[7],J=c[11],c=c[15],w=d[0],N=d[4],C=d[8],F=d[12],G=d[1],Z=d[5],D=d[9],B=d[13],I=d[2],E=d[6],H=d[10],K=d[14],Q=d[3],O=d[7],W=d[11],d=d[15];e[0]=f*w+g*G+h*I+k*Q;e[4]=f*N+g*Z+h*E+k*O;e[8]=f*C+g*D+h*H+k*W;e[12]=f*F+g*B+h*K+k*d;e[1]=m*w+r*G+l*I+n*Q;e[5]=m*N+r*Z+l*E+n*O;e[9]=m*C+r*D+l*H+n*W;e[13]=m*F+r*B+l*K+n*d;e[2]=u*w+p*G+t*I+z*Q;e[6]=u*N+p*Z+t*E+z*O;e[10]=u*C+p*D+t*H+z*W;e[14]=u*F+p*B+t*K+z*d;e[3]=x*w+v*G+J*I+c*Q;e[7]=x*N+v*Z+J*E+c*O;e[11]=x*C+v*D+J*H+c*W;e[15]=x*F+v*B+J*K+c*
|
|
|
+c[10],z=c[14],y=c[3],w=c[7],G=c[11],c=c[15],v=d[0],O=d[4],C=d[8],F=d[12],H=d[1],Z=d[5],D=d[9],B=d[13],J=d[2],E=d[6],I=d[10],K=d[14],Q=d[3],N=d[7],W=d[11],d=d[15];e[0]=f*v+g*H+h*J+k*Q;e[4]=f*O+g*Z+h*E+k*N;e[8]=f*C+g*D+h*I+k*W;e[12]=f*F+g*B+h*K+k*d;e[1]=m*v+r*H+l*J+n*Q;e[5]=m*O+r*Z+l*E+n*N;e[9]=m*C+r*D+l*I+n*W;e[13]=m*F+r*B+l*K+n*d;e[2]=u*v+p*H+t*J+z*Q;e[6]=u*O+p*Z+t*E+z*N;e[10]=u*C+p*D+t*I+z*W;e[14]=u*F+p*B+t*K+z*d;e[3]=y*v+w*H+G*J+c*Q;e[7]=y*O+w*Z+G*E+c*N;e[11]=y*C+w*D+G*I+c*W;e[15]=y*F+w*B+G*K+c*
|
|
|
d;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},applyToBufferAttribute:function(){var a=new p;return function(b){for(var c=0,d=b.count;c<d;c++)a.x=b.getX(c),a.y=b.getY(c),a.z=b.getZ(c),a.applyMatrix4(this),b.setXYZ(c,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],h=a[9],k=a[13],
|
|
|
m=a[2],r=a[6],l=a[10],n=a[14];return a[3]*(+e*h*r-d*k*r-e*g*l+c*k*l+d*g*n-c*h*n)+a[7]*(+b*h*n-b*k*l+e*f*l-d*f*n+d*k*m-e*h*m)+a[11]*(+b*k*r-b*g*n-e*f*r+c*f*n+e*g*m-c*k*m)+a[15]*(-d*g*m-b*h*r+b*g*l+d*f*r-c*f*l+c*h*m)},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},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],h=d[3],k=d[4],m=d[5],r=d[6],l=d[7],n=d[8],u=d[9],p=d[10],t=d[11],z=d[12],x=d[13],v=d[14],d=d[15],J=u*v*l-x*p*l+x*r*t-m*v*t-u*r*d+m*p*d,w=z*p*l-n*v*l-z*r*t+k*v*t+n*r*d-k*p*d,N=n*x*l-z*u*l+z*m*t-k*x*t-n*m*d+k*u*d,C=z*u*r-n*x*r-z*m*p+k*x*p+n*m*v-k*u*v,F=e*J+f*w+g*N+h*C;if(0===F){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()}F=1/F;c[0]=J*F;c[1]=(x*p*h-u*v*h-x*g*t+f*v*t+u*g*d-f*p*d)*F;c[2]=(m*v*h-x*r*h+x*g*l-f*v*l-m*g*d+f*r*d)*F;c[3]=(u*r*h-m*p*h-u*g*l+f*p*l+m*g*t-f*r*t)*F;c[4]=w*F;c[5]=(n*v*h-z*p*h+z*g*t-e*v*t-n*g*d+e*p*d)*F;c[6]=(z*r*h-k*v*h-z*g*l+e*v*l+k*g*d-e*r*d)*F;c[7]=(k*p*h-n*r*h+n*g*l-e*p*l-k*g*t+e*r*t)*F;c[8]=N*F;c[9]=(z*u*h-n*x*h-z*f*t+e*x*t+n*f*d-e*u*d)*F;c[10]=(k*x*h-z*m*h+z*f*l-e*x*l-k*f*d+e*m*d)*F;c[11]=(n*m*h-k*u*h-n*f*l+e*u*l+k*f*t-e*m*t)*F;c[12]=C*F;c[13]=(n*x*g-z*u*g+z*f*p-e*x*
|
|
|
-p-n*f*v+e*u*v)*F;c[14]=(z*m*g-k*x*g-z*f*r+e*x*r+k*f*v-e*m*v)*F;c[15]=(k*u*g-n*m*g+n*f*r-e*u*r-k*f*p+e*m*p)*F;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,
|
|
|
+getInverse:function(a,b){var c=this.elements,d=a.elements,e=d[0],f=d[1],g=d[2],h=d[3],k=d[4],m=d[5],r=d[6],l=d[7],n=d[8],u=d[9],p=d[10],t=d[11],z=d[12],y=d[13],w=d[14],d=d[15],G=u*w*l-y*p*l+y*r*t-m*w*t-u*r*d+m*p*d,v=z*p*l-n*w*l-z*r*t+k*w*t+n*r*d-k*p*d,O=n*y*l-z*u*l+z*m*t-k*y*t-n*m*d+k*u*d,C=z*u*r-n*y*r-z*m*p+k*y*p+n*m*w-k*u*w,F=e*G+f*v+g*O+h*C;if(0===F){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()}F=1/F;c[0]=G*F;c[1]=(y*p*h-u*w*h-y*g*t+f*w*t+u*g*d-f*p*d)*F;c[2]=(m*w*h-y*r*h+y*g*l-f*w*l-m*g*d+f*r*d)*F;c[3]=(u*r*h-m*p*h-u*g*l+f*p*l+m*g*t-f*r*t)*F;c[4]=v*F;c[5]=(n*w*h-z*p*h+z*g*t-e*w*t-n*g*d+e*p*d)*F;c[6]=(z*r*h-k*w*h-z*g*l+e*w*l+k*g*d-e*r*d)*F;c[7]=(k*p*h-n*r*h+n*g*l-e*p*l-k*g*t+e*r*t)*F;c[8]=O*F;c[9]=(z*u*h-n*y*h-z*f*t+e*y*t+n*f*d-e*u*d)*F;c[10]=(k*y*h-z*m*h+z*f*l-e*y*l-k*f*d+e*m*d)*F;c[11]=(n*m*h-k*u*h-n*f*l+e*u*l+k*f*t-e*m*t)*F;c[12]=C*F;c[13]=(n*y*g-z*u*g+z*f*p-e*y*
|
|
|
+p-n*f*w+e*u*w)*F;c[14]=(z*m*g-k*y*g-z*f*r+e*y*r+k*f*w-e*m*w)*F;c[15]=(k*u*g-n*m*g+n*f*r-e*u*r-k*f*p+e*m*p)*F;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,h=a.z,k=e*f,m=e*g;this.set(k*f+c,k*
|
|
|
g-d*h,k*h+d*g,0,k*g+d*h,m*g+c,m*h-d*f,0,k*h-d*g,m*h+d*f,e*h*h+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},makeShear:function(a,b,c){this.set(1,b,c,0,a,1,c,0,a,b,1,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=new p,b=new L;return function(c,d,e){var f=this.elements,g=a.set(f[0],f[1],f[2]).length(),h=a.set(f[4],f[5],f[6]).length(),
|
|
|
k=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.copy(this);c=1/g;var f=1/h,m=1/k;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]*=m;b.elements[9]*=m;b.elements[10]*=m;d.setFromRotationMatrix(b);e.x=g;e.y=h;e.z=k;return this}}(),makePerspective:function(a,b,c,d,e,f){void 0===f&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.");
|
|
@@ -449,8 +449,8 @@ d.distanceToSquared(b[f]));this.radius=Math.sqrt(e);return this}}(),clone:functi
|
|
|
b*b},intersectsBox:function(a){return a.intersectsSphere(this)},intersectsPlane:function(a){return Math.abs(this.center.dot(a.normal)-a.constant)<=this.radius},clampPoint:function(a,b){var c=this.center.distanceToSquared(a),d=b||new p;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 Sa;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}});Object.assign(Fa.prototype,{isMatrix3:!0,set:function(a,b,c,d,e,f,g,h,k){var m=this.elements;m[0]=a;m[1]=d;m[2]=g;m[3]=b;m[4]=e;m[5]=h;m[6]=c;m[7]=f;m[8]=k;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){var b=
|
|
|
this.elements;a=a.elements;b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=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},applyToBufferAttribute:function(){var a=new p;return function(b){for(var c=0,d=b.count;c<d;c++)a.x=b.getX(c),a.y=b.getY(c),a.z=b.getZ(c),a.applyMatrix3(this),b.setXYZ(c,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],h=a[6],k=a[7],a=a[8];return b*f*a-b*g*k-c*e*a+c*g*h+d*e*k-d*f*h},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],h=c[3],k=c[4],m=c[5],l=c[6],q=c[7],c=c[8],n=c*k-m*q,u=m*l-c*h,p=q*h-k*l,t=e*n+f*u+g*p;if(0===t){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()}t=1/t;d[0]=n*t;d[1]=(g*q-c*f)*t;d[2]=(m*f-g*k)*t;d[3]=u*t;d[4]=(c*e-g*l)*t;d[5]=(g*h-m*e)*t;d[6]=p*t;d[7]=(f*l-q*e)*t;d[8]=(k*e-f*h)*t;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},getNormalMatrix:function(a){return this.setFromMatrix4(a).getInverse(this).transpose()},transposeIntoArray:function(a){var b=
|
|
|
+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],h=a[6],k=a[7],a=a[8];return b*f*a-b*g*k-c*e*a+c*g*h+d*e*k-d*f*h},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],h=c[3],k=c[4],m=c[5],r=c[6],l=c[7],c=c[8],n=c*k-m*l,u=m*r-c*h,p=l*h-k*r,t=e*n+f*u+g*p;if(0===t){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()}t=1/t;d[0]=n*t;d[1]=(g*l-c*f)*t;d[2]=(m*f-g*k)*t;d[3]=u*t;d[4]=(c*e-g*r)*t;d[5]=(g*h-m*e)*t;d[6]=p*t;d[7]=(f*r-l*e)*t;d[8]=(k*e-f*h)*t;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},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}});Object.assign(va.prototype,{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 p,b=new p;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 p).copy(this.normal).multiplyScalar(c)},
|
|
@@ -501,14 +501,14 @@ b[c++]=f.z;b[c++]=f.w}return this},set:function(a,b){void 0===b&&(b=0);this.arra
|
|
|
3]},setW:function(a,b){this.array[a*this.itemSize+3]=b;return this},setXY:function(a,b,c){a*=this.itemSize;this.array[a+0]=b;this.array[a+1]=c;return this},setXYZ:function(a,b,c,d){a*=this.itemSize;this.array[a+0]=b;this.array[a+1]=c;this.array[a+2]=d;return this},setXYZW:function(a,b,c,d,e){a*=this.itemSize;this.array[a+0]=b;this.array[a+1]=c;this.array[a+2]=d;this.array[a+3]=e;return this},onUpload:function(a){this.onUploadCallback=a;return this},clone:function(){return(new this.constructor(this.array,
|
|
|
this.itemSize)).copy(this)}});pc.prototype=Object.create(Y.prototype);pc.prototype.constructor=pc;qc.prototype=Object.create(Y.prototype);qc.prototype.constructor=qc;rc.prototype=Object.create(Y.prototype);rc.prototype.constructor=rc;sc.prototype=Object.create(Y.prototype);sc.prototype.constructor=sc;hb.prototype=Object.create(Y.prototype);hb.prototype.constructor=hb;tc.prototype=Object.create(Y.prototype);tc.prototype.constructor=tc;ib.prototype=Object.create(Y.prototype);ib.prototype.constructor=
|
|
|
ib;E.prototype=Object.create(Y.prototype);E.prototype.constructor=E;uc.prototype=Object.create(Y.prototype);uc.prototype.constructor=uc;Object.assign(Je.prototype,{computeGroups:function(a){var b,c=[],d=void 0;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,h=g.length,k;if(0<h){k=[];for(var m=0;m<h;m++)k[m]=[];this.morphTargets.position=k}var l=a.morphNormals,q=l.length,n;if(0<q){n=[];for(m=0;m<q;m++)n[m]=[];this.morphTargets.normal=n}for(var u=a.skinIndices,p=a.skinWeights,t=u.length===c.length,z=p.length===c.length,m=0;m<b.length;m++){var x=b[m];this.vertices.push(c[x.a],c[x.b],c[x.c]);var v=x.vertexNormals;3===v.length?this.normals.push(v[0],v[1],v[2]):(v=x.normal,this.normals.push(v,v,
|
|
|
-v));v=x.vertexColors;3===v.length?this.colors.push(v[0],v[1],v[2]):(v=x.color,this.colors.push(v,v,v));!0===e&&(v=d[0][m],void 0!==v?this.uvs.push(v[0],v[1],v[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv ",m),this.uvs.push(new D,new D,new D)));!0===f&&(v=d[1][m],void 0!==v?this.uvs2.push(v[0],v[1],v[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv2 ",m),this.uvs2.push(new D,new D,new D)));for(v=0;v<h;v++){var J=g[v].vertices;k[v].push(J[x.a],
|
|
|
-J[x.b],J[x.c])}for(v=0;v<q;v++)J=l[v].vertexNormals[m],n[v].push(J.a,J.b,J.c);t&&this.skinIndices.push(u[x.a],u[x.b],u[x.c]);z&&this.skinWeights.push(p[x.a],p[x.b],p[x.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}});var Qd=0;Object.assign(P.prototype,qa.prototype,{isGeometry:!0,applyMatrix:function(a){for(var b=
|
|
|
+e=d[0]&&0<d[0].length,f=d[1]&&0<d[1].length,g=a.morphTargets,h=g.length,k;if(0<h){k=[];for(var m=0;m<h;m++)k[m]=[];this.morphTargets.position=k}var l=a.morphNormals,q=l.length,n;if(0<q){n=[];for(m=0;m<q;m++)n[m]=[];this.morphTargets.normal=n}for(var u=a.skinIndices,p=a.skinWeights,t=u.length===c.length,z=p.length===c.length,m=0;m<b.length;m++){var y=b[m];this.vertices.push(c[y.a],c[y.b],c[y.c]);var w=y.vertexNormals;3===w.length?this.normals.push(w[0],w[1],w[2]):(w=y.normal,this.normals.push(w,w,
|
|
|
+w));w=y.vertexColors;3===w.length?this.colors.push(w[0],w[1],w[2]):(w=y.color,this.colors.push(w,w,w));!0===e&&(w=d[0][m],void 0!==w?this.uvs.push(w[0],w[1],w[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv ",m),this.uvs.push(new D,new D,new D)));!0===f&&(w=d[1][m],void 0!==w?this.uvs2.push(w[0],w[1],w[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv2 ",m),this.uvs2.push(new D,new D,new D)));for(w=0;w<h;w++){var G=g[w].vertices;k[w].push(G[y.a],
|
|
|
+G[y.b],G[y.c])}for(w=0;w<q;w++)G=l[w].vertexNormals[m],n[w].push(G.a,G.b,G.c);t&&this.skinIndices.push(u[y.a],u[y.b],u[y.c]);z&&this.skinWeights.push(p[y.a],p[y.b],p[y.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}});var Qd=0;Object.assign(P.prototype,qa.prototype,{isGeometry:!0,applyMatrix:function(a){for(var b=
|
|
|
(new Fa).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=new L;return function(b){a.makeRotationX(b);
|
|
|
this.applyMatrix(a);return this}}(),rotateY:function(){var a=new L;return function(b){a.makeRotationY(b);this.applyMatrix(a);return this}}(),rotateZ:function(){var a=new L;return function(b){a.makeRotationZ(b);this.applyMatrix(a);return this}}(),translate:function(){var a=new L;return function(b,c,d){a.makeTranslation(b,c,d);this.applyMatrix(a);return this}}(),scale:function(){var a=new L;return function(b,c,d){a.makeScale(b,c,d);this.applyMatrix(a);return this}}(),lookAt:function(){var a=new B;return function(b){a.lookAt(b);
|
|
|
a.updateMatrix();this.applyMatrix(a.matrix)}}(),fromBufferGeometry:function(a){function b(a,b,d,e){var f=void 0!==g?[l[a].clone(),l[b].clone(),l[d].clone()]:[],u=void 0!==h?[c.colors[a].clone(),c.colors[b].clone(),c.colors[d].clone()]:[];e=new Ua(a,b,d,f,u,e);c.faces.push(e);void 0!==k&&c.faceVertexUvs[0].push([q[a].clone(),q[b].clone(),q[d].clone()]);void 0!==m&&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,h=void 0!==e.color?e.color.array:void 0,k=void 0!==e.uv?e.uv.array:void 0,m=void 0!==e.uv2?e.uv2.array:void 0;void 0!==m&&(this.faceVertexUvs[1]=[]);for(var l=[],q=[],n=[],u=e=0;e<f.length;e+=3,u+=2)c.vertices.push(new p(f[e],f[e+1],f[e+2])),void 0!==g&&l.push(new p(g[e],g[e+1],g[e+2])),void 0!==h&&c.colors.push(new K(h[e],h[e+1],h[e+2])),void 0!==k&&q.push(new D(k[u],k[u+1])),void 0!==m&&n.push(new D(m[u],m[u+1]));if(void 0!==d)if(f=a.groups,0<f.length)for(e=
|
|
|
-0;e<f.length;e++)for(var y=f[e],t=y.start,z=y.count,u=t,t=t+z;u<t;u+=3)b(d[u],d[u+1],d[u+2],y.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},
|
|
|
+0;e<f.length;e++)for(var x=f[e],t=x.start,z=x.count,u=t,t=t+z;u<t;u+=3)b(d[u],d[u+1],d[u+2],x.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 L;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 p,b=new p,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 p;if(a){var e,f,g,h=new p,k=new p;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],h.subVectors(g,f),k.subVectors(e,f),h.cross(k),d[c.a].add(h),d[c.b].add(h),d[c.c].add(h)}else for(this.computeFaceNormals(),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)},computeFlatVertexNormals:function(){var a,b,c;this.computeFaceNormals();a=0;for(b=this.faces.length;a<b;a++){c=this.faces[a];var d=c.vertexNormals;3===d.length?(d[0].copy(c.normal),d[1].copy(c.normal),d[2].copy(c.normal)):(d[0]=
|
|
@@ -521,13 +521,13 @@ b=0;for(f=n.length;b<f;b++)p=n[b],q.vertexColors.push(p.clone());q.materialIndex
|
|
|
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 h=a[c]._id;f&&f.push(d[h]);g&&g.push(e[h])}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!==m[b])return m[b];m[b]=k.length/3;k.push(a.x,a.y,a.z);return m[b]}function c(a){var b=a.r.toString()+a.g.toString()+a.b.toString();if(void 0!==q[b])return q[b];q[b]=l.length;l.push(a.getHex());return q[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 h=this.vertices[g];f.push(h.x,h.y,h.z)}var h=[],k=[],m={},l=[],q={},n=[],u={};for(g=0;g<this.faces.length;g++){var p=this.faces[g],t=void 0!==this.faceVertexUvs[0][g],z=0<p.normal.length(),x=0<p.vertexNormals.length,v=1!==p.color.r||1!==p.color.g||1!==p.color.b,J=0<p.vertexColors.length,w=0,w=a(w,0,0),w=a(w,1,!0),w=a(w,2,!1),w=a(w,3,t),w=a(w,4,z),w=a(w,5,x),w=a(w,6,
|
|
|
-v),w=a(w,7,J);h.push(w);h.push(p.a,p.b,p.c);h.push(p.materialIndex);t&&(t=this.faceVertexUvs[0][g],h.push(d(t[0]),d(t[1]),d(t[2])));z&&h.push(b(p.normal));x&&(z=p.vertexNormals,h.push(b(z[0]),b(z[1]),b(z[2])));v&&h.push(c(p.color));J&&(p=p.vertexColors,h.push(c(p[0]),c(p[1]),c(p[2])))}e.data={};e.data.vertices=f;e.data.normals=k;0<l.length&&(e.data.colors=l);0<n.length&&(e.data.uvs=[n]);e.data.faces=h;return e},clone:function(){return(new P).copy(this)},copy:function(a){var b,c,d,e,f,g;this.vertices=
|
|
|
+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 h=this.vertices[g];f.push(h.x,h.y,h.z)}var h=[],k=[],m={},l=[],q={},n=[],u={};for(g=0;g<this.faces.length;g++){var p=this.faces[g],t=void 0!==this.faceVertexUvs[0][g],z=0<p.normal.length(),y=0<p.vertexNormals.length,w=1!==p.color.r||1!==p.color.g||1!==p.color.b,G=0<p.vertexColors.length,v=0,v=a(v,0,0),v=a(v,1,!0),v=a(v,2,!1),v=a(v,3,t),v=a(v,4,z),v=a(v,5,y),v=a(v,6,
|
|
|
+w),v=a(v,7,G);h.push(v);h.push(p.a,p.b,p.c);h.push(p.materialIndex);t&&(t=this.faceVertexUvs[0][g],h.push(d(t[0]),d(t[1]),d(t[2])));z&&h.push(b(p.normal));y&&(z=p.vertexNormals,h.push(b(z[0]),b(z[1]),b(z[2])));w&&h.push(c(p.color));G&&(p=p.vertexColors,h.push(c(p[0]),c(p[1]),c(p[2])))}e.data={};e.data.vertices=f;e.data.normals=k;0<l.length&&(e.data.colors=l);0<n.length&&(e.data.uvs=[n]);e.data.faces=h;return e},clone:function(){return(new P).copy(this)},copy:function(a){var b,c,d,e,f,g;this.vertices=
|
|
|
[];this.colors=[];this.faces=[];this.faceVertexUvs=[[]];this.morphTargets=[];this.morphNormals=[];this.skinWeights=[];this.skinIndices=[];this.lineDistances=[];this.boundingSphere=this.boundingBox=null;this.name=a.name;d=a.vertices;b=0;for(c=d.length;b<c;b++)this.vertices.push(d[b].clone());d=a.colors;b=0;for(c=d.length;b<c;b++)this.colors.push(d[b].clone());d=a.faces;b=0;for(c=d.length;b<c;b++)this.faces.push(d[b].clone());b=0;for(c=a.faceVertexUvs.length;b<c;b++){var h=a.faceVertexUvs[b];void 0===
|
|
|
this.faceVertexUvs[b]&&(this.faceVertexUvs[b]=[]);d=0;for(e=h.length;d<e;d++){var k=h[d],m=[];f=0;for(g=k.length;f<g;f++)m.push(k[f].clone());this.faceVertexUvs[b].push(m)}}f=a.morphTargets;b=0;for(c=f.length;b<c;b++){g={};g.name=f[b].name;if(void 0!==f[b].vertices)for(g.vertices=[],d=0,e=f[b].vertices.length;d<e;d++)g.vertices.push(f[b].vertices[d].clone());if(void 0!==f[b].normals)for(g.normals=[],d=0,e=f[b].normals.length;d<e;d++)g.normals.push(f[b].normals[d].clone());this.morphTargets.push(g)}f=
|
|
|
a.morphNormals;b=0;for(c=f.length;b<c;b++){g={};if(void 0!==f[b].vertexNormals)for(g.vertexNormals=[],d=0,e=f[b].vertexNormals.length;d<e;d++)h=f[b].vertexNormals[d],k={},k.a=h.a.clone(),k.b=h.b.clone(),k.c=h.c.clone(),g.vertexNormals.push(k);if(void 0!==f[b].faceNormals)for(g.faceNormals=[],d=0,e=f[b].faceNormals.length;d<e;d++)g.faceNormals.push(f[b].faceNormals[d].clone());this.morphNormals.push(g)}d=a.skinWeights;b=0;for(c=d.length;b<c;b++)this.skinWeights.push(d[b].clone());d=a.skinIndices;b=
|
|
|
0;for(c=d.length;b<c;b++)this.skinIndices.push(d[b].clone());d=a.lineDistances;b=0;for(c=d.length;b<c;b++)this.lineDistances.push(d[b]);b=a.boundingBox;null!==b&&(this.boundingBox=b.clone());b=a.boundingSphere;null!==b&&(this.boundingSphere=b.clone());this.elementsNeedUpdate=a.elementsNeedUpdate;this.verticesNeedUpdate=a.verticesNeedUpdate;this.uvsNeedUpdate=a.uvsNeedUpdate;this.normalsNeedUpdate=a.normalsNeedUpdate;this.colorsNeedUpdate=a.colorsNeedUpdate;this.lineDistancesNeedUpdate=a.lineDistancesNeedUpdate;
|
|
|
-this.groupsNeedUpdate=a.groupsNeedUpdate;return this},dispose:function(){this.dispatchEvent({type:"dispose"})}});H.MaxIndex=65535;Object.assign(H.prototype,qa.prototype,{isBufferGeometry:!0,getIndex:function(){return this.index},setIndex:function(a){Array.isArray(a)?this.index=new (65535<Pd(a)?ib:hb)(a,1):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.groupsNeedUpdate=a.groupsNeedUpdate;return this},dispose:function(){this.dispatchEvent({type:"dispose"})}});I.MaxIndex=65535;Object.assign(I.prototype,qa.prototype,{isBufferGeometry:!0,getIndex:function(){return this.index},setIndex:function(a){Array.isArray(a)?this.index=new (65535<Pd(a)?ib:hb)(a,1):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 Y(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.applyToBufferAttribute(b),b.needsUpdate=!0);b=this.attributes.normal;void 0!==b&&((new Fa).getNormalMatrix(a).applyToBufferAttribute(b),b.needsUpdate=!0);null!==this.boundingBox&&this.computeBoundingBox();null!==this.boundingSphere&&this.computeBoundingSphere();return this},rotateX:function(){var a=new L;return function(b){a.makeRotationX(b);this.applyMatrix(a);return this}}(),rotateY:function(){var a=new L;return function(b){a.makeRotationY(b);
|
|
|
this.applyMatrix(a);return this}}(),rotateZ:function(){var a=new L;return function(b){a.makeRotationZ(b);this.applyMatrix(a);return this}}(),translate:function(){var a=new L;return function(b,c,d){a.makeTranslation(b,c,d);this.applyMatrix(a);return this}}(),scale:function(){var a=new L;return function(b,c,d){a.makeScale(b,c,d);this.applyMatrix(a);return this}}(),lookAt:function(){var a=new B;return function(b){a.lookAt(b);a.updateMatrix();this.applyMatrix(a.matrix)}}(),center:function(){this.computeBoundingBox();
|
|
@@ -540,19 +540,19 @@ fromDirectGeometry:function(a){var b=new Float32Array(3*a.vertices.length);this.
|
|
|
a.skinIndices.length,4),this.addAttribute("skinIndex",c.copyVector4sArray(a.skinIndices)));0<a.skinWeights.length&&(c=new E(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 Sa);var a=this.attributes.position;void 0!==a?this.boundingBox.setFromBufferAttribute(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 Sa,b=new p;return function(){null===this.boundingSphere&&(this.boundingSphere=new Ba);var c=this.attributes.position;if(c){var d=this.boundingSphere.center;a.setFromBufferAttribute(c);
|
|
|
a.getCenter(d);for(var e=0,f=0,g=c.count;f<g;f++)b.x=c.getX(f),b.y=c.getY(f),b.z=c.getZ(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 Y(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,h,k,m,l=new p,q=new p,n=new p,u=new p,y=new p;if(a){a=a.array;0===c.length&&this.addGroup(0,a.length);for(var t=0,z=c.length;t<z;++t)for(f=c[t],g=f.start,h=f.count,f=g,g+=h;f<g;f+=3)h=3*a[f+0],k=3*a[f+1],m=3*a[f+2],l.fromArray(d,h),q.fromArray(d,k),n.fromArray(d,m),u.subVectors(n,q),y.subVectors(l,q),u.cross(y),e[h]+=u.x,e[h+1]+=u.y,
|
|
|
-e[h+2]+=u.z,e[k]+=u.x,e[k+1]+=u.y,e[k+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)l.fromArray(d,f),q.fromArray(d,f+3),n.fromArray(d,f+6),u.subVectors(n,q),y.subVectors(l,q),u.cross(y),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.",
|
|
|
+if(void 0===b.normal)this.addAttribute("normal",new Y(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,h,k,m,l=new p,q=new p,n=new p,u=new p,x=new p;if(a){a=a.array;0===c.length&&this.addGroup(0,a.length);for(var t=0,z=c.length;t<z;++t)for(f=c[t],g=f.start,h=f.count,f=g,g+=h;f<g;f+=3)h=3*a[f+0],k=3*a[f+1],m=3*a[f+2],l.fromArray(d,h),q.fromArray(d,k),n.fromArray(d,m),u.subVectors(n,q),x.subVectors(l,q),u.cross(x),e[h]+=u.x,e[h+1]+=u.y,
|
|
|
+e[h+2]+=u.z,e[k]+=u.x,e[k+1]+=u.y,e[k+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)l.fromArray(d,f),q.fromArray(d,f+3),n.fromArray(d,f+6),u.subVectors(n,q),x.subVectors(l,q),u.cross(x),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,h=0,f=f.itemSize*b;h<g.length;h++,f++)e[f]=g[h];return this}},normalizeNormals:function(){for(var a=this.attributes.normal,b,c,d,e,f=0,g=a.count;f<g;f++)b=a.getX(f),c=a.getY(f),d=a.getZ(f),e=1/Math.sqrt(b*b+c*c+d*d),a.setXYZ(f,b*e,c*e,d*e)},toNonIndexed:function(){if(null===this.index)return console.warn("THREE.BufferGeometry.toNonIndexed(): Geometry is already non-indexed."),
|
|
|
-this;var a=new H,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),h,k=0,m=0,l=b.length;m<l;m++){h=b[m]*e;for(var q=0;q<e;q++)g[k++]=f[h++]}a.addAttribute(d,new Y(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]&&
|
|
|
+this;var a=new I,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),h,k=0,m=0,l=b.length;m<l;m++){h=b[m]*e;for(var q=0;q<e;q++)g[k++]=f[h++]}a.addAttribute(d,new Y(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 H).copy(this)},copy:function(a){var b,c,d;this.index=null;this.attributes={};this.morphAttributes={};this.groups=[];this.boundingSphere=this.boundingBox=null;this.name=a.name;c=a.index;null!==c&&this.setIndex(c.clone());c=a.attributes;for(b in c)this.addAttribute(b,c[b].clone());var e=a.morphAttributes;for(b in e){var f=[],g=e[b];c=0;for(d=g.length;c<d;c++)f.push(g[c].clone());this.morphAttributes[b]=f}b=a.groups;c=0;for(d=b.length;c<d;c++)e=
|
|
|
+radius:c.radius});return a},clone:function(){return(new I).copy(this)},copy:function(a){var b,c,d;this.index=null;this.attributes={};this.morphAttributes={};this.groups=[];this.boundingSphere=this.boundingBox=null;this.name=a.name;c=a.index;null!==c&&this.setIndex(c.clone());c=a.attributes;for(b in c)this.addAttribute(b,c[b].clone());var e=a.morphAttributes;for(b in e){var f=[],g=e[b];c=0;for(d=g.length;c<d;c++)f.push(g[c].clone());this.morphAttributes[b]=f}b=a.groups;c=0;for(d=b.length;c<d;c++)e=
|
|
|
b[c],this.addGroup(e.start,e.count,e.materialIndex);b=a.boundingBox;null!==b&&(this.boundingBox=b.clone());b=a.boundingSphere;null!==b&&(this.boundingSphere=b.clone());this.drawRange.start=a.drawRange.start;this.drawRange.count=a.drawRange.count;return this},dispose:function(){this.dispatchEvent({type:"dispose"})}});wa.prototype=Object.assign(Object.create(B.prototype),{constructor:wa,isMesh:!0,setDrawMode:function(a){this.drawMode=a},copy:function(a){B.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){Ta.barycoordFromPoint(a,b,c,d,t);e.multiplyScalar(t.x);f.multiplyScalar(t.y);g.multiplyScalar(t.z);e.add(f).add(g);return e.clone()}function b(a,b,c,d,e,f,g){var h=a.material;if(null===
|
|
|
-(1===h.side?c.intersectTriangle(f,e,d,!0,g):c.intersectTriangle(d,e,f,2!==h.side,g)))return null;x.copy(g);x.applyMatrix4(a.matrixWorld);c=b.ray.origin.distanceTo(x);return c<b.near||c>b.far?null:{distance:c,point:x.clone(),object:a}}function c(c,d,e,f,m,l,r,q){g.fromBufferAttribute(f,l);h.fromBufferAttribute(f,r);k.fromBufferAttribute(f,q);if(c=b(c,d,e,g,h,k,z))m&&(n.fromBufferAttribute(m,l),u.fromBufferAttribute(m,r),y.fromBufferAttribute(m,q),c.uv=a(z,g,h,k,n,u,y)),c.face=new Ua(l,r,q,Ta.normal(g,
|
|
|
-h,k)),c.faceIndex=l;return c}var d=new L,e=new gb,f=new Ba,g=new p,h=new p,k=new p,m=new p,l=new p,q=new p,n=new D,u=new D,y=new D,t=new p,z=new p,x=new p;return function(t,p){var w=this.geometry,x=this.material,C=this.matrixWorld;if(void 0!==x&&(null===w.boundingSphere&&w.computeBoundingSphere(),f.copy(w.boundingSphere),f.applyMatrix4(C),!1!==t.ray.intersectsSphere(f)&&(d.getInverse(C),e.copy(t.ray).applyMatrix4(d),null===w.boundingBox||!1!==e.intersectsBox(w.boundingBox)))){var F;if(w.isBufferGeometry){var G,
|
|
|
-D,x=w.index,B=w.attributes.position,C=w.attributes.uv,E,I;if(null!==x)for(E=0,I=x.count;E<I;E+=3){if(w=x.getX(E),G=x.getX(E+1),D=x.getX(E+2),F=c(this,t,e,B,C,w,G,D))F.faceIndex=Math.floor(E/3),p.push(F)}else for(E=0,I=B.count;E<I;E+=3)if(w=E,G=E+1,D=E+2,F=c(this,t,e,B,C,w,G,D))F.index=w,p.push(F)}else if(w.isGeometry){var H,C=Array.isArray(x);E=w.vertices;I=w.faces;G=w.faceVertexUvs[0];0<G.length&&(B=G);for(var K=0,P=I.length;K<P;K++){var Q=I[K];F=C?x[Q.materialIndex]:x;if(void 0!==F){G=E[Q.a];D=
|
|
|
-E[Q.b];H=E[Q.c];if(!0===F.morphTargets){F=w.morphTargets;var O=this.morphTargetInfluences;g.set(0,0,0);h.set(0,0,0);k.set(0,0,0);for(var W=0,ka=F.length;W<ka;W++){var V=O[W];if(0!==V){var R=F[W].vertices;g.addScaledVector(m.subVectors(R[Q.a],G),V);h.addScaledVector(l.subVectors(R[Q.b],D),V);k.addScaledVector(q.subVectors(R[Q.c],H),V)}}g.add(G);h.add(D);k.add(H);G=g;D=h;H=k}if(F=b(this,t,e,G,D,H,z))B&&B[K]&&(O=B[K],n.copy(O[0]),u.copy(O[1]),y.copy(O[2]),F.uv=a(z,G,D,H,n,u,y)),F.face=Q,F.faceIndex=
|
|
|
-K,p.push(F)}}}}}}(),clone:function(){return(new this.constructor(this.geometry,this.material)).copy(this)}});Fb.prototype=Object.create(P.prototype);Fb.prototype.constructor=Fb;jb.prototype=Object.create(H.prototype);jb.prototype.constructor=jb;vc.prototype=Object.create(P.prototype);vc.prototype.constructor=vc;kb.prototype=Object.create(H.prototype);kb.prototype.constructor=kb;Na.prototype=Object.assign(Object.create(B.prototype),{constructor:Na,isCamera:!0,copy:function(a){B.prototype.copy.call(this,
|
|
|
+(1===h.side?c.intersectTriangle(f,e,d,!0,g):c.intersectTriangle(d,e,f,2!==h.side,g)))return null;y.copy(g);y.applyMatrix4(a.matrixWorld);c=b.ray.origin.distanceTo(y);return c<b.near||c>b.far?null:{distance:c,point:y.clone(),object:a}}function c(c,d,e,f,m,l,r,q){g.fromBufferAttribute(f,l);h.fromBufferAttribute(f,r);k.fromBufferAttribute(f,q);if(c=b(c,d,e,g,h,k,z))m&&(n.fromBufferAttribute(m,l),u.fromBufferAttribute(m,r),x.fromBufferAttribute(m,q),c.uv=a(z,g,h,k,n,u,x)),c.face=new Ua(l,r,q,Ta.normal(g,
|
|
|
+h,k)),c.faceIndex=l;return c}var d=new L,e=new gb,f=new Ba,g=new p,h=new p,k=new p,m=new p,l=new p,q=new p,n=new D,u=new D,x=new D,t=new p,z=new p,y=new p;return function(t,p){var v=this.geometry,y=this.material,C=this.matrixWorld;if(void 0!==y&&(null===v.boundingSphere&&v.computeBoundingSphere(),f.copy(v.boundingSphere),f.applyMatrix4(C),!1!==t.ray.intersectsSphere(f)&&(d.getInverse(C),e.copy(t.ray).applyMatrix4(d),null===v.boundingBox||!1!==e.intersectsBox(v.boundingBox)))){var F;if(v.isBufferGeometry){var H,
|
|
|
+D,y=v.index,B=v.attributes.position,C=v.attributes.uv,E,J;if(null!==y)for(E=0,J=y.count;E<J;E+=3){if(v=y.getX(E),H=y.getX(E+1),D=y.getX(E+2),F=c(this,t,e,B,C,v,H,D))F.faceIndex=Math.floor(E/3),p.push(F)}else for(E=0,J=B.count;E<J;E+=3)if(v=E,H=E+1,D=E+2,F=c(this,t,e,B,C,v,H,D))F.index=v,p.push(F)}else if(v.isGeometry){var I,C=Array.isArray(y);E=v.vertices;J=v.faces;H=v.faceVertexUvs[0];0<H.length&&(B=H);for(var K=0,P=J.length;K<P;K++){var Q=J[K];F=C?y[Q.materialIndex]:y;if(void 0!==F){H=E[Q.a];D=
|
|
|
+E[Q.b];I=E[Q.c];if(!0===F.morphTargets){F=v.morphTargets;var N=this.morphTargetInfluences;g.set(0,0,0);h.set(0,0,0);k.set(0,0,0);for(var W=0,ka=F.length;W<ka;W++){var V=N[W];if(0!==V){var R=F[W].vertices;g.addScaledVector(m.subVectors(R[Q.a],H),V);h.addScaledVector(l.subVectors(R[Q.b],D),V);k.addScaledVector(q.subVectors(R[Q.c],I),V)}}g.add(H);h.add(D);k.add(I);H=g;D=h;I=k}if(F=b(this,t,e,H,D,I,z))B&&B[K]&&(N=B[K],n.copy(N[0]),u.copy(N[1]),x.copy(N[2]),F.uv=a(z,H,D,I,n,u,x)),F.face=Q,F.faceIndex=
|
|
|
+K,p.push(F)}}}}}}(),clone:function(){return(new this.constructor(this.geometry,this.material)).copy(this)}});Fb.prototype=Object.create(P.prototype);Fb.prototype.constructor=Fb;jb.prototype=Object.create(I.prototype);jb.prototype.constructor=jb;vc.prototype=Object.create(P.prototype);vc.prototype.constructor=vc;kb.prototype=Object.create(I.prototype);kb.prototype.constructor=kb;Na.prototype=Object.assign(Object.create(B.prototype),{constructor:Na,isCamera:!0,copy:function(a){B.prototype.copy.call(this,
|
|
|
a);this.matrixWorldInverse.copy(a.matrixWorldInverse);this.projectionMatrix.copy(a.projectionMatrix);return this},getWorldDirection:function(){var a=new oa;return function(b){b=b||new p;this.getWorldQuaternion(a);return b.set(0,0,-1).applyQuaternion(a)}}(),clone:function(){return(new this.constructor).copy(this)}});xa.prototype=Object.assign(Object.create(Na.prototype),{constructor:xa,isPerspectiveCamera:!0,copy:function(a){Na.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*X.RAD2DEG*Math.atan(a);this.updateProjectionMatrix()},getFocalLength:function(){var a=Math.tan(.5*X.DEG2RAD*this.fov);return.5*this.getFilmHeight()/a},getEffectiveFOV:function(){return 2*X.RAD2DEG*Math.atan(Math.tan(.5*X.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()},clearViewOffset:function(){this.view=null;this.updateProjectionMatrix()},updateProjectionMatrix:function(){var a=this.near,b=a*Math.tan(.5*X.DEG2RAD*this.fov)/this.zoom,c=2*b,d=this.aspect*c,e=-.5*d,f=
|
|
@@ -574,35 +574,35 @@ b.quaternion.fromArray(c.rotq),void 0!==c.scl&&b.scale.fromArray(c.scl);d=0;for(
|
|
|
b;if(this.geometry&&this.geometry.isGeometry)for(b=0;b<this.geometry.skinWeights.length;b++){var c=this.geometry.skinWeights[b];a=1/c.lengthManhattan();Infinity!==a?c.multiplyScalar(a):c.set(1,0,0,0)}else if(this.geometry&&this.geometry.isBufferGeometry){var c=new ga,d=this.geometry.attributes.skinWeight;for(b=0;b<d.count;b++)c.x=d.getX(b),c.y=d.getY(b),c.z=d.getZ(b),c.w=d.getW(b),a=1/c.lengthManhattan(),Infinity!==a?c.multiplyScalar(a):c.set(1,0,0,0),d.setXYZW(b,c.x,c.y,c.z,c.w)}},updateMatrixWorld:function(a){wa.prototype.updateMatrixWorld.call(this,
|
|
|
a);"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)).copy(this)}});ha.prototype=Object.create(U.prototype);ha.prototype.constructor=ha;ha.prototype.isLineBasicMaterial=!0;ha.prototype.copy=function(a){U.prototype.copy.call(this,a);this.color.copy(a.color);
|
|
|
this.linewidth=a.linewidth;this.linecap=a.linecap;this.linejoin=a.linejoin;return this};Ka.prototype=Object.assign(Object.create(B.prototype),{constructor:Ka,isLine:!0,raycast:function(){var a=new L,b=new gb,c=new Ba;return function(d,e){var f=d.linePrecision,f=f*f,g=this.geometry,h=this.matrixWorld;null===g.boundingSphere&&g.computeBoundingSphere();c.copy(g.boundingSphere);c.applyMatrix4(h);if(!1!==d.ray.intersectsSphere(c)){a.getInverse(h);b.copy(d.ray).applyMatrix4(a);var k=new p,m=new p,h=new p,
|
|
|
-l=new p,q=this&&this.isLineSegments?2:1;if(g.isBufferGeometry){var n=g.index,u=g.attributes.position.array;if(null!==n)for(var n=n.array,g=0,y=n.length-1;g<y;g+=q){var t=n[g+1];k.fromArray(u,3*n[g]);m.fromArray(u,3*t);t=b.distanceSqToSegment(k,m,l,h);t>f||(l.applyMatrix4(this.matrixWorld),t=d.ray.origin.distanceTo(l),t<d.near||t>d.far||e.push({distance:t,point:h.clone().applyMatrix4(this.matrixWorld),index:g,face:null,faceIndex:null,object:this}))}else for(g=0,y=u.length/3-1;g<y;g+=q)k.fromArray(u,
|
|
|
+l=new p,q=this&&this.isLineSegments?2:1;if(g.isBufferGeometry){var n=g.index,u=g.attributes.position.array;if(null!==n)for(var n=n.array,g=0,x=n.length-1;g<x;g+=q){var t=n[g+1];k.fromArray(u,3*n[g]);m.fromArray(u,3*t);t=b.distanceSqToSegment(k,m,l,h);t>f||(l.applyMatrix4(this.matrixWorld),t=d.ray.origin.distanceTo(l),t<d.near||t>d.far||e.push({distance:t,point:h.clone().applyMatrix4(this.matrixWorld),index:g,face:null,faceIndex:null,object:this}))}else for(g=0,x=u.length/3-1;g<x;g+=q)k.fromArray(u,
|
|
|
3*g),m.fromArray(u,3*g+3),t=b.distanceSqToSegment(k,m,l,h),t>f||(l.applyMatrix4(this.matrixWorld),t=d.ray.origin.distanceTo(l),t<d.near||t>d.far||e.push({distance:t,point:h.clone().applyMatrix4(this.matrixWorld),index:g,face:null,faceIndex:null,object:this}))}else if(g.isGeometry)for(k=g.vertices,m=k.length,g=0;g<m-1;g+=q)t=b.distanceSqToSegment(k[g],k[g+1],l,h),t>f||(l.applyMatrix4(this.matrixWorld),t=d.ray.origin.distanceTo(l),t<d.near||t>d.far||e.push({distance:t,point:h.clone().applyMatrix4(this.matrixWorld),
|
|
|
index:g,face:null,faceIndex:null,object:this}))}}}(),clone:function(){return(new this.constructor(this.geometry,this.material)).copy(this)}});ca.prototype=Object.assign(Object.create(Ka.prototype),{constructor:ca,isLineSegments:!0});ld.prototype=Object.assign(Object.create(Ka.prototype),{constructor:ld,isLineLoop:!0});La.prototype=Object.create(U.prototype);La.prototype.constructor=La;La.prototype.isPointsMaterial=!0;La.prototype.copy=function(a){U.prototype.copy.call(this,a);this.color.copy(a.color);
|
|
|
this.map=a.map;this.size=a.size;this.sizeAttenuation=a.sizeAttenuation;return this};Jb.prototype=Object.assign(Object.create(B.prototype),{constructor:Jb,isPoints:!0,raycast:function(){var a=new L,b=new gb,c=new Ba;return function(d,e){function f(a,c){var f=b.distanceSqToPoint(a);if(f<l){var h=b.closestPointToPoint(a);h.applyMatrix4(k);var m=d.ray.origin.distanceTo(h);m<d.near||m>d.far||e.push({distance:m,distanceToRay:Math.sqrt(f),point:h.clone(),index:c,face:null,object:g})}}var g=this,h=this.geometry,
|
|
|
-k=this.matrixWorld,m=d.params.Points.threshold;null===h.boundingSphere&&h.computeBoundingSphere();c.copy(h.boundingSphere);c.applyMatrix4(k);c.radius+=m;if(!1!==d.ray.intersectsSphere(c)){a.getInverse(k);b.copy(d.ray).applyMatrix4(a);var m=m/((this.scale.x+this.scale.y+this.scale.z)/3),l=m*m,m=new p;if(h.isBufferGeometry){var q=h.index,h=h.attributes.position.array;if(null!==q)for(var n=q.array,q=0,u=n.length;q<u;q++){var y=n[q];m.fromArray(h,3*y);f(m,y)}else for(q=0,n=h.length/3;q<n;q++)m.fromArray(h,
|
|
|
+k=this.matrixWorld,m=d.params.Points.threshold;null===h.boundingSphere&&h.computeBoundingSphere();c.copy(h.boundingSphere);c.applyMatrix4(k);c.radius+=m;if(!1!==d.ray.intersectsSphere(c)){a.getInverse(k);b.copy(d.ray).applyMatrix4(a);var m=m/((this.scale.x+this.scale.y+this.scale.z)/3),l=m*m,m=new p;if(h.isBufferGeometry){var q=h.index,h=h.attributes.position.array;if(null!==q)for(var n=q.array,q=0,u=n.length;q<u;q++){var x=n[q];m.fromArray(h,3*x);f(m,x)}else for(q=0,n=h.length/3;q<n;q++)m.fromArray(h,
|
|
|
3*q),f(m,q)}else for(m=h.vertices,q=0,n=m.length;q<n;q++)f(m[q],q)}}}(),clone:function(){return(new this.constructor(this.geometry,this.material)).copy(this)}});Ac.prototype=Object.assign(Object.create(B.prototype),{constructor:Ac});md.prototype=Object.create(ba.prototype);md.prototype.constructor=md;Kb.prototype=Object.create(ba.prototype);Kb.prototype.constructor=Kb;Kb.prototype.isCompressedTexture=!0;nd.prototype=Object.create(ba.prototype);nd.prototype.constructor=nd;Bc.prototype=Object.create(ba.prototype);
|
|
|
-Bc.prototype.constructor=Bc;Bc.prototype.isDepthTexture=!0;Lb.prototype=Object.create(H.prototype);Lb.prototype.constructor=Lb;Cc.prototype=Object.create(P.prototype);Cc.prototype.constructor=Cc;Mb.prototype=Object.create(H.prototype);Mb.prototype.constructor=Mb;Dc.prototype=Object.create(P.prototype);Dc.prototype.constructor=Dc;ma.prototype=Object.create(H.prototype);ma.prototype.constructor=ma;Ec.prototype=Object.create(P.prototype);Ec.prototype.constructor=Ec;Nb.prototype=Object.create(ma.prototype);
|
|
|
+Bc.prototype.constructor=Bc;Bc.prototype.isDepthTexture=!0;Lb.prototype=Object.create(I.prototype);Lb.prototype.constructor=Lb;Cc.prototype=Object.create(P.prototype);Cc.prototype.constructor=Cc;Mb.prototype=Object.create(I.prototype);Mb.prototype.constructor=Mb;Dc.prototype=Object.create(P.prototype);Dc.prototype.constructor=Dc;ma.prototype=Object.create(I.prototype);ma.prototype.constructor=ma;Ec.prototype=Object.create(P.prototype);Ec.prototype.constructor=Ec;Nb.prototype=Object.create(ma.prototype);
|
|
|
Nb.prototype.constructor=Nb;Fc.prototype=Object.create(P.prototype);Fc.prototype.constructor=Fc;lb.prototype=Object.create(ma.prototype);lb.prototype.constructor=lb;Gc.prototype=Object.create(P.prototype);Gc.prototype.constructor=Gc;Ob.prototype=Object.create(ma.prototype);Ob.prototype.constructor=Ob;Hc.prototype=Object.create(P.prototype);Hc.prototype.constructor=Hc;Pb.prototype=Object.create(ma.prototype);Pb.prototype.constructor=Pb;Ic.prototype=Object.create(P.prototype);Ic.prototype.constructor=
|
|
|
-Ic;Qb.prototype=Object.create(H.prototype);Qb.prototype.constructor=Qb;Jc.prototype=Object.create(P.prototype);Jc.prototype.constructor=Jc;Rb.prototype=Object.create(H.prototype);Rb.prototype.constructor=Rb;Kc.prototype=Object.create(P.prototype);Kc.prototype.constructor=Kc;Sb.prototype=Object.create(H.prototype);Sb.prototype.constructor=Sb;var ya={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,h,k;if(0<ya.area(a))for(h=0;h<c;h++)e[h]=h;else for(h=0;h<c;h++)e[h]=c-1-h;var m=2*c;for(h=c-1;2<c;){if(0>=m--){console.warn("THREE.ShapeUtils: Unable to triangulate polygon! in triangulate()");break}g=h;c<=g&&(g=0);h=g+1;c<=h&&(h=0);k=h+1;c<=k&&(k=0);var l;a:{var q,n,u,p,t,z,x,v;q=a[e[g]].x;n=a[e[g]].y;u=a[e[h]].x;p=a[e[h]].y;t=a[e[k]].x;z=a[e[k]].y;if(0>=(u-q)*(z-n)-(p-n)*(t-q))l=!1;else{var J,w,N,C,F,G,D,E,B,I;J=t-u;w=z-p;N=q-t;C=n-z;F=u-q;G=p-n;
|
|
|
-for(l=0;l<c;l++)if(x=a[e[l]].x,v=a[e[l]].y,!(x===q&&v===n||x===u&&v===p||x===t&&v===z)&&(D=x-q,E=v-n,B=x-u,I=v-p,x-=t,v-=z,B=J*I-w*B,D=F*E-G*D,E=N*v-C*x,B>=-Number.EPSILON&&E>=-Number.EPSILON&&D>=-Number.EPSILON)){l=!1;break a}l=!0}}if(l){d.push([a[e[g]],a[e[h]],a[e[k]]]);f.push([e[g],e[h],e[k]]);g=h;for(k=h+1;k<c;g++,k++)e[g]=e[k];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<=
|
|
|
+Ic;Qb.prototype=Object.create(I.prototype);Qb.prototype.constructor=Qb;Jc.prototype=Object.create(P.prototype);Jc.prototype.constructor=Jc;Rb.prototype=Object.create(I.prototype);Rb.prototype.constructor=Rb;Kc.prototype=Object.create(P.prototype);Kc.prototype.constructor=Kc;Sb.prototype=Object.create(I.prototype);Sb.prototype.constructor=Sb;var ya={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,h,k;if(0<ya.area(a))for(h=0;h<c;h++)e[h]=h;else for(h=0;h<c;h++)e[h]=c-1-h;var m=2*c;for(h=c-1;2<c;){if(0>=m--){console.warn("THREE.ShapeUtils: Unable to triangulate polygon! in triangulate()");break}g=h;c<=g&&(g=0);h=g+1;c<=h&&(h=0);k=h+1;c<=k&&(k=0);var l;a:{var q,n,u,p,t,z,y,w;q=a[e[g]].x;n=a[e[g]].y;u=a[e[h]].x;p=a[e[h]].y;t=a[e[k]].x;z=a[e[k]].y;if(0>=(u-q)*(z-n)-(p-n)*(t-q))l=!1;else{var G,v,O,C,F,H,D,E,B,J;G=t-u;v=z-p;O=q-t;C=n-z;F=u-q;H=p-n;
|
|
|
+for(l=0;l<c;l++)if(y=a[e[l]].x,w=a[e[l]].y,!(y===q&&w===n||y===u&&w===p||y===t&&w===z)&&(D=y-q,E=w-n,B=y-u,J=w-p,y-=t,w-=z,B=G*J-v*B,D=F*E-H*D,E=O*w-C*y,B>=-Number.EPSILON&&E>=-Number.EPSILON&&D>=-Number.EPSILON)){l=!1;break a}l=!0}}if(l){d.push([a[e[g]],a[e[h]],a[e[k]]]);f.push([e[g],e[h],e[k]]);g=h;for(k=h+1;k<c;g++,k++)e[g]=e[k];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,h=b.y-a.y,k=e.x-c.x,m=e.y-c.y,l=a.x-c.x,n=a.y-c.y,r=h*k-g*m,q=h*l-g*n;if(Math.abs(r)>Number.EPSILON){if(0<r){if(0>q||q>r)return[];k=m*l-k*n;if(0>k||k>r)return[]}else{if(0<q||q<r)return[];k=m*l-k*n;if(0<k||k<r)return[]}if(0===k)return!f||0!==q&&q!==r?[a]:[];if(k===r)return!f||0!==q&&q!==r?[b]:[];if(0===q)return[c];if(q===r)return[e];f=k/r;return[{x:a.x+f*g,y:a.y+f*h}]}if(0!==q||m*l!==
|
|
|
k*n)return[];h=0===g&&0===h;k=0===k&&0===m;if(h&&k)return a.x!==c.x||a.y!==c.y?[]:[a];if(h)return d(c,e,a)?[a]:[];if(k)return d(a,b,c)?[c]:[];0!==g?(a.x<b.x?(g=a,k=a.x,h=b,a=b.x):(g=b,k=b.x,h=a,a=a.x),c.x<e.x?(b=c,r=c.x,m=e,c=e.x):(b=e,r=e.x,m=c,c=c.x)):(a.y<b.y?(g=a,k=a.y,h=b,a=b.y):(g=b,k=b.y,h=a,a=a.y),c.y<e.y?(b=c,r=c.y,m=e,c=e.y):(b=e,r=e.y,m=c,c=c.y));return k<=r?a<r?[]:a===r?f?[]:[b]:a<=c?[b,h]:[b,m]:k>c?[]:k===c?f?[]:[g]:a<=c?[g,h]:[g,m]}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,h,k,m,l,q={};k=a.concat();g=0;for(h=b.length;g<h;g++)Array.prototype.push.apply(k,b[g]);g=0;for(h=k.length;g<h;g++)l=k[g].x+":"+k[g].y,void 0!==q[l]&&console.warn("THREE.ShapeUtils: Duplicate point",l,g),q[l]=g;g=function(a,b){function c(a,b){var d=h.length-1,e=a-1;0>e&&(e=d);var g=a+1;g>d&&(g=0);d=f(h[a],h[e],h[g],k[b]);if(!d)return!1;d=k.length-
|
|
|
-1;e=b-1;0>e&&(e=d);g=b+1;g>d&&(g=0);return(d=f(k[b],k[e],k[g],h[a]))?!0:!1}function d(a,b){var c,f;for(c=0;c<h.length;c++)if(f=c+1,f%=h.length,f=e(a,b,h[c],h[f],!0),0<f.length)return!0;return!1}function g(a,c){var d,f,h,k;for(d=0;d<m.length;d++)for(f=b[m[d]],h=0;h<f.length;h++)if(k=h+1,k%=f.length,k=e(a,c,f[h],f[k],!0),0<k.length)return!0;return!1}var h=a.concat(),k,m=[],l,n,r,q,p,D=[],E,B,H,K=0;for(l=b.length;K<l;K++)m.push(K);E=0;for(var P=2*m.length;0<m.length;){P--;if(0>P){console.log("Infinite Loop! Holes left:"+
|
|
|
-m.length+", Probably Hole outside Shape!");break}for(n=E;n<h.length;n++){r=h[n];l=-1;for(K=0;K<m.length;K++)if(q=m[K],p=r.x+":"+r.y+":"+q,void 0===D[p]){k=b[q];for(B=0;B<k.length;B++)if(q=k[B],c(n,B)&&!d(r,q)&&!g(r,q)){l=B;m.splice(K,1);E=h.slice(0,n+1);q=h.slice(n);B=k.slice(l);H=k.slice(0,l+1);h=E.concat(B).concat(H).concat(q);E=n;break}if(0<=l)break;D[p]=!0}if(0<=l)break}}return h}(a,b);var n=ya.triangulate(g,!1);g=0;for(h=n.length;g<h;g++)for(m=n[g],k=0;3>k;k++)l=m[k].x+":"+m[k].y,l=q[l],void 0!==
|
|
|
-l&&(m[k]=l);return n.concat()},isClockWise:function(a){return 0>ya.area(a)}};cb.prototype=Object.create(P.prototype);cb.prototype.constructor=cb;Ea.prototype=Object.create(H.prototype);Ea.prototype.constructor=Ea;Ea.prototype.getArrays=function(){var a=this.getAttribute("position"),a=a?Array.prototype.slice.call(a.array):[],b=this.getAttribute("uv"),b=b?Array.prototype.slice.call(b.array):[],c=this.index,c=c?Array.prototype.slice.call(c.array):[];return{position:a,uv:b,index:c}};Ea.prototype.addShapeList=
|
|
|
+1;e=b-1;0>e&&(e=d);g=b+1;g>d&&(g=0);return(d=f(k[b],k[e],k[g],h[a]))?!0:!1}function d(a,b){var c,f;for(c=0;c<h.length;c++)if(f=c+1,f%=h.length,f=e(a,b,h[c],h[f],!0),0<f.length)return!0;return!1}function g(a,c){var d,f,h,k;for(d=0;d<m.length;d++)for(f=b[m[d]],h=0;h<f.length;h++)if(k=h+1,k%=f.length,k=e(a,c,f[h],f[k],!0),0<k.length)return!0;return!1}var h=a.concat(),k,m=[],l,n,r,q,p,D=[],E,B,I,K=0;for(l=b.length;K<l;K++)m.push(K);E=0;for(var P=2*m.length;0<m.length;){P--;if(0>P){console.log("Infinite Loop! Holes left:"+
|
|
|
+m.length+", Probably Hole outside Shape!");break}for(n=E;n<h.length;n++){r=h[n];l=-1;for(K=0;K<m.length;K++)if(q=m[K],p=r.x+":"+r.y+":"+q,void 0===D[p]){k=b[q];for(B=0;B<k.length;B++)if(q=k[B],c(n,B)&&!d(r,q)&&!g(r,q)){l=B;m.splice(K,1);E=h.slice(0,n+1);q=h.slice(n);B=k.slice(l);I=k.slice(0,l+1);h=E.concat(B).concat(I).concat(q);E=n;break}if(0<=l)break;D[p]=!0}if(0<=l)break}}return h}(a,b);var n=ya.triangulate(g,!1);g=0;for(h=n.length;g<h;g++)for(m=n[g],k=0;3>k;k++)l=m[k].x+":"+m[k].y,l=q[l],void 0!==
|
|
|
+l&&(m[k]=l);return n.concat()},isClockWise:function(a){return 0>ya.area(a)}};cb.prototype=Object.create(P.prototype);cb.prototype.constructor=cb;Ea.prototype=Object.create(I.prototype);Ea.prototype.constructor=Ea;Ea.prototype.getArrays=function(){var a=this.getAttribute("position"),a=a?Array.prototype.slice.call(a.array):[],b=this.getAttribute("uv"),b=b?Array.prototype.slice.call(b.array):[],c=this.index,c=c?Array.prototype.slice.call(c.array):[];return{position:a,uv:b,index:c}};Ea.prototype.addShapeList=
|
|
|
function(a,b){var c=a.length;b.arrays=this.getArrays();for(var d=0;d<c;d++)this.addShape(a[d],b);this.setIndex(b.arrays.index);this.addAttribute("position",new E(b.arrays.position,3));this.addAttribute("uv",new E(b.arrays.uv,2))};Ea.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,h=e*e+f*f;if(Math.abs(e*g-f*d)>Number.EPSILON){var k=
|
|
|
-Math.sqrt(h),m=Math.sqrt(d*d+g*g),h=b.x-f/k;b=b.y+e/k;g=((c.x-g/m-h)*g-(c.y+d/m-b)*d)/(e*g-f*d);d=h+e*g-a.x;e=b+f*g-a.y;f=d*d+e*e;if(2>=f)return new D(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(h)):(d=e,e=f,f=Math.sqrt(h/2));return new D(d/f,e/f)}function e(a,b){var c,d;for(M=a.length;0<=--M;){c=M;d=M-1;0>d&&(d=a.length-1);var e,f=J+2*z;for(e=0;e<f;e++){var g=ba*e,m=ba*
|
|
|
+Math.sqrt(h),m=Math.sqrt(d*d+g*g),h=b.x-f/k;b=b.y+e/k;g=((c.x-g/m-h)*g-(c.y+d/m-b)*d)/(e*g-f*d);d=h+e*g-a.x;e=b+f*g-a.y;f=d*d+e*e;if(2>=f)return new D(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(h)):(d=e,e=f,f=Math.sqrt(h/2));return new D(d/f,e/f)}function e(a,b){var c,d;for(M=a.length;0<=--M;){c=M;d=M-1;0>d&&(d=a.length-1);var e,f=G+2*z;for(e=0;e<f;e++){var g=ba*e,m=ba*
|
|
|
(e+1),n=b+d+g,q=b+d+m,m=b+c+m;h(b+c+g);h(n);h(m);h(n);h(q);h(m);g=l.length/3;g=F.generateSideWallUV(Y,l,g-6,g-3,g-2,g-1);k(g[0]);k(g[1]);k(g[3]);k(g[1]);k(g[2]);k(g[3])}}}function f(a,b,c){u.push(a);u.push(b);u.push(c)}function g(a,b,c){h(a);h(b);h(c);a=l.length/3;a=F.generateTopUV(Y,l,a-3,a-2,a-1);k(a[0]);k(a[1]);k(a[2])}function h(a){q.push(l.length/3);l.push(u[3*a+0]);l.push(u[3*a+1]);l.push(u[3*a+2])}function k(a){n.push(a.x);n.push(a.y)}var m=b.arrays?b.arrays:this.getArrays(),l=m.position,q=
|
|
|
-m.index,n=m.uv,u=[],m=void 0!==b.amount?b.amount:100,y=void 0!==b.bevelThickness?b.bevelThickness:6,t=void 0!==b.bevelSize?b.bevelSize:y-2,z=void 0!==b.bevelSegments?b.bevelSegments:3,x=void 0!==b.bevelEnabled?b.bevelEnabled:!0,v=void 0!==b.curveSegments?b.curveSegments:12,J=void 0!==b.steps?b.steps:1,w=b.extrudePath,B,C=!1,F=void 0!==b.UVGenerator?b.UVGenerator:cb.WorldUVGenerator,G,K,H,P;w&&(B=w.getSpacedPoints(J),C=!0,x=!1,G=void 0!==b.frames?b.frames:w.computeFrenetFrames(J,!1),K=new p,H=new p,
|
|
|
-P=new p);x||(t=y=z=0);var I,L,U,Y=this,w=a.extractPoints(v),v=w.shape,Q=w.holes;if(w=!ya.isClockWise(v)){v=v.reverse();L=0;for(U=Q.length;L<U;L++)I=Q[L],ya.isClockWise(I)&&(Q[L]=I.reverse());w=!1}var O=ya.triangulateShape(v,Q),W=v;L=0;for(U=Q.length;L<U;L++)I=Q[L],v=v.concat(I);var T,V,R,X,S,ba=v.length,ca,ga=O.length,w=[],M=0;R=W.length;T=R-1;for(V=M+1;M<R;M++,T++,V++)T===R&&(T=0),V===R&&(V=0),w[M]=d(W[M],W[T],W[V]);var ha=[],fa,ia=w.concat();L=0;for(U=Q.length;L<U;L++){I=Q[L];fa=[];M=0;R=I.length;
|
|
|
-T=R-1;for(V=M+1;M<R;M++,T++,V++)T===R&&(T=0),V===R&&(V=0),fa[M]=d(I[M],I[T],I[V]);ha.push(fa);ia=ia.concat(fa)}for(T=0;T<z;T++){R=T/z;X=y*Math.cos(R*Math.PI/2);V=t*Math.sin(R*Math.PI/2);M=0;for(R=W.length;M<R;M++)S=c(W[M],w[M],V),f(S.x,S.y,-X);L=0;for(U=Q.length;L<U;L++)for(I=Q[L],fa=ha[L],M=0,R=I.length;M<R;M++)S=c(I[M],fa[M],V),f(S.x,S.y,-X)}V=t;for(M=0;M<ba;M++)S=x?c(v[M],ia[M],V):v[M],C?(H.copy(G.normals[0]).multiplyScalar(S.x),K.copy(G.binormals[0]).multiplyScalar(S.y),P.copy(B[0]).add(H).add(K),
|
|
|
-f(P.x,P.y,P.z)):f(S.x,S.y,0);for(R=1;R<=J;R++)for(M=0;M<ba;M++)S=x?c(v[M],ia[M],V):v[M],C?(H.copy(G.normals[R]).multiplyScalar(S.x),K.copy(G.binormals[R]).multiplyScalar(S.y),P.copy(B[R]).add(H).add(K),f(P.x,P.y,P.z)):f(S.x,S.y,m/J*R);for(T=z-1;0<=T;T--){R=T/z;X=y*Math.cos(R*Math.PI/2);V=t*Math.sin(R*Math.PI/2);M=0;for(R=W.length;M<R;M++)S=c(W[M],w[M],V),f(S.x,S.y,m+X);L=0;for(U=Q.length;L<U;L++)for(I=Q[L],fa=ha[L],M=0,R=I.length;M<R;M++)S=c(I[M],fa[M],V),C?f(S.x,S.y+B[J-1].y,B[J-1].x+X):f(S.x,S.y,
|
|
|
-m+X)}(function(){var a=l.length/3;if(x){var c=0*ba;for(M=0;M<ga;M++)ca=O[M],g(ca[2]+c,ca[1]+c,ca[0]+c);c=ba*(J+2*z);for(M=0;M<ga;M++)ca=O[M],g(ca[0]+c,ca[1]+c,ca[2]+c)}else{for(M=0;M<ga;M++)ca=O[M],g(ca[2],ca[1],ca[0]);for(M=0;M<ga;M++)ca=O[M],g(ca[0]+ba*J,ca[1]+ba*J,ca[2]+ba*J)}Y.addGroup(a,l.length/3-a,void 0!==b.material?b.material:0)})();(function(){var a=l.length/3,c=0;e(W,c);c+=W.length;L=0;for(U=Q.length;L<U;L++)I=Q[L],e(I,c),c+=I.length;Y.addGroup(a,l.length/3-a,void 0!==b.extrudeMaterial?
|
|
|
+m.index,n=m.uv,u=[],m=void 0!==b.amount?b.amount:100,x=void 0!==b.bevelThickness?b.bevelThickness:6,t=void 0!==b.bevelSize?b.bevelSize:x-2,z=void 0!==b.bevelSegments?b.bevelSegments:3,y=void 0!==b.bevelEnabled?b.bevelEnabled:!0,w=void 0!==b.curveSegments?b.curveSegments:12,G=void 0!==b.steps?b.steps:1,v=b.extrudePath,B,C=!1,F=void 0!==b.UVGenerator?b.UVGenerator:cb.WorldUVGenerator,H,K,I,P;v&&(B=v.getSpacedPoints(G),C=!0,y=!1,H=void 0!==b.frames?b.frames:v.computeFrenetFrames(G,!1),K=new p,I=new p,
|
|
|
+P=new p);y||(t=x=z=0);var J,L,U,Y=this,v=a.extractPoints(w),w=v.shape,Q=v.holes;if(v=!ya.isClockWise(w)){w=w.reverse();L=0;for(U=Q.length;L<U;L++)J=Q[L],ya.isClockWise(J)&&(Q[L]=J.reverse());v=!1}var N=ya.triangulateShape(w,Q),W=w;L=0;for(U=Q.length;L<U;L++)J=Q[L],w=w.concat(J);var T,V,R,X,S,ba=w.length,ca,ga=N.length,v=[],M=0;R=W.length;T=R-1;for(V=M+1;M<R;M++,T++,V++)T===R&&(T=0),V===R&&(V=0),v[M]=d(W[M],W[T],W[V]);var ha=[],fa,ia=v.concat();L=0;for(U=Q.length;L<U;L++){J=Q[L];fa=[];M=0;R=J.length;
|
|
|
+T=R-1;for(V=M+1;M<R;M++,T++,V++)T===R&&(T=0),V===R&&(V=0),fa[M]=d(J[M],J[T],J[V]);ha.push(fa);ia=ia.concat(fa)}for(T=0;T<z;T++){R=T/z;X=x*Math.cos(R*Math.PI/2);V=t*Math.sin(R*Math.PI/2);M=0;for(R=W.length;M<R;M++)S=c(W[M],v[M],V),f(S.x,S.y,-X);L=0;for(U=Q.length;L<U;L++)for(J=Q[L],fa=ha[L],M=0,R=J.length;M<R;M++)S=c(J[M],fa[M],V),f(S.x,S.y,-X)}V=t;for(M=0;M<ba;M++)S=y?c(w[M],ia[M],V):w[M],C?(I.copy(H.normals[0]).multiplyScalar(S.x),K.copy(H.binormals[0]).multiplyScalar(S.y),P.copy(B[0]).add(I).add(K),
|
|
|
+f(P.x,P.y,P.z)):f(S.x,S.y,0);for(R=1;R<=G;R++)for(M=0;M<ba;M++)S=y?c(w[M],ia[M],V):w[M],C?(I.copy(H.normals[R]).multiplyScalar(S.x),K.copy(H.binormals[R]).multiplyScalar(S.y),P.copy(B[R]).add(I).add(K),f(P.x,P.y,P.z)):f(S.x,S.y,m/G*R);for(T=z-1;0<=T;T--){R=T/z;X=x*Math.cos(R*Math.PI/2);V=t*Math.sin(R*Math.PI/2);M=0;for(R=W.length;M<R;M++)S=c(W[M],v[M],V),f(S.x,S.y,m+X);L=0;for(U=Q.length;L<U;L++)for(J=Q[L],fa=ha[L],M=0,R=J.length;M<R;M++)S=c(J[M],fa[M],V),C?f(S.x,S.y+B[G-1].y,B[G-1].x+X):f(S.x,S.y,
|
|
|
+m+X)}(function(){var a=l.length/3;if(y){var c=0*ba;for(M=0;M<ga;M++)ca=N[M],g(ca[2]+c,ca[1]+c,ca[0]+c);c=ba*(G+2*z);for(M=0;M<ga;M++)ca=N[M],g(ca[0]+c,ca[1]+c,ca[2]+c)}else{for(M=0;M<ga;M++)ca=N[M],g(ca[2],ca[1],ca[0]);for(M=0;M<ga;M++)ca=N[M],g(ca[0]+ba*G,ca[1]+ba*G,ca[2]+ba*G)}Y.addGroup(a,l.length/3-a,void 0!==b.material?b.material:0)})();(function(){var a=l.length/3,c=0;e(W,c);c+=W.length;L=0;for(U=Q.length;L<U;L++)J=Q[L],e(J,c),c+=J.length;Y.addGroup(a,l.length/3-a,void 0!==b.extrudeMaterial?
|
|
|
b.extrudeMaterial:1)})();b.arrays||(this.setIndex(q),this.addAttribute("position",new E(l,3)),this.addAttribute("uv",new E(b.arrays.uv,2)))};cb.WorldUVGenerator={generateTopUV:function(a,b,c,d,e){a=b[3*d];d=b[3*d+1];var f=b[3*e];e=b[3*e+1];return[new D(b[3*c],b[3*c+1]),new D(a,d),new D(f,e)]},generateSideWallUV:function(a,b,c,d,e,f){a=b[3*c];var g=b[3*c+1];c=b[3*c+2];var h=b[3*d],k=b[3*d+1];d=b[3*d+2];var m=b[3*e],l=b[3*e+1];e=b[3*e+2];var q=b[3*f],n=b[3*f+1];b=b[3*f+2];return.01>Math.abs(g-k)?[new D(a,
|
|
|
-1-c),new D(h,1-d),new D(m,1-e),new D(q,1-b)]:[new D(g,1-c),new D(k,1-d),new D(l,1-e),new D(n,1-b)]}};Lc.prototype=Object.create(P.prototype);Lc.prototype.constructor=Lc;Tb.prototype=Object.create(Ea.prototype);Tb.prototype.constructor=Tb;Mc.prototype=Object.create(P.prototype);Mc.prototype.constructor=Mc;mb.prototype=Object.create(H.prototype);mb.prototype.constructor=mb;Nc.prototype=Object.create(P.prototype);Nc.prototype.constructor=Nc;Ub.prototype=Object.create(H.prototype);Ub.prototype.constructor=
|
|
|
-Ub;Oc.prototype=Object.create(P.prototype);Oc.prototype.constructor=Oc;Vb.prototype=Object.create(H.prototype);Vb.prototype.constructor=Vb;Wb.prototype=Object.create(P.prototype);Wb.prototype.constructor=Wb;Xb.prototype=Object.create(H.prototype);Xb.prototype.constructor=Xb;Yb.prototype=Object.create(H.prototype);Yb.prototype.constructor=Yb;nb.prototype=Object.create(P.prototype);nb.prototype.constructor=nb;Va.prototype=Object.create(H.prototype);Va.prototype.constructor=Va;Pc.prototype=Object.create(nb.prototype);
|
|
|
-Pc.prototype.constructor=Pc;Qc.prototype=Object.create(Va.prototype);Qc.prototype.constructor=Qc;Rc.prototype=Object.create(P.prototype);Rc.prototype.constructor=Rc;Zb.prototype=Object.create(H.prototype);Zb.prototype.constructor=Zb;var Ma=Object.freeze({WireframeGeometry:Lb,ParametricGeometry:Cc,ParametricBufferGeometry:Mb,TetrahedronGeometry:Ec,TetrahedronBufferGeometry:Nb,OctahedronGeometry:Fc,OctahedronBufferGeometry:lb,IcosahedronGeometry:Gc,IcosahedronBufferGeometry:Ob,DodecahedronGeometry:Hc,
|
|
|
+1-c),new D(h,1-d),new D(m,1-e),new D(q,1-b)]:[new D(g,1-c),new D(k,1-d),new D(l,1-e),new D(n,1-b)]}};Lc.prototype=Object.create(P.prototype);Lc.prototype.constructor=Lc;Tb.prototype=Object.create(Ea.prototype);Tb.prototype.constructor=Tb;Mc.prototype=Object.create(P.prototype);Mc.prototype.constructor=Mc;mb.prototype=Object.create(I.prototype);mb.prototype.constructor=mb;Nc.prototype=Object.create(P.prototype);Nc.prototype.constructor=Nc;Ub.prototype=Object.create(I.prototype);Ub.prototype.constructor=
|
|
|
+Ub;Oc.prototype=Object.create(P.prototype);Oc.prototype.constructor=Oc;Vb.prototype=Object.create(I.prototype);Vb.prototype.constructor=Vb;Wb.prototype=Object.create(P.prototype);Wb.prototype.constructor=Wb;Xb.prototype=Object.create(I.prototype);Xb.prototype.constructor=Xb;Yb.prototype=Object.create(I.prototype);Yb.prototype.constructor=Yb;nb.prototype=Object.create(P.prototype);nb.prototype.constructor=nb;Va.prototype=Object.create(I.prototype);Va.prototype.constructor=Va;Pc.prototype=Object.create(nb.prototype);
|
|
|
+Pc.prototype.constructor=Pc;Qc.prototype=Object.create(Va.prototype);Qc.prototype.constructor=Qc;Rc.prototype=Object.create(P.prototype);Rc.prototype.constructor=Rc;Zb.prototype=Object.create(I.prototype);Zb.prototype.constructor=Zb;var Ma=Object.freeze({WireframeGeometry:Lb,ParametricGeometry:Cc,ParametricBufferGeometry:Mb,TetrahedronGeometry:Ec,TetrahedronBufferGeometry:Nb,OctahedronGeometry:Fc,OctahedronBufferGeometry:lb,IcosahedronGeometry:Gc,IcosahedronBufferGeometry:Ob,DodecahedronGeometry:Hc,
|
|
|
DodecahedronBufferGeometry:Pb,PolyhedronGeometry:Dc,PolyhedronBufferGeometry:ma,TubeGeometry:Ic,TubeBufferGeometry:Qb,TorusKnotGeometry:Jc,TorusKnotBufferGeometry:Rb,TorusGeometry:Kc,TorusBufferGeometry:Sb,TextGeometry:Lc,TextBufferGeometry:Tb,SphereGeometry:Mc,SphereBufferGeometry:mb,RingGeometry:Nc,RingBufferGeometry:Ub,PlaneGeometry:vc,PlaneBufferGeometry:kb,LatheGeometry:Oc,LatheBufferGeometry:Vb,ShapeGeometry:Wb,ShapeBufferGeometry:Xb,ExtrudeGeometry:cb,ExtrudeBufferGeometry:Ea,EdgesGeometry:Yb,
|
|
|
ConeGeometry:Pc,ConeBufferGeometry:Qc,CylinderGeometry:nb,CylinderBufferGeometry:Va,CircleGeometry:Rc,CircleBufferGeometry:Zb,BoxGeometry:Fb,BoxBufferGeometry:jb});$b.prototype=Object.create(Da.prototype);$b.prototype.constructor=$b;$b.prototype.isShadowMaterial=!0;ac.prototype=Object.create(Da.prototype);ac.prototype.constructor=ac;ac.prototype.isRawShaderMaterial=!0;Qa.prototype=Object.create(U.prototype);Qa.prototype.constructor=Qa;Qa.prototype.isMeshStandardMaterial=!0;Qa.prototype.copy=function(a){U.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;
|
|
@@ -650,7 +650,7 @@ b.toJSON(a);else{var b={name:a.name,times:ta.convertArray(a.times,Array),values:
|
|
|
case "string":return Ad}throw Error("Unsupported typeName: "+a);}});Object.assign(Aa,{parse:function(a){for(var b=[],c=a.tracks,d=1/(a.fps||1),e=0,f=c.length;e!==f;++e)b.push(vb.parse(c[e]).scale(d));return new Aa(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(vb.toJSON(c[d]));return a},CreateFromMorphTargetSequence:function(a,b,c,d){for(var e=b.length,f=[],g=0;g<e;g++){var h=[],k=[];h.push((g+e-1)%
|
|
|
e,g,(g+1)%e);k.push(0,1,0);var m=ta.getKeyframeOrder(h),h=ta.sortedArray(h,1,m),k=ta.sortedArray(k,1,m);d||0!==h[0]||(h.push(e),k.push(k[0]));f.push((new cc(".morphTargetInfluences["+b[g].name+"]",h,k)).scale(1/c))}return new Aa(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 h=a[f],k=h.name.match(e);if(k&&1<k.length){var m=k[1];(k=d[m])||(d[m]=k=[]);k.push(h)}}a=[];for(m in d)a.push(Aa.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=[];ta.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,h=a.hierarchy||[],k=0;k<h.length;k++){var m=
|
|
|
-h[k].keys;if(m&&0!==m.length)if(m[0].morphTargets){for(var f={},l=0;l<m.length;l++)if(m[l].morphTargets)for(var q=0;q<m[l].morphTargets.length;q++)f[m[l].morphTargets[q]]=-1;for(var n in f){for(var p=[],y=[],q=0;q!==m[l].morphTargets.length;++q){var t=m[l];p.push(t.time);y.push(t.morphTarget===n?1:0)}d.push(new cc(".morphTargetInfluence["+n+"]",p,y))}f=f.length*(g||1)}else l=".bones["+b[k].name+"]",c(bc,l+".position",m,"pos",d),c(Uc,l+".quaternion",m,"rot",d),c(bc,l+".scale",m,"scl",d)}return 0===
|
|
|
+h[k].keys;if(m&&0!==m.length)if(m[0].morphTargets){for(var f={},l=0;l<m.length;l++)if(m[l].morphTargets)for(var q=0;q<m[l].morphTargets.length;q++)f[m[l].morphTargets[q]]=-1;for(var n in f){for(var p=[],x=[],q=0;q!==m[l].morphTargets.length;++q){var t=m[l];p.push(t.time);x.push(t.morphTarget===n?1:0)}d.push(new cc(".morphTargetInfluence["+n+"]",p,x))}f=f.length*(g||1)}else l=".bones["+b[k].name+"]",c(bc,l+".position",m,"pos",d),c(Uc,l+".quaternion",m,"rot",d),c(bc,l+".scale",m,"scl",d)}return 0===
|
|
|
d.length?null:new Aa(e,f,d)}});Object.assign(Aa.prototype,{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(Dd.prototype,{load:function(a,b,c,d){var e=this;(new sa(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 gg[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.clearCoat&&(d.clearCoat=a.clearCoat);void 0!==a.clearCoatRoughness&&(d.clearCoatRoughness=a.clearCoatRoughness);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);
|
|
@@ -658,7 +658,7 @@ void 0!==a.side&&(d.side=a.side);void 0!==a.opacity&&(d.opacity=a.opacity);void
|
|
|
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));void 0!==a.bumpScale&&(d.bumpScale=a.bumpScale);void 0!==a.normalMap&&(d.normalMap=b(a.normalMap));
|
|
|
if(void 0!==a.normalScale){var e=a.normalScale;!1===Array.isArray(e)&&(e=[e,e]);d.normalScale=(new D).fromArray(e)}void 0!==a.displacementMap&&(d.displacementMap=b(a.displacementMap));void 0!==a.displacementScale&&(d.displacementScale=a.displacementScale);void 0!==a.displacementBias&&(d.displacementBias=a.displacementBias);void 0!==a.roughnessMap&&(d.roughnessMap=b(a.roughnessMap));void 0!==a.metalnessMap&&(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);void 0!==a.gradientMap&&(d.gradientMap=b(a.gradientMap));
|
|
|
-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(ae.prototype,{load:function(a,b,c,d){var e=this;(new sa(e.manager)).load(a,function(a){b(e.parse(JSON.parse(a)))},c,d)},parse:function(a){var b=new H,c=a.data.index,d={Int8Array:Int8Array,Uint8Array:Uint8Array,Uint8ClampedArray:Uint8ClampedArray,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};
|
|
|
+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(ae.prototype,{load:function(a,b,c,d){var e=this;(new sa(e.manager)).load(a,function(a){b(e.parse(JSON.parse(a)))},c,d)},parse:function(a){var b=new I,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 Y(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 Y(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 p,void 0!==a.center&&d.fromArray(a.center),b.boundingSphere=new Ba(d,a.radius));return b}});dc.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(dc.prototype,{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={NoBlending:0,NormalBlending:1,AdditiveBlending:2,SubtractiveBlending:3,
|
|
|
MultiplyBlending:4,CustomBlending:5},b=new K,c=new od,d=new Dd;return function(e,f,g){function h(a,b,d,e,h){a=f+a;var m=dc.Handlers.get(a);null!==m?a=m.load(a):(c.setCrossOrigin(g),a=c.load(a));void 0!==b&&(a.repeat.fromArray(b),1!==b[0]&&(a.wrapS=1E3),1!==b[1]&&(a.wrapT=1E3));void 0!==d&&a.offset.fromArray(d);void 0!==e&&("repeat"===e[0]&&(a.wrapS=1E3),"mirror"===e[0]&&(a.wrapS=1002),"repeat"===e[1]&&(a.wrapT=1E3),"mirror"===e[1]&&(a.wrapT=1002));void 0!==h&&(a.anisotropy=h);b=X.generateUUID();k[b]=
|
|
@@ -670,13 +670,13 @@ h(q,e.mapSpecularRepeat,e.mapSpecularOffset,e.mapSpecularWrap,e.mapSpecularAniso
|
|
|
e.mapRoughnessOffset,e.mapRoughnessWrap,e.mapRoughnessAnisotropy);break;case "mapRoughnessRepeat":case "mapRoughnessOffset":case "mapRoughnessWrap":case "mapRoughnessAnisotropy":break;case "mapAlpha":m.alphaMap=h(q,e.mapAlphaRepeat,e.mapAlphaOffset,e.mapAlphaWrap,e.mapAlphaAnisotropy);break;case "mapAlphaRepeat":case "mapAlphaOffset":case "mapAlphaWrap":case "mapAlphaAnisotropy":break;case "flipSided":m.side=1;break;case "doubleSided":m.side=2;break;case "transparency":console.warn("THREE.Loader.createMaterial: transparency has been renamed to opacity");
|
|
|
m.opacity=q;break;case "depthTest":case "depthWrite":case "colorWrite":case "opacity":case "reflectivity":case "transparent":case "visible":case "wireframe":m[l]=q;break;case "vertexColors":!0===q&&(m.vertexColors=2);"face"===q&&(m.vertexColors=1);break;default:console.error("THREE.Loader.createMaterial: Unsupported",l,q)}}"MeshBasicMaterial"===m.type&&delete m.emissive;"MeshPhongMaterial"!==m.type&&delete m.specular;1>m.opacity&&(m.transparent=!0);d.setTextures(k);return d.parse(m)}}()});Object.assign(be.prototype,
|
|
|
{load:function(a,b,c,d){var e=this,f=this.texturePath&&"string"===typeof this.texturePath?this.texturePath:dc.prototype.extractUrlBase(a),g=new sa(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(){return function(a,b){void 0!==a.data&&(a=a.data);a.scale=void 0!==a.scale?1/a.scale:1;var c=new P,d=a,e,f,g,h,k,m,l,q,n,u,y,t,z,x,v=d.faces;n=d.vertices;var B=d.normals,w=d.colors;m=d.scale;var E=0;if(void 0!==d.uvs){for(e=0;e<d.uvs.length;e++)d.uvs[e].length&&E++;for(e=0;e<E;e++)c.faceVertexUvs[e]=[]}h=0;for(k=n.length;h<k;)e=new p,e.x=n[h++]*m,e.y=n[h++]*m,e.z=n[h++]*m,c.vertices.push(e);
|
|
|
-h=0;for(k=v.length;h<k;)if(n=v[h++],u=n&1,g=n&2,e=n&8,l=n&16,y=n&32,m=n&64,n&=128,u){u=new Ua;u.a=v[h];u.b=v[h+1];u.c=v[h+3];t=new Ua;t.a=v[h+1];t.b=v[h+2];t.c=v[h+3];h+=4;g&&(g=v[h++],u.materialIndex=g,t.materialIndex=g);g=c.faces.length;if(e)for(e=0;e<E;e++)for(z=d.uvs[e],c.faceVertexUvs[e][g]=[],c.faceVertexUvs[e][g+1]=[],f=0;4>f;f++)q=v[h++],x=z[2*q],q=z[2*q+1],x=new D(x,q),2!==f&&c.faceVertexUvs[e][g].push(x),0!==f&&c.faceVertexUvs[e][g+1].push(x);l&&(l=3*v[h++],u.normal.set(B[l++],B[l++],B[l]),
|
|
|
-t.normal.copy(u.normal));if(y)for(e=0;4>e;e++)l=3*v[h++],y=new p(B[l++],B[l++],B[l]),2!==e&&u.vertexNormals.push(y),0!==e&&t.vertexNormals.push(y);m&&(m=v[h++],m=w[m],u.color.setHex(m),t.color.setHex(m));if(n)for(e=0;4>e;e++)m=v[h++],m=w[m],2!==e&&u.vertexColors.push(new K(m)),0!==e&&t.vertexColors.push(new K(m));c.faces.push(u);c.faces.push(t)}else{u=new Ua;u.a=v[h++];u.b=v[h++];u.c=v[h++];g&&(g=v[h++],u.materialIndex=g);g=c.faces.length;if(e)for(e=0;e<E;e++)for(z=d.uvs[e],c.faceVertexUvs[e][g]=
|
|
|
-[],f=0;3>f;f++)q=v[h++],x=z[2*q],q=z[2*q+1],x=new D(x,q),c.faceVertexUvs[e][g].push(x);l&&(l=3*v[h++],u.normal.set(B[l++],B[l++],B[l]));if(y)for(e=0;3>e;e++)l=3*v[h++],y=new p(B[l++],B[l++],B[l]),u.vertexNormals.push(y);m&&(m=v[h++],u.color.setHex(w[m]));if(n)for(e=0;3>e;e++)m=v[h++],u.vertexColors.push(new K(w[m]));c.faces.push(u)}d=a;h=void 0!==d.influencesPerVertex?d.influencesPerVertex:2;if(d.skinWeights)for(k=0,v=d.skinWeights.length;k<v;k+=h)c.skinWeights.push(new ga(d.skinWeights[k],1<h?d.skinWeights[k+
|
|
|
-1]:0,2<h?d.skinWeights[k+2]:0,3<h?d.skinWeights[k+3]:0));if(d.skinIndices)for(k=0,v=d.skinIndices.length;k<v;k+=h)c.skinIndices.push(new ga(d.skinIndices[k],1<h?d.skinIndices[k+1]:0,2<h?d.skinIndices[k+2]:0,3<h?d.skinIndices[k+3]:0));c.bones=d.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.");k=a;v=k.scale;if(void 0!==k.morphTargets)for(d=0,h=k.morphTargets.length;d<h;d++)for(c.morphTargets[d]={},c.morphTargets[d].name=k.morphTargets[d].name,c.morphTargets[d].vertices=[],B=c.morphTargets[d].vertices,w=k.morphTargets[d].vertices,E=0,n=w.length;E<n;E+=3)m=new p,m.x=w[E]*v,m.y=w[E+1]*v,m.z=w[E+2]*v,B.push(m);if(void 0!==k.morphColors&&0<k.morphColors.length)for(console.warn('THREE.JSONLoader: "morphColors" no longer supported. Using them as face colors.'),v=c.faces,k=k.morphColors[0].colors,
|
|
|
-d=0,h=v.length;d<h;d++)v[d].color.fromArray(k,3*d);k=a;d=[];h=[];void 0!==k.animation&&h.push(k.animation);void 0!==k.animations&&(k.animations.length?h=h.concat(k.animations):h.push(k.animations));for(k=0;k<h.length;k++)(v=Aa.parseAnimation(h[k],c.bones))&&d.push(v);c.morphTargets&&(h=Aa.CreateClipsFromMorphTargetSequences(c.morphTargets,10),d=d.concat(h));0<d.length&&(c.animations=d);c.computeFaceNormals();c.computeBoundingSphere();if(void 0===a.materials||0===a.materials.length)return{geometry:c};
|
|
|
+return}}c=e.parse(c,f);b(c.geometry,c.materials)},c,d)},setTexturePath:function(a){this.texturePath=a},parse:function(){return function(a,b){void 0!==a.data&&(a=a.data);a.scale=void 0!==a.scale?1/a.scale:1;var c=new P,d=a,e,f,g,h,k,m,l,q,n,u,x,t,z,y,w=d.faces;n=d.vertices;var B=d.normals,v=d.colors;m=d.scale;var E=0;if(void 0!==d.uvs){for(e=0;e<d.uvs.length;e++)d.uvs[e].length&&E++;for(e=0;e<E;e++)c.faceVertexUvs[e]=[]}h=0;for(k=n.length;h<k;)e=new p,e.x=n[h++]*m,e.y=n[h++]*m,e.z=n[h++]*m,c.vertices.push(e);
|
|
|
+h=0;for(k=w.length;h<k;)if(n=w[h++],u=n&1,g=n&2,e=n&8,l=n&16,x=n&32,m=n&64,n&=128,u){u=new Ua;u.a=w[h];u.b=w[h+1];u.c=w[h+3];t=new Ua;t.a=w[h+1];t.b=w[h+2];t.c=w[h+3];h+=4;g&&(g=w[h++],u.materialIndex=g,t.materialIndex=g);g=c.faces.length;if(e)for(e=0;e<E;e++)for(z=d.uvs[e],c.faceVertexUvs[e][g]=[],c.faceVertexUvs[e][g+1]=[],f=0;4>f;f++)q=w[h++],y=z[2*q],q=z[2*q+1],y=new D(y,q),2!==f&&c.faceVertexUvs[e][g].push(y),0!==f&&c.faceVertexUvs[e][g+1].push(y);l&&(l=3*w[h++],u.normal.set(B[l++],B[l++],B[l]),
|
|
|
+t.normal.copy(u.normal));if(x)for(e=0;4>e;e++)l=3*w[h++],x=new p(B[l++],B[l++],B[l]),2!==e&&u.vertexNormals.push(x),0!==e&&t.vertexNormals.push(x);m&&(m=w[h++],m=v[m],u.color.setHex(m),t.color.setHex(m));if(n)for(e=0;4>e;e++)m=w[h++],m=v[m],2!==e&&u.vertexColors.push(new K(m)),0!==e&&t.vertexColors.push(new K(m));c.faces.push(u);c.faces.push(t)}else{u=new Ua;u.a=w[h++];u.b=w[h++];u.c=w[h++];g&&(g=w[h++],u.materialIndex=g);g=c.faces.length;if(e)for(e=0;e<E;e++)for(z=d.uvs[e],c.faceVertexUvs[e][g]=
|
|
|
+[],f=0;3>f;f++)q=w[h++],y=z[2*q],q=z[2*q+1],y=new D(y,q),c.faceVertexUvs[e][g].push(y);l&&(l=3*w[h++],u.normal.set(B[l++],B[l++],B[l]));if(x)for(e=0;3>e;e++)l=3*w[h++],x=new p(B[l++],B[l++],B[l]),u.vertexNormals.push(x);m&&(m=w[h++],u.color.setHex(v[m]));if(n)for(e=0;3>e;e++)m=w[h++],u.vertexColors.push(new K(v[m]));c.faces.push(u)}d=a;h=void 0!==d.influencesPerVertex?d.influencesPerVertex:2;if(d.skinWeights)for(k=0,w=d.skinWeights.length;k<w;k+=h)c.skinWeights.push(new ga(d.skinWeights[k],1<h?d.skinWeights[k+
|
|
|
+1]:0,2<h?d.skinWeights[k+2]:0,3<h?d.skinWeights[k+3]:0));if(d.skinIndices)for(k=0,w=d.skinIndices.length;k<w;k+=h)c.skinIndices.push(new ga(d.skinIndices[k],1<h?d.skinIndices[k+1]:0,2<h?d.skinIndices[k+2]:0,3<h?d.skinIndices[k+3]:0));c.bones=d.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.");k=a;w=k.scale;if(void 0!==k.morphTargets)for(d=0,h=k.morphTargets.length;d<h;d++)for(c.morphTargets[d]={},c.morphTargets[d].name=k.morphTargets[d].name,c.morphTargets[d].vertices=[],B=c.morphTargets[d].vertices,v=k.morphTargets[d].vertices,E=0,n=v.length;E<n;E+=3)m=new p,m.x=v[E]*w,m.y=v[E+1]*w,m.z=v[E+2]*w,B.push(m);if(void 0!==k.morphColors&&0<k.morphColors.length)for(console.warn('THREE.JSONLoader: "morphColors" no longer supported. Using them as face colors.'),w=c.faces,k=k.morphColors[0].colors,
|
|
|
+d=0,h=w.length;d<h;d++)w[d].color.fromArray(k,3*d);k=a;d=[];h=[];void 0!==k.animation&&h.push(k.animation);void 0!==k.animations&&(k.animations.length?h=h.concat(k.animations):h.push(k.animations));for(k=0;k<h.length;k++)(w=Aa.parseAnimation(h[k],c.bones))&&d.push(w);c.morphTargets&&(h=Aa.CreateClipsFromMorphTargetSequences(c.morphTargets,10),d=d.concat(h));0<d.length&&(c.animations=d);c.computeFaceNormals();c.computeBoundingSphere();if(void 0===a.materials||0===a.materials.length)return{geometry:c};
|
|
|
d=dc.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 sa(e.manager)).load(a,function(c){var g=null;try{g=JSON.parse(c)}catch(h){void 0!==d&&d(h);console.error("THREE:ObjectLoader: Can't parse "+a+".",h.message);return}c=g.metadata;void 0===c||void 0===c.type||"geometry"===c.type.toLowerCase()?console.error("THREE.ObjectLoader: Can't load "+
|
|
|
a+". Use THREE.JSONLoader instead."):e.parse(g,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 be,d=new ae,e=0,f=a.length;e<f;e++){var g,h=a[e];switch(h.type){case "PlaneGeometry":case "PlaneBufferGeometry":g=new Ma[h.type](h.width,h.height,h.widthSegments,h.heightSegments);break;case "BoxGeometry":case "BoxBufferGeometry":case "CubeGeometry":g=new Ma[h.type](h.width,h.height,h.depth,h.widthSegments,h.heightSegments,h.depthSegments);break;case "CircleGeometry":case "CircleBufferGeometry":g=new Ma[h.type](h.radius,h.segments,h.thetaStart,
|
|
@@ -709,13 +709,13 @@ c;b++)this.lineTo(a[b].x,a[b].y)},moveTo:function(a,b){this.currentPoint.set(a,b
|
|
|
this.lineTo(b.x,b.y));this.curves.push(a);a=a.getPoint(1);this.currentPoint.copy(a)}});Wc.prototype=te;te.constructor=Wc;zb.prototype=Object.assign(Object.create(te),{constructor:zb,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)}});Object.assign(ce.prototype,{moveTo:function(a,b){this.currentPath=
|
|
|
new Wc;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 zb;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],h=b[f],k=h.x-g.x,m=h.y-g.y;if(Math.abs(m)>Number.EPSILON){if(0>m&&(g=b[f],k=-k,h=b[e],m=-m),!(a.y<g.y||a.y>h.y))if(a.y===g.y){if(a.x===g.x)return!0}else{e=m*(a.x-g.x)-k*(a.y-g.y);if(0===e)return!0;0>e||(d=!d)}}else if(a.y===g.y&&(h.x<=a.x&&a.x<=g.x||g.x<=a.x&&a.x<=h.x))return!0}return d}var e=ya.isClockWise,f=this.subPaths;if(0===f.length)return[];if(!0===b)return c(f);var g,h,k,m=[];if(1===f.length)return h=f[0],k=new zb,k.curves=h.curves,m.push(k),m;var l=!e(f[0].getPoints()),
|
|
|
-l=a?!l:l;k=[];var q=[],n=[],p=0,y;q[p]=void 0;n[p]=[];for(var t=0,z=f.length;t<z;t++)h=f[t],y=h.getPoints(),g=e(y),(g=a?!g:g)?(!l&&q[p]&&p++,q[p]={s:new zb,p:y},q[p].s.curves=h.curves,l&&p++,n[p]=[]):n[p].push({h:h,p:y[0]});if(!q[0])return c(f);if(1<q.length){t=!1;h=[];e=0;for(f=q.length;e<f;e++)k[e]=[];e=0;for(f=q.length;e<f;e++)for(g=n[e],l=0;l<g.length;l++){p=g[l];y=!0;for(z=0;z<q.length;z++)d(p.p,q[z].p)&&(e!==z&&h.push({froms:e,tos:z,hole:l}),y?(y=!1,k[z].push(p)):t=!0);y&&k[e].push(p)}0<h.length&&
|
|
|
+l=a?!l:l;k=[];var q=[],n=[],p=0,x;q[p]=void 0;n[p]=[];for(var t=0,z=f.length;t<z;t++)h=f[t],x=h.getPoints(),g=e(x),(g=a?!g:g)?(!l&&q[p]&&p++,q[p]={s:new zb,p:x},q[p].s.curves=h.curves,l&&p++,n[p]=[]):n[p].push({h:h,p:x[0]});if(!q[0])return c(f);if(1<q.length){t=!1;h=[];e=0;for(f=q.length;e<f;e++)k[e]=[];e=0;for(f=q.length;e<f;e++)for(g=n[e],l=0;l<g.length;l++){p=g[l];x=!0;for(z=0;z<q.length;z++)d(p.p,q[z].p)&&(e!==z&&h.push({froms:e,tos:z,hole:l}),x?(x=!1,k[z].push(p)):t=!0);x&&k[e].push(p)}0<h.length&&
|
|
|
(t||(n=k))}t=0;for(e=q.length;t<e;t++)for(k=q[t].s,m.push(k),h=n[t],f=0,g=h.length;f<g;f++)k.holes.push(h[f].h);return m}});Object.assign(de.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=(d.boundingBox.yMax-d.boundingBox.yMin+d.underlineThickness)*e,g=0,h=0;b=[];for(var k=0;k<a.length;k++){var m=a[k];if("\n"===m)g=0,h-=f;else{var l;l=e;var q=g,n=h;if(m=d.glyphs[m]||d.glyphs["?"]){var p=new ce,
|
|
|
-y=[],t,z,x,v,B,w,E,C;if(m.o)for(var F=m._cachedOutline||(m._cachedOutline=m.o.split(" ")),D=0,K=F.length;D<K;)switch(F[D++]){case "m":t=F[D++]*l+q;z=F[D++]*l+n;p.moveTo(t,z);break;case "l":t=F[D++]*l+q;z=F[D++]*l+n;p.lineTo(t,z);break;case "q":t=F[D++]*l+q;z=F[D++]*l+n;B=F[D++]*l+q;w=F[D++]*l+n;p.quadraticCurveTo(B,w,t,z);if(v=y[y.length-1]){x=v.x;v=v.y;for(var H=1;H<=c;H++){var L=H/c;wb(L,x,B,t);wb(L,v,w,z)}}break;case "b":if(t=F[D++]*l+q,z=F[D++]*l+n,B=F[D++]*l+q,w=F[D++]*l+n,E=F[D++]*l+q,C=F[D++]*
|
|
|
-l+n,p.bezierCurveTo(B,w,E,C,t,z),v=y[y.length-1])for(x=v.x,v=v.y,H=1;H<=c;H++)L=H/c,xb(L,x,B,E,t),xb(L,v,w,C,z)}l={offsetX:m.ha*l,path:p}}else l=void 0;g+=l.offsetX;b.push(l.path)}}c=[];d=0;for(a=b.length;d<a;d++)Array.prototype.push.apply(c,b[d].toShapes());return c}});Object.assign(Re.prototype,{load:function(a,b,c,d){var e=this;(new sa(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."),
|
|
|
+x=[],t,z,y,w,B,v,E,C;if(m.o)for(var F=m._cachedOutline||(m._cachedOutline=m.o.split(" ")),D=0,K=F.length;D<K;)switch(F[D++]){case "m":t=F[D++]*l+q;z=F[D++]*l+n;p.moveTo(t,z);break;case "l":t=F[D++]*l+q;z=F[D++]*l+n;p.lineTo(t,z);break;case "q":t=F[D++]*l+q;z=F[D++]*l+n;B=F[D++]*l+q;v=F[D++]*l+n;p.quadraticCurveTo(B,v,t,z);if(w=x[x.length-1]){y=w.x;w=w.y;for(var I=1;I<=c;I++){var L=I/c;wb(L,y,B,t);wb(L,w,v,z)}}break;case "b":if(t=F[D++]*l+q,z=F[D++]*l+n,B=F[D++]*l+q,v=F[D++]*l+n,E=F[D++]*l+q,C=F[D++]*
|
|
|
+l+n,p.bezierCurveTo(B,v,E,C,t,z),w=x[x.length-1])for(y=w.x,w=w.y,I=1;I<=c;I++)L=I/c,xb(L,y,B,E,t),xb(L,w,v,C,z)}l={offsetX:m.ha*l,path:p}}else l=void 0;g+=l.offsetX;b.push(l.path)}}c=[];d=0;for(a=b.length;d<a;d++)Array.prototype.push.apply(c,b[d].toShapes());return c}});Object.assign(Re.prototype,{load:function(a,b,c,d){var e=this;(new sa(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 de(a)}});var Kd,he={getContext:function(){void 0===Kd&&(Kd=new (window.AudioContext||window.webkitAudioContext));return Kd},setContext:function(a){Kd=a}};Object.assign(ee.prototype,{load:function(a,b,c,d){var e=new sa(this.manager);e.setResponseType("arraybuffer");e.load(a,function(a){he.getContext().decodeAudioData(a,function(a){b(a)})},c,d)}});Object.assign(Se.prototype,{update:function(){var a,b,c,
|
|
|
-d,e,f,g,h,k=new L,m=new L;return function(l){if(a!==this||b!==l.focus||c!==l.fov||d!==l.aspect*this.aspect||e!==l.near||f!==l.far||g!==l.zoom||h!==this.eyeSep){a=this;b=l.focus;c=l.fov;d=l.aspect*this.aspect;e=l.near;f=l.far;g=l.zoom;var q=l.projectionMatrix.clone();h=this.eyeSep/2;var n=h*e/b,p=e*Math.tan(X.DEG2RAD*c*.5)/g,y,t;m.elements[12]=-h;k.elements[12]=h;y=-p*d+n;t=p*d+n;q.elements[0]=2*e/(t-y);q.elements[8]=(t+y)/(t-y);this.cameraL.projectionMatrix.copy(q);y=-p*d-n;t=p*d-n;q.elements[0]=
|
|
|
-2*e/(t-y);q.elements[8]=(t+y)/(t-y);this.cameraR.projectionMatrix.copy(q)}this.cameraL.matrixWorld.copy(l.matrixWorld).multiply(m);this.cameraR.matrixWorld.copy(l.matrixWorld).multiply(k)}}()});Ed.prototype=Object.create(B.prototype);Ed.prototype.constructor=Ed;fe.prototype=Object.assign(Object.create(xa.prototype),{constructor:fe,isArrayCamera:!0});ge.prototype=Object.assign(Object.create(B.prototype),{constructor:ge,getInput:function(){return this.gain},removeFilter:function(){null!==this.filter&&
|
|
|
+d,e,f,g,h,k=new L,m=new L;return function(l){if(a!==this||b!==l.focus||c!==l.fov||d!==l.aspect*this.aspect||e!==l.near||f!==l.far||g!==l.zoom||h!==this.eyeSep){a=this;b=l.focus;c=l.fov;d=l.aspect*this.aspect;e=l.near;f=l.far;g=l.zoom;var q=l.projectionMatrix.clone();h=this.eyeSep/2;var n=h*e/b,p=e*Math.tan(X.DEG2RAD*c*.5)/g,x,t;m.elements[12]=-h;k.elements[12]=h;x=-p*d+n;t=p*d+n;q.elements[0]=2*e/(t-x);q.elements[8]=(t+x)/(t-x);this.cameraL.projectionMatrix.copy(q);x=-p*d-n;t=p*d-n;q.elements[0]=
|
|
|
+2*e/(t-x);q.elements[8]=(t+x)/(t-x);this.cameraR.projectionMatrix.copy(q)}this.cameraL.matrixWorld.copy(l.matrixWorld).multiply(m);this.cameraR.matrixWorld.copy(l.matrixWorld).multiply(k)}}()});Ed.prototype=Object.create(B.prototype);Ed.prototype.constructor=Ed;fe.prototype=Object.assign(Object.create(xa.prototype),{constructor:fe,isArrayCamera:!0});ge.prototype=Object.assign(Object.create(B.prototype),{constructor:ge,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 p,b=new oa,c=new p,d=new p;return function(e){B.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.positionX?(e.positionX.setValueAtTime(a.x,this.context.currentTime),e.positionY.setValueAtTime(a.y,this.context.currentTime),e.positionZ.setValueAtTime(a.z,this.context.currentTime),e.forwardX.setValueAtTime(d.x,this.context.currentTime),
|
|
|
e.forwardY.setValueAtTime(d.y,this.context.currentTime),e.forwardZ.setValueAtTime(d.z,this.context.currentTime),e.upX.setValueAtTime(f.x,this.context.currentTime),e.upY.setValueAtTime(f.y,this.context.currentTime),e.upZ.setValueAtTime(f.z,this.context.currentTime)):(e.setPosition(a.x,a.y,a.z),e.setOrientation(d.x,d.y,d.z,f.x,f.y,f.z))}}()});gc.prototype=Object.assign(Object.create(B.prototype),{constructor:gc,getOutput:function(){return this.gain},setNodeSource:function(a){this.hasPlaybackControl=
|
|
@@ -740,10 +740,10 @@ for(c=0;c<a.length;c++)if(a[c].name===f){f=c;break}break;default:if(void 0===a[c
|
|
|
this.targetObject=a):void 0!==a.matrixWorldNeedsUpdate&&(b=this.Versioning.MatrixWorldNeedsUpdate,this.targetObject=a);c=this.BindingType.Direct;if(void 0!==e){if("morphTargetInfluences"===d){if(!a.geometry){console.error(" can not bind to morphTargetInfluences becasuse node does not have a geometry",this);return}if(!a.geometry.morphTargets){console.error(" can not bind to morphTargetInfluences becasuse node does not have a geometry.morphTargets",this);return}for(c=0;c<this.node.geometry.morphTargets.length;c++)if(a.geometry.morphTargets[c].name===
|
|
|
e){e=c;break}}c=this.BindingType.ArrayElement;this.resolvedProperty=f;this.propertyIndex=e}else void 0!==f.fromArray&&void 0!==f.toArray?(c=this.BindingType.HasFromToArray,this.resolvedProperty=f):Array.isArray(f)?(c=this.BindingType.EntireArray,this.resolvedProperty=f):this.propertyName=d;this.getValue=this.GetterByBindingType[c];this.setValue=this.SetterByBindingTypeAndVersioning[c][b]}}else console.error(" trying to update node for track: "+this.path+" but it wasn't found.")},unbind:function(){this.node=
|
|
|
null;this.getValue=this._getValue_unbound;this.setValue=this._setValue_unbound}});Object.assign(ia.prototype,{_getValue_unbound:ia.prototype.getValue,_setValue_unbound:ia.prototype.setValue});Object.assign(Ue.prototype,{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,h=this._bindings,k=h.length,m=0,l=arguments.length;m!==l;++m){var q=arguments[m],n=q.uuid,p=e[n];if(void 0===p){p=c++;e[n]=p;
|
|
|
-b.push(q);for(var n=0,y=k;n!==y;++n)h[n].push(new ia(q,f[n],g[n]))}else if(p<d){var t=--d,y=b[t];e[y.uuid]=p;b[p]=y;e[n]=t;b[t]=q;n=0;for(y=k;n!==y;++n){var z=h[n],x=z[p];z[p]=z[t];void 0===x&&(x=new ia(q,f[n],g[n]));z[t]=x}}else void 0!==b[p]&&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,h=arguments.length;g!==h;++g){var k=arguments[g],m=k.uuid,l=d[m];if(void 0!==l&&l>=c){var p=c++,n=b[p];d[n.uuid]=l;b[l]=n;d[m]=p;b[p]=k;k=0;for(m=f;k!==m;++k){var n=e[k],u=n[l];n[l]=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,h=0,k=arguments.length;h!==k;++h){var m=arguments[h].uuid,l=e[m];if(void 0!==l)if(delete e[m],l<d){var m=--d,p=b[m],n=--c,u=b[n];e[p.uuid]=
|
|
|
-l;b[l]=p;e[u.uuid]=m;b[m]=u;b.pop();p=0;for(u=g;p!==u;++p){var y=f[p],t=y[n];y[l]=y[m];y[m]=t;y.pop()}}else for(n=--c,u=b[n],e[u.uuid]=l,b[l]=u,b.pop(),p=0,u=g;p!==u;++p)y=f[p],y[l]=y[n],y.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,h=this._objects,k=this.nCachedObjects_,l=Array(h.length),d=e.length;c[a]=d;f.push(a);g.push(b);e.push(l);c=k;for(d=h.length;c!==d;++c)l[c]=
|
|
|
-new ia(h[c],a,b);return l},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,h=f[g];b[a[g]]=c;f[c]=h;f.pop();e[c]=e[g];e.pop();d[c]=d[g];d.pop()}}});Object.assign(Ve.prototype,{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=
|
|
|
+b.push(q);for(var n=0,x=k;n!==x;++n)h[n].push(new ia(q,f[n],g[n]))}else if(p<d){var t=--d,x=b[t];e[x.uuid]=p;b[p]=x;e[n]=t;b[t]=q;n=0;for(x=k;n!==x;++n){var z=h[n],y=z[p];z[p]=z[t];void 0===y&&(y=new ia(q,f[n],g[n]));z[t]=y}}else void 0!==b[p]&&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,h=arguments.length;g!==h;++g){var k=arguments[g],m=k.uuid,l=d[m];if(void 0!==l&&l>=c){var q=c++,n=b[q];d[n.uuid]=l;b[l]=n;d[m]=q;b[q]=k;k=0;for(m=f;k!==m;++k){var n=e[k],p=n[l];n[l]=n[q];n[q]=p}}}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,h=0,k=arguments.length;h!==k;++h){var m=arguments[h].uuid,l=e[m];if(void 0!==l)if(delete e[m],l<d){var m=--d,p=b[m],n=--c,u=b[n];e[p.uuid]=
|
|
|
+l;b[l]=p;e[u.uuid]=m;b[m]=u;b.pop();p=0;for(u=g;p!==u;++p){var x=f[p],t=x[n];x[l]=x[m];x[m]=t;x.pop()}}else for(n=--c,u=b[n],e[u.uuid]=l,b[l]=u,b.pop(),p=0,u=g;p!==u;++p)x=f[p],x[l]=x[n],x.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,h=this._objects,k=this.nCachedObjects_,m=Array(h.length),d=e.length;c[a]=d;f.push(a);g.push(b);e.push(m);c=k;for(d=h.length;c!==d;++c)m[c]=
|
|
|
+new ia(h[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,h=f[g];b[a[g]]=c;f[c]=h;f.pop();e[c]=e[g];e.pop();d[c]=d[g];d.pop()}}});Object.assign(Ve.prototype,{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,b,c){var d=this._mixer,e=d.time,f=this._timeScaleInterpolant,g=this.timeScale;null===f&&(this._timeScaleInterpolant=
|
|
@@ -752,8 +752,8 @@ this._startTime=null;b*=c}b*=this._updateTimeScale(a);c=this._updateTime(b);a=th
|
|
|
0;if(!this.paused){var b=this.timeScale,c=this._timeScaleInterpolant;if(null!==c){var d=c.evaluate(a)[0],b=b*d;a>c.parameterPositions[1]&&(this.stopWarping(),0===b?this.paused=!0:this.timeScale=b)}}return this._effectiveTimeScale=b},_updateTime:function(a){var b=this.time+a;if(0===a)return b;var c=this._clip.duration,d=this.loop,e=this._loopCount;if(2200===d)a:{if(-1===e&&(this._loopCount=0,this._setEndings(!0,!0,!1)),b>=c)b=c;else if(0>b)b=0;else break a;this.clampWhenFinished?this.paused=!0:this.enabled=
|
|
|
!1;this._mixer.dispatchEvent({type:"finished",action:this,direction:0>a?-1:1})}else{d=2202===d;-1===e&&(0<=a?(e=0,this._setEndings(!0,0===this.repetitions,d)):this._setEndings(0===this.repetitions,!0,d));if(b>=c||0>b){var f=Math.floor(b/c),b=b-c*f,e=e+Math.abs(f),g=this.repetitions-e;0>g?(this.clampWhenFinished?this.paused=!0:this.enabled=!1,b=0<a?c:0,this._mixer.dispatchEvent({type:"finished",action:this,direction:0<a?1:-1})):(0===g?(a=0>a,this._setEndings(a,!a,d)):this._setEndings(!1,!1,d),this._loopCount=
|
|
|
e,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:f}))}if(d&&1===(e&1))return this.time=b,c-b}return this.time=b},_setEndings:function(a,b,c){var d=this._interpolantSettings;c?(d.endingStart=2401,d.endingEnd=2401):(d.endingStart=a?this.zeroSlopeAtStart?2401:2400:2402,d.endingEnd=b?this.zeroSlopeAtEnd?2401:2400:2402)},_scheduleFading:function(a,b,c){var d=this._mixer,e=d.time,f=this._weightInterpolant;null===f&&(this._weightInterpolant=f=d._lendControlInterpolant());d=f.parameterPositions;
|
|
|
-f=f.sampleValues;d[0]=e;f[0]=b;d[1]=e+a;f[1]=c;return this}});Object.assign(We.prototype,qa.prototype,{_bindAction:function(a,b){var c=a._localRoot||this._root,d=a._clip.tracks,e=d.length,f=a._propertyBindings,g=a._interpolants,h=c.uuid,k=this._bindingsByRootAndName,l=k[h];void 0===l&&(l={},k[h]=l);for(k=0;k!==e;++k){var p=d[k],q=p.name,n=l[q];if(void 0===n){n=f[k];if(void 0!==n){null===n._cacheIndex&&(++n.referenceCount,this._addInactiveBinding(n,h,q));continue}n=new ke(ia.create(c,q,b&&b._propertyBindings[k].binding.parsedPath),
|
|
|
-p.ValueTypeName,p.getValueSize());++n.referenceCount;this._addInactiveBinding(n,h,q)}f[k]=n;g[k].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)}},
|
|
|
+f=f.sampleValues;d[0]=e;f[0]=b;d[1]=e+a;f[1]=c;return this}});Object.assign(We.prototype,qa.prototype,{_bindAction:function(a,b){var c=a._localRoot||this._root,d=a._clip.tracks,e=d.length,f=a._propertyBindings,g=a._interpolants,h=c.uuid,k=this._bindingsByRootAndName,m=k[h];void 0===m&&(m={},k[h]=m);for(k=0;k!==e;++k){var l=d[k],p=l.name,n=m[p];if(void 0===n){n=f[k];if(void 0!==n){null===n._cacheIndex&&(++n.referenceCount,this._addInactiveBinding(n,h,p));continue}n=new ke(ia.create(c,p,b&&b._propertyBindings[k].binding.parsedPath),
|
|
|
+l.ValueTypeName,l.getValueSize());++n.referenceCount;this._addInactiveBinding(n,h,p)}f[k]=n;g[k].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)}},
|
|
|
_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 b=a._clip.uuid,c=this._actionsByClip,d=c[b],e=d.knownActions,f=e[e.length-1],g=a._byClipCacheIndex;f._byClipCacheIndex=g;e[g]=f;e.pop();a._byClipCacheIndex=null;delete d.actionByRoot[(a._localRoot||this._root).uuid];0===e.length&&delete c[b];this._removeInactiveBindingsForAction(a)},
|
|
@@ -764,7 +764,7 @@ d;b[d]=a;e.__cacheIndex=c;b[c]=e},_controlInterpolantsResultBuffer:new Float32Ar
|
|
|
"string"===typeof a?Aa.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 h=
|
|
|
b[g];h.enabled&&h._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 h=g._cacheIndex,k=b[b.length-1];g._cacheIndex=null;g._byClipCacheIndex=null;k._cacheIndex=h;b[h]=k;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))}});Fd.prototype.clone=function(){return new Fd(void 0===this.value.clone?this.value:
|
|
|
-this.value.clone())};le.prototype=Object.assign(Object.create(H.prototype),{constructor:le,isInstancedBufferGeometry:!0,addGroup:function(a,b,c){this.groups.push({start:a,count:b,materialIndex:c})},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}});Object.defineProperties(me.prototype,{count:{get:function(){return this.data.count}},
|
|
|
+this.value.clone())};le.prototype=Object.assign(Object.create(I.prototype),{constructor:le,isInstancedBufferGeometry:!0,addGroup:function(a,b,c){this.groups.push({start:a,count:b,materialIndex:c})},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}});Object.defineProperties(me.prototype,{count:{get:function(){return this.data.count}},
|
|
|
array:{get:function(){return this.data.array}}});Object.assign(me.prototype,{isInterleavedBufferAttribute:!0,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}});Object.defineProperty(hc.prototype,"needsUpdate",{set:function(a){!0===a&&this.version++}});Object.assign(hc.prototype,{isInterleavedBuffer:!0,setArray:function(a){if(Array.isArray(a))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.count=void 0!==a?a.length/this.stride:0;this.array=a},setDynamic:function(a){this.dynamic=
|
|
@@ -780,7 +780,7 @@ function(a,b){var c=this.animationsMap[a];c&&(c.duration=b,c.fps=(c.end-c.start)
|
|
|
this.animationsMap[a];b?(b.time=0,b.active=!0):console.warn("THREE.MorphBlendMesh: animation["+a+"] undefined in .playAnimation()")};pa.prototype.stopAnimation=function(a){if(a=this.animationsMap[a])a.active=!1};pa.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+X.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}}};Xc.prototype=Object.create(B.prototype);Xc.prototype.constructor=Xc;Xc.prototype.isImmediateRenderObject=!0;Yc.prototype=Object.create(ca.prototype);Yc.prototype.constructor=Yc;Yc.prototype.update=function(){var a=new p,b=new p,c=new Fa;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 h=g.vertices,k=g.faces,l=g=0,p=k.length;l<p;l++)for(var q=k[l],n=0,u=q.vertexNormals.length;n<u;n++){var y=q.vertexNormals[n];a.copy(h[q[d[n]]]).applyMatrix4(e);b.copy(y).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,n=g=0,u=d.count;n<u;n++)a.set(d.getX(n),d.getY(n),d.getZ(n)).applyMatrix4(e),b.set(h.getX(n),h.getY(n),h.getZ(n)),
|
|
|
+g.isGeometry)for(var h=g.vertices,k=g.faces,l=g=0,p=k.length;l<p;l++)for(var q=k[l],n=0,u=q.vertexNormals.length;n<u;n++){var x=q.vertexNormals[n];a.copy(h[q[d[n]]]).applyMatrix4(e);b.copy(x).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,n=g=0,u=d.count;n<u;n++)a.set(d.getX(n),d.getY(n),d.getZ(n)).applyMatrix4(e),b.set(h.getX(n),h.getY(n),h.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}}();ic.prototype=Object.create(B.prototype);ic.prototype.constructor=ic;ic.prototype.dispose=function(){this.cone.geometry.dispose();this.cone.material.dispose()};ic.prototype.update=function(){var a=new p,b=new p;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)}}();jc.prototype=Object.create(ca.prototype);jc.prototype.constructor=jc;jc.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};jc.prototype.update=function(){var a=new p,b=new L,c=new L;return function(){var d=this.geometry,e=
|
|
|
d.getAttribute("position");c.getInverse(this.root.matrixWorld);for(var f=0,g=0;f<this.bones.length;f++){var h=this.bones[f];h.parent&&h.parent.isBone&&(b.multiplyMatrices(c,h.matrixWorld),a.setFromMatrixPosition(b),e.setXYZ(g,a.x,a.y,a.z),b.multiplyMatrices(c,h.parent.matrixWorld),a.setFromMatrixPosition(b),e.setXYZ(g+1,a.x,a.y,a.z),g+=2)}d.getAttribute("position").needsUpdate=!0}}();kc.prototype=Object.create(wa.prototype);kc.prototype.constructor=kc;kc.prototype.dispose=function(){this.geometry.dispose();
|
|
@@ -819,9 +819,9 @@ set:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. Th
|
|
|
xa.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(na.prototype,{onlyShadow:{set:function(){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(){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(){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(Y.prototype,{length:{get:function(){console.warn("THREE.BufferAttribute: .length has been deprecated. Use .count instead.");return this.array.length}}});Object.assign(H.prototype,{addIndex:function(a){console.warn("THREE.BufferGeometry: .addIndex() has been renamed to .setIndex().");
|
|
|
+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(Y.prototype,{length:{get:function(){console.warn("THREE.BufferAttribute: .length has been deprecated. Use .count instead.");return this.array.length}}});Object.assign(I.prototype,{addIndex:function(a){console.warn("THREE.BufferGeometry: .addIndex() has been renamed to .setIndex().");
|
|
|
this.setIndex(a)},addDrawCall:function(a,b,c){void 0!==c&&console.warn("THREE.BufferGeometry: .addDrawCall() no longer supports indexOffset.");console.warn("THREE.BufferGeometry: .addDrawCall() is now .addGroup().");this.addGroup(a,b)},clearDrawCalls:function(){console.warn("THREE.BufferGeometry: .clearDrawCalls() is now .clearGroups().");this.clearGroups()},computeTangents:function(){console.warn("THREE.BufferGeometry: .computeTangents() has been removed.")},computeOffsets:function(){console.warn("THREE.BufferGeometry: .computeOffsets() has been removed.")}});
|
|
|
-Object.defineProperties(H.prototype,{drawcalls:{get:function(){console.error("THREE.BufferGeometry: .drawcalls has been renamed to .groups.");return this.groups}},offsets:{get:function(){console.warn("THREE.BufferGeometry: .offsets has been renamed to .groups.");return this.groups}}});Object.defineProperties(Fd.prototype,{dynamic:{set:function(){console.warn("THREE.Uniform: .dynamic has been removed. Use object.onBeforeRender() instead.")}},onUpdate:{value:function(){console.warn("THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead.");
|
|
|
+Object.defineProperties(I.prototype,{drawcalls:{get:function(){console.error("THREE.BufferGeometry: .drawcalls has been renamed to .groups.");return this.groups}},offsets:{get:function(){console.warn("THREE.BufferGeometry: .offsets has been renamed to .groups.");return this.groups}}});Object.defineProperties(Fd.prototype,{dynamic:{set:function(){console.warn("THREE.Uniform: .dynamic has been removed. Use object.onBeforeRender() instead.")}},onUpdate:{value:function(){console.warn("THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead.");
|
|
|
return this}}});Object.defineProperties(U.prototype,{wrapAround:{get:function(){console.warn("THREE.Material: .wrapAround has been removed.")},set:function(){console.warn("THREE.Material: .wrapAround has been removed.")}},wrapRGB:{get:function(){console.warn("THREE.Material: .wrapRGB has been removed.");return new K}}});Object.defineProperties(ra.prototype,{metal:{get:function(){console.warn("THREE.MeshPhongMaterial: .metal has been removed. Use THREE.MeshStandardMaterial instead.");return!1},set:function(){console.warn("THREE.MeshPhongMaterial: .metal has been removed. Use THREE.MeshStandardMaterial instead")}}});
|
|
|
Object.defineProperties(Da.prototype,{derivatives:{get:function(){console.warn("THREE.ShaderMaterial: .derivatives has been moved to .extensions.derivatives.");return this.extensions.derivatives},set:function(a){console.warn("THREE. ShaderMaterial: .derivatives has been moved to .extensions.derivatives.");this.extensions.derivatives=a}}});Object.assign(Vd.prototype,{getCurrentRenderTarget:function(){console.warn("THREE.WebGLRenderer: .getCurrentRenderTarget() is now .getRenderTarget().");return this.getRenderTarget()},
|
|
|
supportsFloatTextures:function(){console.warn("THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( 'OES_texture_float' ).");return this.extensions.get("OES_texture_float")},supportsHalfFloatTextures:function(){console.warn("THREE.WebGLRenderer: .supportsHalfFloatTextures() is now .extensions.get( 'OES_texture_half_float' ).");return this.extensions.get("OES_texture_half_float")},supportsStandardDerivatives:function(){console.warn("THREE.WebGLRenderer: .supportsStandardDerivatives() is now .extensions.get( 'OES_standard_derivatives' ).");
|
|
@@ -837,7 +837,7 @@ return this.texture.format},set:function(a){console.warn("THREE.WebGLRenderTarge
|
|
|
set:function(a){console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps.");this.texture.generateMipmaps=a}}});gc.prototype.load=function(a){console.warn("THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.");var b=this;(new ee).load(a,function(a){b.setBuffer(a)});return this};je.prototype.getData=function(){console.warn("THREE.AudioAnalyser: .getData() is now .getFrequencyData().");return this.getFrequencyData()};l.WebGLRenderTargetCube=Cb;l.WebGLRenderTarget=
|
|
|
Bb;l.WebGLRenderer=Vd;l.ShaderLib=$a;l.UniformsLib=T;l.UniformsUtils=Ga;l.ShaderChunk=S;l.FogExp2=Hb;l.Fog=Ib;l.Scene=id;l.LensFlare=Xd;l.Sprite=xc;l.LOD=yc;l.SkinnedMesh=kd;l.Skeleton=zc;l.Bone=jd;l.Mesh=wa;l.LineSegments=ca;l.LineLoop=ld;l.Line=Ka;l.Points=Jb;l.Group=Ac;l.VideoTexture=md;l.DataTexture=db;l.CompressedTexture=Kb;l.CubeTexture=Ya;l.CanvasTexture=nd;l.DepthTexture=Bc;l.Texture=ba;l.CompressedTextureLoader=Oe;l.DataTextureLoader=Zd;l.CubeTextureLoader=$d;l.TextureLoader=od;l.ObjectLoader=
|
|
|
Pe;l.MaterialLoader=Dd;l.BufferGeometryLoader=ae;l.DefaultLoadingManager=za;l.LoadingManager=Yd;l.JSONLoader=be;l.ImageLoader=Sc;l.FontLoader=Re;l.FileLoader=sa;l.Loader=dc;l.Cache=ed;l.AudioLoader=ee;l.SpotLightShadow=qd;l.SpotLight=rd;l.PointLight=sd;l.RectAreaLight=wd;l.HemisphereLight=pd;l.DirectionalLightShadow=td;l.DirectionalLight=ud;l.AmbientLight=vd;l.LightShadow=tb;l.Light=na;l.StereoCamera=Se;l.PerspectiveCamera=xa;l.OrthographicCamera=Gb;l.CubeCamera=Ed;l.ArrayCamera=fe;l.Camera=Na;l.AudioListener=
|
|
|
-ge;l.PositionalAudio=ie;l.AudioContext=he;l.AudioAnalyser=je;l.Audio=gc;l.VectorKeyframeTrack=bc;l.StringKeyframeTrack=Ad;l.QuaternionKeyframeTrack=Uc;l.NumberKeyframeTrack=cc;l.ColorKeyframeTrack=Cd;l.BooleanKeyframeTrack=Bd;l.PropertyMixer=ke;l.PropertyBinding=ia;l.KeyframeTrack=vb;l.AnimationUtils=ta;l.AnimationObjectGroup=Ue;l.AnimationMixer=We;l.AnimationClip=Aa;l.Uniform=Fd;l.InstancedBufferGeometry=le;l.BufferGeometry=H;l.GeometryIdCount=function(){return Qd++};l.Geometry=P;l.InterleavedBufferAttribute=
|
|
|
+ge;l.PositionalAudio=ie;l.AudioContext=he;l.AudioAnalyser=je;l.Audio=gc;l.VectorKeyframeTrack=bc;l.StringKeyframeTrack=Ad;l.QuaternionKeyframeTrack=Uc;l.NumberKeyframeTrack=cc;l.ColorKeyframeTrack=Cd;l.BooleanKeyframeTrack=Bd;l.PropertyMixer=ke;l.PropertyBinding=ia;l.KeyframeTrack=vb;l.AnimationUtils=ta;l.AnimationObjectGroup=Ue;l.AnimationMixer=We;l.AnimationClip=Aa;l.Uniform=Fd;l.InstancedBufferGeometry=le;l.BufferGeometry=I;l.GeometryIdCount=function(){return Qd++};l.Geometry=P;l.InterleavedBufferAttribute=
|
|
|
me;l.InstancedInterleavedBuffer=ne;l.InterleavedBuffer=hc;l.InstancedBufferAttribute=oe;l.Face3=Ua;l.Object3D=B;l.Raycaster=Xe;l.Layers=Od;l.EventDispatcher=qa;l.Clock=Ze;l.QuaternionLinearInterpolant=zd;l.LinearInterpolant=Tc;l.DiscreteInterpolant=yd;l.CubicInterpolant=xd;l.Interpolant=Ca;l.Triangle=Ta;l.Math=X;l.Spherical=$e;l.Cylindrical=af;l.Plane=va;l.Frustum=gd;l.Sphere=Ba;l.Ray=gb;l.Matrix4=L;l.Matrix3=Fa;l.Box3=Sa;l.Box2=fd;l.Line3=Eb;l.Euler=ab;l.Vector4=ga;l.Vector3=p;l.Vector2=D;l.Quaternion=
|
|
|
oa;l.Color=K;l.MorphBlendMesh=pa;l.ImmediateRenderObject=Xc;l.VertexNormalsHelper=Yc;l.SpotLightHelper=ic;l.SkeletonHelper=jc;l.PointLightHelper=kc;l.RectAreaLightHelper=lc;l.HemisphereLightHelper=mc;l.GridHelper=Zc;l.PolarGridHelper=Gd;l.FaceNormalsHelper=$c;l.DirectionalLightHelper=nc;l.CameraHelper=ad;l.BoxHelper=oc;l.ArrowHelper=Ab;l.AxisHelper=Id;l.CatmullRomCurve3=Ja;l.CubicBezierCurve3=bd;l.QuadraticBezierCurve3=cd;l.LineCurve3=dd;l.ArcCurve=Jd;l.EllipseCurve=Wa;l.SplineCurve=yb;l.CubicBezierCurve=
|
|
|
ec;l.QuadraticBezierCurve=fc;l.LineCurve=Ra;l.Shape=zb;l.Path=Wc;l.ShapePath=ce;l.Font=de;l.CurvePath=Vc;l.Curve=fa;l.ShapeUtils=ya;l.SceneUtils={createMultiMaterialObject:function(a,b){for(var c=new Ac,d=0,e=b.length;d<e;d++)c.add(new wa(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 L;d.getInverse(c.matrixWorld);a.applyMatrix(d);b.remove(a);c.add(a)}};l.WireframeGeometry=Lb;l.ParametricGeometry=Cc;l.ParametricBufferGeometry=
|