|
@@ -25,9 +25,9 @@ this.linewidth=1;this.wireframe=!1;this.wireframeLinewidth=1;this.morphNormals=t
|
|
|
function qb(a,b){this.origin=void 0!==a?a:new n;this.direction=void 0!==b?b:new n}function ha(a,b,c){this.a=void 0!==a?a:new n;this.b=void 0!==b?b:new n;this.c=void 0!==c?c:new n}function Da(a){L.call(this);this.type="MeshBasicMaterial";this.color=new J(16777215);this.lightMap=this.map=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;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.lights=this.morphTargets=this.skinning=!1;this.setValues(a)}function pa(a,b){C.call(this);this.type="Mesh";this.geometry=void 0!==a?a:new D;this.material=void 0!==b?b:new Da({color:16777215*Math.random()});this.drawMode=0;this.updateMorphTargets()}function Sf(a,b,c,d){function e(a,c){b.buffers.color.setClear(a.r,a.g,a.b,c,d)}var f=new J(0),g=0,h,k,m=null,q=0;return{getClearColor:function(){return f},setClearColor:function(a,b){f.set(a);g=
|
|
|
void 0!==b?b:1;e(f,g)},getClearAlpha:function(){return g},setClearAlpha:function(a){g=a;e(f,g)},render:function(b,d,x,l){d=d.background;null===d?(e(f,g),m=null,q=0):d&&d.isColor&&(e(d,1),l=!0,m=null,q=0);(a.autoClear||l)&&a.clear(a.autoClearColor,a.autoClearDepth,a.autoClearStencil);if(d&&(d.isCubeTexture||d.isWebGLRenderTargetCube)){void 0===k&&(k=new pa(new ob(1,1,1),new Ba({type:"BackgroundCubeMaterial",uniforms:Jb(Qa.cube.uniforms),vertexShader:Qa.cube.vertexShader,fragmentShader:Qa.cube.fragmentShader,
|
|
|
-side:1,depthTest:!0,depthWrite:!1,fog:!1})),k.geometry.removeAttribute("normal"),k.geometry.removeAttribute("uv"),k.onBeforeRender=function(a,b,c){this.matrixWorld.copyPosition(c.matrixWorld)},Object.defineProperty(k.material,"map",{get:function(){return this.uniforms.tCube.value}}),c.update(k));l=d.isWebGLRenderTargetCube?d.texture:d;k.material.uniforms.tCube.value=l;k.material.uniforms.tFlip.value=d.isWebGLRenderTargetCube?1:-1;if(m!==d||q!==l.version)k.material.needsUpdate=!0,m=d,q=l.version;b.push(k,
|
|
|
-k.geometry,k.material,0,null)}else if(d&&d.isTexture){void 0===h&&(h=new pa(new pb(2,2),new Ba({type:"BackgroundMaterial",uniforms:Jb(Qa.background.uniforms),vertexShader:Qa.background.vertexShader,fragmentShader:Qa.background.fragmentShader,side:0,depthTest:!0,depthWrite:!1,fog:!1})),h.geometry.removeAttribute("normal"),Object.defineProperty(h.material,"map",{get:function(){return this.uniforms.t2D.value}}),c.update(h));h.material.uniforms.t2D.value=d;!0===d.matrixAutoUpdate&&d.updateMatrix();h.material.uniforms.uvTransform.value.copy(d.matrix);
|
|
|
-if(m!==d||q!==d.version)h.material.needsUpdate=!0,m=d,q=d.version;b.push(h,h.geometry,h.material,0,null)}}}}function Tf(a,b,c,d){var e;this.setMode=function(a){e=a};this.render=function(b,d){a.drawArrays(e,b,d);c.update(d,e)};this.renderInstances=function(f,g,h){if(d.isWebGL2)var k=a;else if(k=b.get("ANGLE_instanced_arrays"),null===k){console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");return}k[d.isWebGL2?
|
|
|
+side:1,depthTest:!0,depthWrite:!1,fog:!1})),k.geometry.removeAttribute("normal"),k.geometry.removeAttribute("uv"),k.onBeforeRender=function(a,b,c){this.matrixWorld.copyPosition(c.matrixWorld)},Object.defineProperty(k.material,"map",{get:function(){return this.uniforms.tCube.value}}),c.update(k));l=d.isWebGLRenderTargetCube?d.texture:d;k.material.uniforms.tCube.value=l;k.material.uniforms.tFlip.value=d.isWebGLRenderTargetCube?1:-1;if(m!==d||q!==l.version)k.material.needsUpdate=!0,m=d,q=l.version;b.unshift(k,
|
|
|
+k.geometry,k.material,0,null)}else if(d&&d.isTexture){void 0===h&&(h=new pa(new pb(2,2),new Ba({type:"BackgroundMaterial",uniforms:Jb(Qa.background.uniforms),vertexShader:Qa.background.vertexShader,fragmentShader:Qa.background.fragmentShader,side:0,depthTest:!1,depthWrite:!1,fog:!1})),h.geometry.removeAttribute("normal"),Object.defineProperty(h.material,"map",{get:function(){return this.uniforms.t2D.value}}),c.update(h));h.material.uniforms.t2D.value=d;!0===d.matrixAutoUpdate&&d.updateMatrix();h.material.uniforms.uvTransform.value.copy(d.matrix);
|
|
|
+if(m!==d||q!==d.version)h.material.needsUpdate=!0,m=d,q=d.version;b.unshift(h,h.geometry,h.material,0,null)}}}}function Tf(a,b,c,d){var e;this.setMode=function(a){e=a};this.render=function(b,d){a.drawArrays(e,b,d);c.update(d,e)};this.renderInstances=function(f,g,h){if(d.isWebGL2)var k=a;else if(k=b.get("ANGLE_instanced_arrays"),null===k){console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");return}k[d.isWebGL2?
|
|
|
"drawArraysInstanced":"drawArraysInstancedANGLE"](e,g,h,f.maxInstancedCount);c.update(h,e,f.maxInstancedCount)}}function Uf(a,b,c){function d(b){if("highp"===b){if(0<a.getShaderPrecisionFormat(35633,36338).precision&&0<a.getShaderPrecisionFormat(35632,36338).precision)return"highp";b="mediump"}return"mediump"===b&&0<a.getShaderPrecisionFormat(35633,36337).precision&&0<a.getShaderPrecisionFormat(35632,36337).precision?"mediump":"lowp"}var e,f="undefined"!==typeof WebGL2RenderingContext&&a instanceof
|
|
|
WebGL2RenderingContext,g=void 0!==c.precision?c.precision:"highp",h=d(g);h!==g&&(console.warn("THREE.WebGLRenderer:",g,"not supported, using",h,"instead."),g=h);c=!0===c.logarithmicDepthBuffer;h=a.getParameter(34930);var k=a.getParameter(35660),m=a.getParameter(3379),q=a.getParameter(34076),p=a.getParameter(34921),r=a.getParameter(36347),l=a.getParameter(36348),t=a.getParameter(36349),v=0<k,w=f||!!b.get("OES_texture_float");return{isWebGL2:f,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:g,logarithmicDepthBuffer:c,maxTextures:h,maxVertexTextures:k,maxTextureSize:m,maxCubemapSize:q,maxAttributes:p,maxVertexUniforms:r,maxVaryings:l,maxFragmentUniforms:t,vertexTextures:v,floatFragmentTextures:w,floatVertexTextures:v&&w}}function Vf(){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=
|
|
@@ -80,42 +80,42 @@ a.gammaInput),bumpMap:!!b.bumpMap,normalMap:!!b.normalMap,objectSpaceNormalMap:1
|
|
|
useVertexTexture:c.floatVertexTextures,morphTargets:b.morphTargets,morphNormals:b.morphNormals,maxMorphTargets:a.maxMorphTargets,maxMorphNormals:a.maxMorphNormals,numDirLights:e.directional.length,numPointLights:e.point.length,numSpotLights:e.spot.length,numRectAreaLights:e.rectArea.length,numHemiLights:e.hemi.length,numClippingPlanes:p,numClipIntersection:r,dithering:b.dithering,shadowMapEnabled:a.shadowMap.enabled&&l.receiveShadow&&0<g.length,shadowMapType:a.shadowMap.type,toneMapping:a.toneMapping,
|
|
|
physicallyCorrectLights:a.physicallyCorrectLights,premultipliedAlpha:b.premultipliedAlpha,alphaTest:b.alphaTest,doubleSided:2===b.side,flipSided:1===b.side,depthPacking:void 0!==b.depthPacking?b.depthPacking:!1}};this.getProgramCode=function(b,c){var d=[];c.shaderID?d.push(c.shaderID):(d.push(b.fragmentShader),d.push(b.vertexShader));if(void 0!==b.defines)for(var e in b.defines)d.push(e),d.push(b.defines[e]);for(e=0;e<g.length;e++)d.push(c[g[e]]);d.push(b.onBeforeCompile.toString());d.push(a.gammaOutput);
|
|
|
d.push(a.gammaFactor);return d.join()};this.acquireProgram=function(d,f,g,q){for(var h,k=0,m=e.length;k<m;k++){var l=e[k];if(l.code===q){h=l;++h.usedTimes;break}}void 0===h&&(h=new Gg(a,b,q,d,f,g,c),e.push(h));return h};this.releaseProgram=function(a){if(0===--a.usedTimes){var b=e.indexOf(a);e[b]=e[e.length-1];e.pop();a.destroy()}};this.programs=e}function Jg(){var a=new WeakMap;return{get:function(b){var c=a.get(b);void 0===c&&(c={},a.set(b,c));return c},remove:function(b){a.delete(b)},update:function(b,
|
|
|
-c,d){a.get(b)[c]=d},dispose:function(){a=new WeakMap}}}function Kg(a,b){return a.renderOrder!==b.renderOrder?a.renderOrder-b.renderOrder:a.program&&b.program&&a.program!==b.program?a.program.id-b.program.id:a.material.id!==b.material.id?a.material.id-b.material.id:a.z!==b.z?a.z-b.z:a.id-b.id}function Lg(a,b){return a.renderOrder!==b.renderOrder?a.renderOrder-b.renderOrder:a.z!==b.z?b.z-a.z:a.id-b.id}function cf(){var a=[],b=0,c=[],d=[];return{opaque:c,transparent:d,init:function(){b=0;c.length=0;
|
|
|
-d.length=0},push:function(e,f,g,h,k){var m=a[b];void 0===m?(m={id:e.id,object:e,geometry:f,material:g,program:g.program,renderOrder:e.renderOrder,z:h,group:k},a[b]=m):(m.id=e.id,m.object=e,m.geometry=f,m.material=g,m.program=g.program,m.renderOrder=e.renderOrder,m.z=h,m.group=k);(!0===g.transparent?d:c).push(m);b++},sort:function(){1<c.length&&c.sort(Kg);1<d.length&&d.sort(Lg)}}}function Mg(){var a={};return{get:function(b,c){var d=a[b.id];if(void 0===d){var e=new cf;a[b.id]={};a[b.id][c.id]=e}else e=
|
|
|
-d[c.id],void 0===e&&(e=new cf,d[c.id]=e);return e},dispose:function(){a={}}}}function Ng(){var a={};return{get:function(b){if(void 0!==a[b.id])return a[b.id];switch(b.type){case "DirectionalLight":var c={direction:new n,color:new J,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new z};break;case "SpotLight":c={position:new n,direction:new n,color:new J,distance:0,coneCos:0,penumbraCos:0,decay:0,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new z};break;case "PointLight":c={position:new n,
|
|
|
-color:new J,distance:0,decay:0,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new z,shadowCameraNear:1,shadowCameraFar:1E3};break;case "HemisphereLight":c={direction:new n,skyColor:new J,groundColor:new J};break;case "RectAreaLight":c={color:new J,position:new n,halfWidth:new n,halfHeight:new n}}return a[b.id]=c}}}function Og(){var a=new Ng,b={id:Pg++,hash:{stateID:-1,directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,shadowsLength:-1},ambient:[0,0,0],directional:[],
|
|
|
-directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],point:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[]},c=new n,d=new O,e=new O;return{setup:function(f,g,h){var k=0,m=0,q=0,p=0,r=0,l=0,t=0,v=0;h=h.matrixWorldInverse;for(var w=0,n=f.length;w<n;w++){var u=f[w],H=u.color,G=u.intensity,N=u.distance,W=u.shadow&&u.shadow.map?u.shadow.map.texture:null;if(u.isAmbientLight)k+=H.r*G,m+=H.g*G,q+=H.b*G;else if(u.isDirectionalLight){var A=a.get(u);A.color.copy(u.color).multiplyScalar(u.intensity);
|
|
|
-A.direction.setFromMatrixPosition(u.matrixWorld);c.setFromMatrixPosition(u.target.matrixWorld);A.direction.sub(c);A.direction.transformDirection(h);if(A.shadow=u.castShadow)H=u.shadow,A.shadowBias=H.bias,A.shadowRadius=H.radius,A.shadowMapSize=H.mapSize;b.directionalShadowMap[p]=W;b.directionalShadowMatrix[p]=u.shadow.matrix;b.directional[p]=A;p++}else if(u.isSpotLight){A=a.get(u);A.position.setFromMatrixPosition(u.matrixWorld);A.position.applyMatrix4(h);A.color.copy(H).multiplyScalar(G);A.distance=
|
|
|
-N;A.direction.setFromMatrixPosition(u.matrixWorld);c.setFromMatrixPosition(u.target.matrixWorld);A.direction.sub(c);A.direction.transformDirection(h);A.coneCos=Math.cos(u.angle);A.penumbraCos=Math.cos(u.angle*(1-u.penumbra));A.decay=u.decay;if(A.shadow=u.castShadow)H=u.shadow,A.shadowBias=H.bias,A.shadowRadius=H.radius,A.shadowMapSize=H.mapSize;b.spotShadowMap[l]=W;b.spotShadowMatrix[l]=u.shadow.matrix;b.spot[l]=A;l++}else if(u.isRectAreaLight)A=a.get(u),A.color.copy(H).multiplyScalar(G),A.position.setFromMatrixPosition(u.matrixWorld),
|
|
|
-A.position.applyMatrix4(h),e.identity(),d.copy(u.matrixWorld),d.premultiply(h),e.extractRotation(d),A.halfWidth.set(.5*u.width,0,0),A.halfHeight.set(0,.5*u.height,0),A.halfWidth.applyMatrix4(e),A.halfHeight.applyMatrix4(e),b.rectArea[t]=A,t++;else if(u.isPointLight){A=a.get(u);A.position.setFromMatrixPosition(u.matrixWorld);A.position.applyMatrix4(h);A.color.copy(u.color).multiplyScalar(u.intensity);A.distance=u.distance;A.decay=u.decay;if(A.shadow=u.castShadow)H=u.shadow,A.shadowBias=H.bias,A.shadowRadius=
|
|
|
-H.radius,A.shadowMapSize=H.mapSize,A.shadowCameraNear=H.camera.near,A.shadowCameraFar=H.camera.far;b.pointShadowMap[r]=W;b.pointShadowMatrix[r]=u.shadow.matrix;b.point[r]=A;r++}else u.isHemisphereLight&&(A=a.get(u),A.direction.setFromMatrixPosition(u.matrixWorld),A.direction.transformDirection(h),A.direction.normalize(),A.skyColor.copy(u.color).multiplyScalar(G),A.groundColor.copy(u.groundColor).multiplyScalar(G),b.hemi[v]=A,v++)}b.ambient[0]=k;b.ambient[1]=m;b.ambient[2]=q;b.directional.length=p;
|
|
|
-b.spot.length=l;b.rectArea.length=t;b.point.length=r;b.hemi.length=v;b.hash.stateID=b.id;b.hash.directionalLength=p;b.hash.pointLength=r;b.hash.spotLength=l;b.hash.rectAreaLength=t;b.hash.hemiLength=v;b.hash.shadowsLength=g.length},state:b}}function df(){var a=new Og,b=[],c=[];return{init:function(){b.length=0;c.length=0},state:{lightsArray:b,shadowsArray:c,lights:a},setupLights:function(d){a.setup(b,c,d)},pushLight:function(a){b.push(a)},pushShadow:function(a){c.push(a)}}}function Qg(){var a={};
|
|
|
-return{get:function(b,c){if(void 0===a[b.id]){var d=new df;a[b.id]={};a[b.id][c.id]=d}else void 0===a[b.id][c.id]?(d=new df,a[b.id][c.id]=d):d=a[b.id][c.id];return d},dispose:function(){a={}}}}function db(a){L.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 eb(a){L.call(this);
|
|
|
-this.type="MeshDistanceMaterial";this.referencePosition=new n;this.nearDistance=1;this.farDistance=1E3;this.morphTargets=this.skinning=!1;this.displacementMap=this.alphaMap=this.map=null;this.displacementScale=1;this.displacementBias=0;this.lights=this.fog=!1;this.setValues(a)}function ef(a,b,c){function d(b,c,d,e,f,g){var h=b.geometry;var k=p;var m=b.customDepthMaterial;d&&(k=r,m=b.customDistanceMaterial);m?k=m:(m=!1,c.morphTargets&&(h&&h.isBufferGeometry?m=h.morphAttributes&&h.morphAttributes.position&&
|
|
|
-0<h.morphAttributes.position.length:h&&h.isGeometry&&(m=h.morphTargets&&0<h.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,h=0,m&&(h|=1),b&&(h|=2),k=k[h]);a.localClippingEnabled&&!0===c.clipShadows&&0!==c.clippingPlanes.length&&(h=k.uuid,m=c.uuid,b=l[h],void 0===b&&(b={},l[h]=b),h=b[m],void 0===h&&(h=k.clone(),b[m]=h),k=h);k.visible=c.visible;k.wireframe=c.wireframe;
|
|
|
-k.side=null!=c.shadowSide?c.shadowSide:t[c.side];k.clipShadows=c.clipShadows;k.clippingPlanes=c.clippingPlanes;k.clipIntersection=c.clipIntersection;k.wireframeLinewidth=c.wireframeLinewidth;k.linewidth=c.linewidth;d&&k.isMeshDistanceMaterial&&(k.referencePosition.copy(e),k.nearDistance=f,k.farDistance=g);return k}function e(c,g,h,k){if(!1!==c.visible){if(c.layers.test(g.layers)&&(c.isMesh||c.isLine||c.isPoints)&&c.castShadow&&(!c.frustumCulled||f.intersectsObject(c))){c.modelViewMatrix.multiplyMatrices(h.matrixWorldInverse,
|
|
|
-c.matrixWorld);var m=b.update(c),p=c.material;if(Array.isArray(p))for(var r=m.groups,l=0,t=r.length;l<t;l++){var x=r[l],W=p[x.materialIndex];W&&W.visible&&(W=d(c,W,k,q,h.near,h.far),a.renderBufferDirect(h,null,m,W,c,x))}else p.visible&&(W=d(c,p,k,q,h.near,h.far),a.renderBufferDirect(h,null,m,W,c,null))}c=c.children;m=0;for(p=c.length;m<p;m++)e(c[m],g,h,k)}}var f=new td,g=new O,h=new z,k=new z(c,c),m=new n,q=new n,p=Array(4),r=Array(4),l={},t={0:1,1:0,2:2},v=[new n(1,0,0),new n(-1,0,0),new n(0,0,1),
|
|
|
-new n(0,0,-1),new n(0,1,0),new n(0,-1,0)],w=[new n(0,1,0),new n(0,1,0),new n(0,1,0),new n(0,1,0),new n(0,0,1),new n(0,0,-1)],y=[new ca,new ca,new ca,new ca,new ca,new ca];for(c=0;4!==c;++c){var u=0!==(c&1),H=0!==(c&2),G=new db({depthPacking:3201,morphTargets:u,skinning:H});p[c]=G;u=new eb({morphTargets:u,skinning:H});r[c]=u}var N=this;this.enabled=!1;this.autoUpdate=!0;this.needsUpdate=!1;this.type=1;this.render=function(b,c,d){if(!1!==N.enabled&&(!1!==N.autoUpdate||!1!==N.needsUpdate)&&0!==b.length){var p=
|
|
|
-a.state;p.disable(3042);p.buffers.color.setClear(1,1,1,1);p.buffers.depth.setTest(!0);p.setScissorTest(!1);for(var r,l=0,t=b.length;l<t;l++){var x=b[l];r=x.shadow;var W=x&&x.isPointLight;if(void 0===r)console.warn("THREE.WebGLShadowMap:",x,"has no shadow.");else{var A=r.camera;h.copy(r.mapSize);h.min(k);if(W){var n=h.x,u=h.y;y[0].set(2*n,u,n,u);y[1].set(0,u,n,u);y[2].set(3*n,u,n,u);y[3].set(n,u,n,u);y[4].set(3*n,0,n,u);y[5].set(n,0,n,u);h.x*=4;h.y*=2}null===r.map&&(r.map=new jb(h.x,h.y,{minFilter:1003,
|
|
|
-magFilter:1003,format:1023}),r.map.texture.name=x.name+".shadowMap",A.updateProjectionMatrix());r.isSpotLightShadow&&r.update(x);n=r.map;u=r.matrix;q.setFromMatrixPosition(x.matrixWorld);A.position.copy(q);W?(r=6,u.makeTranslation(-q.x,-q.y,-q.z)):(r=1,m.setFromMatrixPosition(x.target.matrixWorld),A.lookAt(m),A.updateMatrixWorld(),u.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),u.multiply(A.projectionMatrix),u.multiply(A.matrixWorldInverse));a.setRenderTarget(n);a.clear();for(x=0;x<r;x++)W&&(m.copy(A.position),
|
|
|
-m.add(v[x]),A.up.copy(w[x]),A.lookAt(m),A.updateMatrixWorld(),p.viewport(y[x])),g.multiplyMatrices(A.projectionMatrix,A.matrixWorldInverse),f.setFromMatrix(g),e(c,d,A,W)}}N.needsUpdate=!1}}}function Rg(a,b,c,d){function e(b,c,d){var e=new Uint8Array(4),f=a.createTexture();a.bindTexture(b,f);a.texParameteri(b,10241,9728);a.texParameteri(b,10240,9728);for(b=0;b<d;b++)a.texImage2D(c+b,0,6408,1,1,0,6408,5121,e);return f}function f(c,e){y[c]=1;0===u[c]&&(a.enableVertexAttribArray(c),u[c]=1);H[c]!==e&&
|
|
|
-((d.isWebGL2?a:b.get("ANGLE_instanced_arrays"))[d.isWebGL2?"vertexAttribDivisor":"vertexAttribDivisorANGLE"](c,e),H[c]=e)}function g(b){!0!==G[b]&&(a.enable(b),G[b]=!0)}function h(b){!1!==G[b]&&(a.disable(b),G[b]=!1)}function k(b,d,e,f,k,m,p,q){if(0===b)A&&(h(3042),A=!1);else if(A||(g(3042),A=!0),5!==b){if(b!==Mb||q!==F){if(100!==z||100!==B)a.blendEquation(32774),B=z=100;if(q)switch(b){case 1:a.blendFuncSeparate(1,771,1,771);break;case 2:a.blendFunc(1,1);break;case 3:a.blendFuncSeparate(0,0,769,771);
|
|
|
-break;case 4:a.blendFuncSeparate(0,768,0,770);break;default:console.error("THREE.WebGLState: Invalid blending: ",b)}else switch(b){case 1:a.blendFuncSeparate(770,771,1,771);break;case 2:a.blendFunc(770,1);break;case 3:a.blendFunc(0,769);break;case 4:a.blendFunc(0,768);break;default:console.error("THREE.WebGLState: Invalid blending: ",b)}D=C=Y=Yd=null;Mb=b;F=q}}else{k=k||d;m=m||e;p=p||f;if(d!==z||k!==B)a.blendEquationSeparate(c.convert(d),c.convert(k)),z=d,B=k;if(e!==Yd||f!==Y||m!==C||p!==D)a.blendFuncSeparate(c.convert(e),
|
|
|
-c.convert(f),c.convert(m),c.convert(p)),Yd=e,Y=f,C=m,D=p;Mb=b;F=null}}function m(b){J!==b&&(b?a.frontFace(2304):a.frontFace(2305),J=b)}function q(b){0!==b?(g(2884),b!==K&&(1===b?a.cullFace(1029):2===b?a.cullFace(1028):a.cullFace(1032))):h(2884);K=b}function p(b,c,d){if(b){if(g(32823),Q!==c||L!==d)a.polygonOffset(c,d),Q=c,L=d}else h(32823)}function r(b){void 0===b&&(b=33984+R-1);I!==b&&(a.activeTexture(b),I=b)}var l=new function(){var b=!1,c=new ca,d=null,e=new ca(0,0,0,0);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(-1,0,0,0)}}},t=new function(){var b=!1,c=null,d=null,e=null;return{setTest:function(a){a?g(2929):h(2929)},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(512);break;case 1:a.depthFunc(519);break;case 2:a.depthFunc(513);
|
|
|
-break;case 3:a.depthFunc(515);break;case 4:a.depthFunc(514);break;case 5:a.depthFunc(518);break;case 6:a.depthFunc(516);break;case 7:a.depthFunc(517);break;default:a.depthFunc(515)}else a.depthFunc(515);d=b}},setLocked:function(a){b=a},setClear:function(b){e!==b&&(a.clearDepth(b),e=b)},reset:function(){b=!1;e=d=c=null}}},v=new function(){var b=!1,c=null,d=null,e=null,f=null,k=null,m=null,p=null,q=null;return{setTest:function(a){a?g(2960):h(2960)},setMask:function(d){c===d||b||(a.stencilMask(d),c=
|
|
|
-d)},setFunc:function(b,c,g){if(d!==b||e!==c||f!==g)a.stencilFunc(b,c,g),d=b,e=c,f=g},setOp:function(b,c,d){if(k!==b||m!==c||p!==d)a.stencilOp(b,c,d),k=b,m=c,p=d},setLocked:function(a){b=a},setClear:function(b){q!==b&&(a.clearStencil(b),q=b)},reset:function(){b=!1;q=p=m=k=f=e=d=c=null}}},n=a.getParameter(34921),y=new Uint8Array(n),u=new Uint8Array(n),H=new Uint8Array(n),G={},N=null,W=null,A=null,Mb=null,z=null,Yd=null,Y=null,B=null,C=null,D=null,F=!1,J=null,K=null,O=null,Q=null,L=null,R=a.getParameter(35661),
|
|
|
-E=!1;n=0;n=a.getParameter(7938);-1!==n.indexOf("WebGL")?(n=parseFloat(/^WebGL ([0-9])/.exec(n)[1]),E=1<=n):-1!==n.indexOf("OpenGL ES")&&(n=parseFloat(/^OpenGL ES ([0-9])/.exec(n)[1]),E=2<=n);var I=null,T={},X=new ca,M=new ca,U={};U[3553]=e(3553,3553,1);U[34067]=e(34067,34069,6);l.setClear(0,0,0,1);t.setClear(1);v.setClear(0);g(2929);t.setFunc(3);m(!1);q(1);g(2884);k(0);return{buffers:{color:l,depth:t,stencil:v},initAttributes:function(){for(var a=0,b=y.length;a<b;a++)y[a]=0},enableAttribute:function(a){f(a,
|
|
|
-0)},enableAttributeAndDivisor:f,disableUnusedAttributes:function(){for(var b=0,c=u.length;b!==c;++b)u[b]!==y[b]&&(a.disableVertexAttribArray(b),u[b]=0)},enable:g,disable:h,getCompressedTextureFormats:function(){if(null===N&&(N=[],b.get("WEBGL_compressed_texture_pvrtc")||b.get("WEBGL_compressed_texture_s3tc")||b.get("WEBGL_compressed_texture_etc1")||b.get("WEBGL_compressed_texture_astc")))for(var c=a.getParameter(34467),d=0;d<c.length;d++)N.push(c[d]);return N},useProgram:function(b){return W!==b?
|
|
|
-(a.useProgram(b),W=b,!0):!1},setBlending:k,setMaterial:function(a,b){2===a.side?h(2884):g(2884);var c=1===a.side;b&&(c=!c);m(c);1===a.blending&&!1===a.transparent?k(0):k(a.blending,a.blendEquation,a.blendSrc,a.blendDst,a.blendEquationAlpha,a.blendSrcAlpha,a.blendDstAlpha,a.premultipliedAlpha);t.setFunc(a.depthFunc);t.setTest(a.depthTest);t.setMask(a.depthWrite);l.setMask(a.colorWrite);p(a.polygonOffset,a.polygonOffsetFactor,a.polygonOffsetUnits)},setFlipSided:m,setCullFace:q,setLineWidth:function(b){b!==
|
|
|
-O&&(E&&a.lineWidth(b),O=b)},setPolygonOffset:p,setScissorTest:function(a){a?g(3089):h(3089)},activeTexture:r,bindTexture:function(b,c){null===I&&r();var d=T[I];void 0===d&&(d={type:void 0,texture:void 0},T[I]=d);if(d.type!==b||d.texture!==c)a.bindTexture(b,c||U[b]),d.type=b,d.texture=c},compressedTexImage2D:function(){try{a.compressedTexImage2D.apply(a,arguments)}catch(fa){console.error("THREE.WebGLState:",fa)}},texImage2D:function(){try{a.texImage2D.apply(a,arguments)}catch(fa){console.error("THREE.WebGLState:",
|
|
|
-fa)}},texImage3D:function(){try{a.texImage3D.apply(a,arguments)}catch(fa){console.error("THREE.WebGLState:",fa)}},scissor:function(b){!1===X.equals(b)&&(a.scissor(b.x,b.y,b.z,b.w),X.copy(b))},viewport:function(b){!1===M.equals(b)&&(a.viewport(b.x,b.y,b.z,b.w),M.copy(b))},reset:function(){for(var b=0;b<u.length;b++)1===u[b]&&(a.disableVertexAttribArray(b),u[b]=0);G={};I=N=null;T={};K=J=Mb=W=null;l.reset();t.reset();v.reset()}}}function Sg(a,b,c,d,e,f,g){function h(a,b){if(a.width>b||a.height>b){if("data"in
|
|
|
-a){console.warn("THREE.WebGLRenderer: image in DataTexture is too big ("+a.width+"x"+a.height+").");return}b/=Math.max(a.width,a.height);var c=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");c.width=Math.floor(a.width*b);c.height=Math.floor(a.height*b);c.getContext("2d").drawImage(a,0,0,a.width,a.height,0,0,c.width,c.height);console.warn("THREE.WebGLRenderer: image is too big ("+a.width+"x"+a.height+"). Resized to "+c.width+"x"+c.height);return c}return a}function k(a){return R.isPowerOfTwo(a.width)&&
|
|
|
-R.isPowerOfTwo(a.height)}function m(a,b){return a.generateMipmaps&&b&&1003!==a.minFilter&&1006!==a.minFilter}function q(b,c,e,f){a.generateMipmap(b);d.get(c).__maxMipLevel=Math.log(Math.max(e,f))*Math.LOG2E}function p(a,b){if(!e.isWebGL2)return a;if(6403===a){if(5126===b)return 33326;if(5131===b)return 33325;if(5121===b)return 33321}if(6407===a){if(5126===b)return 34837;if(5131===b)return 34843;if(5121===b)return 32849}if(6408===a){if(5126===b)return 34836;if(5131===b)return 34842;if(5121===b)return 32856}return a}
|
|
|
-function r(a){return 1003===a||1004===a||1005===a?9728:9729}function l(b){b=b.target;b.removeEventListener("dispose",l);a:{var c=d.get(b);if(b.image&&c.__image__webglTextureCube)a.deleteTexture(c.__image__webglTextureCube);else{if(void 0===c.__webglInit)break a;a.deleteTexture(c.__webglTexture)}d.remove(b)}b.isVideoTexture&&delete G[b.id];g.memory.textures--}function t(b){b=b.target;b.removeEventListener("dispose",t);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.memory.textures--}function v(a,b){var e=d.get(a);if(a.isVideoTexture){var f=a.id,h=g.render.frame;G[f]!==h&&(G[f]=h,a.update())}if(0<a.version&&e.__version!==
|
|
|
-a.version)if(f=a.image,void 0===f)console.warn("THREE.WebGLRenderer: Texture marked for update but image is undefined");else if(!1===f.complete)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{y(e,a,b);return}c.activeTexture(33984+b);c.bindTexture(3553,e.__webglTexture)}function n(c,g,h){h?(a.texParameteri(c,10242,f.convert(g.wrapS)),a.texParameteri(c,10243,f.convert(g.wrapT)),a.texParameteri(c,10240,f.convert(g.magFilter)),a.texParameteri(c,10241,f.convert(g.minFilter))):
|
|
|
-(a.texParameteri(c,10242,33071),a.texParameteri(c,10243,33071),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."),a.texParameteri(c,10240,r(g.magFilter)),a.texParameteri(c,10241,r(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."));
|
|
|
+c,d){a.get(b)[c]=d},dispose:function(){a=new WeakMap}}}function Kg(a,b){return a.renderOrder!==b.renderOrder?a.renderOrder-b.renderOrder:a.program&&b.program&&a.program!==b.program?a.program.id-b.program.id:a.material.id!==b.material.id?a.material.id-b.material.id:a.z!==b.z?a.z-b.z:a.id-b.id}function Lg(a,b){return a.renderOrder!==b.renderOrder?a.renderOrder-b.renderOrder:a.z!==b.z?b.z-a.z:a.id-b.id}function cf(){function a(a,d,e,k,m){var f=b[c];void 0===f?(f={id:a.id,object:a,geometry:d,material:e,
|
|
|
+program:e.program,renderOrder:a.renderOrder,z:k,group:m},b[c]=f):(f.id=a.id,f.object=a,f.geometry=d,f.material=e,f.program=e.program,f.renderOrder=a.renderOrder,f.z=k,f.group=m);c++;return f}var b=[],c=0,d=[],e=[];return{opaque:d,transparent:e,init:function(){c=0;d.length=0;e.length=0},push:function(b,c,h,k,m){b=a(b,c,h,k,m);(!0===h.transparent?e:d).push(b)},unshift:function(b,c,h,k,m){b=a(b,c,h,k,m);(!0===h.transparent?e:d).unshift(b)},sort:function(){1<d.length&&d.sort(Kg);1<e.length&&e.sort(Lg)}}}
|
|
|
+function Mg(){var a={};return{get:function(b,c){var d=a[b.id];if(void 0===d){var e=new cf;a[b.id]={};a[b.id][c.id]=e}else e=d[c.id],void 0===e&&(e=new cf,d[c.id]=e);return e},dispose:function(){a={}}}}function Ng(){var a={};return{get:function(b){if(void 0!==a[b.id])return a[b.id];switch(b.type){case "DirectionalLight":var c={direction:new n,color:new J,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new z};break;case "SpotLight":c={position:new n,direction:new n,color:new J,distance:0,coneCos:0,
|
|
|
+penumbraCos:0,decay:0,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new z};break;case "PointLight":c={position:new n,color:new J,distance:0,decay:0,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new z,shadowCameraNear:1,shadowCameraFar:1E3};break;case "HemisphereLight":c={direction:new n,skyColor:new J,groundColor:new J};break;case "RectAreaLight":c={color:new J,position:new n,halfWidth:new n,halfHeight:new n}}return a[b.id]=c}}}function Og(){var a=new Ng,b={id:Pg++,hash:{stateID:-1,directionalLength:-1,
|
|
|
+pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,shadowsLength:-1},ambient:[0,0,0],directional:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],point:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[]},c=new n,d=new O,e=new O;return{setup:function(f,g,h){var k=0,m=0,q=0,p=0,r=0,l=0,t=0,v=0;h=h.matrixWorldInverse;for(var w=0,n=f.length;w<n;w++){var u=f[w],H=u.color,G=u.intensity,N=u.distance,W=u.shadow&&u.shadow.map?u.shadow.map.texture:
|
|
|
+null;if(u.isAmbientLight)k+=H.r*G,m+=H.g*G,q+=H.b*G;else if(u.isDirectionalLight){var A=a.get(u);A.color.copy(u.color).multiplyScalar(u.intensity);A.direction.setFromMatrixPosition(u.matrixWorld);c.setFromMatrixPosition(u.target.matrixWorld);A.direction.sub(c);A.direction.transformDirection(h);if(A.shadow=u.castShadow)H=u.shadow,A.shadowBias=H.bias,A.shadowRadius=H.radius,A.shadowMapSize=H.mapSize;b.directionalShadowMap[p]=W;b.directionalShadowMatrix[p]=u.shadow.matrix;b.directional[p]=A;p++}else if(u.isSpotLight){A=
|
|
|
+a.get(u);A.position.setFromMatrixPosition(u.matrixWorld);A.position.applyMatrix4(h);A.color.copy(H).multiplyScalar(G);A.distance=N;A.direction.setFromMatrixPosition(u.matrixWorld);c.setFromMatrixPosition(u.target.matrixWorld);A.direction.sub(c);A.direction.transformDirection(h);A.coneCos=Math.cos(u.angle);A.penumbraCos=Math.cos(u.angle*(1-u.penumbra));A.decay=u.decay;if(A.shadow=u.castShadow)H=u.shadow,A.shadowBias=H.bias,A.shadowRadius=H.radius,A.shadowMapSize=H.mapSize;b.spotShadowMap[l]=W;b.spotShadowMatrix[l]=
|
|
|
+u.shadow.matrix;b.spot[l]=A;l++}else if(u.isRectAreaLight)A=a.get(u),A.color.copy(H).multiplyScalar(G),A.position.setFromMatrixPosition(u.matrixWorld),A.position.applyMatrix4(h),e.identity(),d.copy(u.matrixWorld),d.premultiply(h),e.extractRotation(d),A.halfWidth.set(.5*u.width,0,0),A.halfHeight.set(0,.5*u.height,0),A.halfWidth.applyMatrix4(e),A.halfHeight.applyMatrix4(e),b.rectArea[t]=A,t++;else if(u.isPointLight){A=a.get(u);A.position.setFromMatrixPosition(u.matrixWorld);A.position.applyMatrix4(h);
|
|
|
+A.color.copy(u.color).multiplyScalar(u.intensity);A.distance=u.distance;A.decay=u.decay;if(A.shadow=u.castShadow)H=u.shadow,A.shadowBias=H.bias,A.shadowRadius=H.radius,A.shadowMapSize=H.mapSize,A.shadowCameraNear=H.camera.near,A.shadowCameraFar=H.camera.far;b.pointShadowMap[r]=W;b.pointShadowMatrix[r]=u.shadow.matrix;b.point[r]=A;r++}else u.isHemisphereLight&&(A=a.get(u),A.direction.setFromMatrixPosition(u.matrixWorld),A.direction.transformDirection(h),A.direction.normalize(),A.skyColor.copy(u.color).multiplyScalar(G),
|
|
|
+A.groundColor.copy(u.groundColor).multiplyScalar(G),b.hemi[v]=A,v++)}b.ambient[0]=k;b.ambient[1]=m;b.ambient[2]=q;b.directional.length=p;b.spot.length=l;b.rectArea.length=t;b.point.length=r;b.hemi.length=v;b.hash.stateID=b.id;b.hash.directionalLength=p;b.hash.pointLength=r;b.hash.spotLength=l;b.hash.rectAreaLength=t;b.hash.hemiLength=v;b.hash.shadowsLength=g.length},state:b}}function df(){var a=new Og,b=[],c=[];return{init:function(){b.length=0;c.length=0},state:{lightsArray:b,shadowsArray:c,lights:a},
|
|
|
+setupLights:function(d){a.setup(b,c,d)},pushLight:function(a){b.push(a)},pushShadow:function(a){c.push(a)}}}function Qg(){var a={};return{get:function(b,c){if(void 0===a[b.id]){var d=new df;a[b.id]={};a[b.id][c.id]=d}else void 0===a[b.id][c.id]?(d=new df,a[b.id][c.id]=d):d=a[b.id][c.id];return d},dispose:function(){a={}}}}function db(a){L.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 eb(a){L.call(this);this.type="MeshDistanceMaterial";this.referencePosition=new n;this.nearDistance=1;this.farDistance=1E3;this.morphTargets=this.skinning=!1;this.displacementMap=this.alphaMap=this.map=null;this.displacementScale=1;this.displacementBias=0;this.lights=this.fog=!1;this.setValues(a)}function ef(a,b,c){function d(b,c,d,e,f,g){var h=b.geometry;var k=p;var m=b.customDepthMaterial;
|
|
|
+d&&(k=r,m=b.customDistanceMaterial);m?k=m:(m=!1,c.morphTargets&&(h&&h.isBufferGeometry?m=h.morphAttributes&&h.morphAttributes.position&&0<h.morphAttributes.position.length:h&&h.isGeometry&&(m=h.morphTargets&&0<h.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,h=0,m&&(h|=1),b&&(h|=2),k=k[h]);a.localClippingEnabled&&!0===c.clipShadows&&0!==c.clippingPlanes.length&&(h=
|
|
|
+k.uuid,m=c.uuid,b=l[h],void 0===b&&(b={},l[h]=b),h=b[m],void 0===h&&(h=k.clone(),b[m]=h),k=h);k.visible=c.visible;k.wireframe=c.wireframe;k.side=null!=c.shadowSide?c.shadowSide:t[c.side];k.clipShadows=c.clipShadows;k.clippingPlanes=c.clippingPlanes;k.clipIntersection=c.clipIntersection;k.wireframeLinewidth=c.wireframeLinewidth;k.linewidth=c.linewidth;d&&k.isMeshDistanceMaterial&&(k.referencePosition.copy(e),k.nearDistance=f,k.farDistance=g);return k}function e(c,g,h,k){if(!1!==c.visible){if(c.layers.test(g.layers)&&
|
|
|
+(c.isMesh||c.isLine||c.isPoints)&&c.castShadow&&(!c.frustumCulled||f.intersectsObject(c))){c.modelViewMatrix.multiplyMatrices(h.matrixWorldInverse,c.matrixWorld);var m=b.update(c),p=c.material;if(Array.isArray(p))for(var r=m.groups,l=0,t=r.length;l<t;l++){var x=r[l],W=p[x.materialIndex];W&&W.visible&&(W=d(c,W,k,q,h.near,h.far),a.renderBufferDirect(h,null,m,W,c,x))}else p.visible&&(W=d(c,p,k,q,h.near,h.far),a.renderBufferDirect(h,null,m,W,c,null))}c=c.children;m=0;for(p=c.length;m<p;m++)e(c[m],g,h,
|
|
|
+k)}}var f=new td,g=new O,h=new z,k=new z(c,c),m=new n,q=new n,p=Array(4),r=Array(4),l={},t={0:1,1:0,2:2},v=[new n(1,0,0),new n(-1,0,0),new n(0,0,1),new n(0,0,-1),new n(0,1,0),new n(0,-1,0)],w=[new n(0,1,0),new n(0,1,0),new n(0,1,0),new n(0,1,0),new n(0,0,1),new n(0,0,-1)],y=[new ca,new ca,new ca,new ca,new ca,new ca];for(c=0;4!==c;++c){var u=0!==(c&1),H=0!==(c&2),G=new db({depthPacking:3201,morphTargets:u,skinning:H});p[c]=G;u=new eb({morphTargets:u,skinning:H});r[c]=u}var N=this;this.enabled=!1;
|
|
|
+this.autoUpdate=!0;this.needsUpdate=!1;this.type=1;this.render=function(b,c,d){if(!1!==N.enabled&&(!1!==N.autoUpdate||!1!==N.needsUpdate)&&0!==b.length){var p=a.state;p.disable(3042);p.buffers.color.setClear(1,1,1,1);p.buffers.depth.setTest(!0);p.setScissorTest(!1);for(var r,l=0,t=b.length;l<t;l++){var x=b[l];r=x.shadow;var W=x&&x.isPointLight;if(void 0===r)console.warn("THREE.WebGLShadowMap:",x,"has no shadow.");else{var A=r.camera;h.copy(r.mapSize);h.min(k);if(W){var n=h.x,u=h.y;y[0].set(2*n,u,
|
|
|
+n,u);y[1].set(0,u,n,u);y[2].set(3*n,u,n,u);y[3].set(n,u,n,u);y[4].set(3*n,0,n,u);y[5].set(n,0,n,u);h.x*=4;h.y*=2}null===r.map&&(r.map=new jb(h.x,h.y,{minFilter:1003,magFilter:1003,format:1023}),r.map.texture.name=x.name+".shadowMap",A.updateProjectionMatrix());r.isSpotLightShadow&&r.update(x);n=r.map;u=r.matrix;q.setFromMatrixPosition(x.matrixWorld);A.position.copy(q);W?(r=6,u.makeTranslation(-q.x,-q.y,-q.z)):(r=1,m.setFromMatrixPosition(x.target.matrixWorld),A.lookAt(m),A.updateMatrixWorld(),u.set(.5,
|
|
|
+0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),u.multiply(A.projectionMatrix),u.multiply(A.matrixWorldInverse));a.setRenderTarget(n);a.clear();for(x=0;x<r;x++)W&&(m.copy(A.position),m.add(v[x]),A.up.copy(w[x]),A.lookAt(m),A.updateMatrixWorld(),p.viewport(y[x])),g.multiplyMatrices(A.projectionMatrix,A.matrixWorldInverse),f.setFromMatrix(g),e(c,d,A,W)}}N.needsUpdate=!1}}}function Rg(a,b,c,d){function e(b,c,d){var e=new Uint8Array(4),f=a.createTexture();a.bindTexture(b,f);a.texParameteri(b,10241,9728);a.texParameteri(b,
|
|
|
+10240,9728);for(b=0;b<d;b++)a.texImage2D(c+b,0,6408,1,1,0,6408,5121,e);return f}function f(c,e){y[c]=1;0===u[c]&&(a.enableVertexAttribArray(c),u[c]=1);H[c]!==e&&((d.isWebGL2?a:b.get("ANGLE_instanced_arrays"))[d.isWebGL2?"vertexAttribDivisor":"vertexAttribDivisorANGLE"](c,e),H[c]=e)}function g(b){!0!==G[b]&&(a.enable(b),G[b]=!0)}function h(b){!1!==G[b]&&(a.disable(b),G[b]=!1)}function k(b,d,e,f,k,m,p,q){if(0===b)A&&(h(3042),A=!1);else if(A||(g(3042),A=!0),5!==b){if(b!==Mb||q!==F){if(100!==z||100!==
|
|
|
+B)a.blendEquation(32774),B=z=100;if(q)switch(b){case 1:a.blendFuncSeparate(1,771,1,771);break;case 2:a.blendFunc(1,1);break;case 3:a.blendFuncSeparate(0,0,769,771);break;case 4:a.blendFuncSeparate(0,768,0,770);break;default:console.error("THREE.WebGLState: Invalid blending: ",b)}else switch(b){case 1:a.blendFuncSeparate(770,771,1,771);break;case 2:a.blendFunc(770,1);break;case 3:a.blendFunc(0,769);break;case 4:a.blendFunc(0,768);break;default:console.error("THREE.WebGLState: Invalid blending: ",b)}D=
|
|
|
+C=Y=Yd=null;Mb=b;F=q}}else{k=k||d;m=m||e;p=p||f;if(d!==z||k!==B)a.blendEquationSeparate(c.convert(d),c.convert(k)),z=d,B=k;if(e!==Yd||f!==Y||m!==C||p!==D)a.blendFuncSeparate(c.convert(e),c.convert(f),c.convert(m),c.convert(p)),Yd=e,Y=f,C=m,D=p;Mb=b;F=null}}function m(b){J!==b&&(b?a.frontFace(2304):a.frontFace(2305),J=b)}function q(b){0!==b?(g(2884),b!==K&&(1===b?a.cullFace(1029):2===b?a.cullFace(1028):a.cullFace(1032))):h(2884);K=b}function p(b,c,d){if(b){if(g(32823),Q!==c||L!==d)a.polygonOffset(c,
|
|
|
+d),Q=c,L=d}else h(32823)}function r(b){void 0===b&&(b=33984+R-1);I!==b&&(a.activeTexture(b),I=b)}var l=new function(){var b=!1,c=new ca,d=null,e=new ca(0,0,0,0);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(-1,0,0,0)}}},t=new function(){var b=!1,c=null,d=null,e=null;return{setTest:function(a){a?g(2929):
|
|
|
+h(2929)},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(512);break;case 1:a.depthFunc(519);break;case 2:a.depthFunc(513);break;case 3:a.depthFunc(515);break;case 4:a.depthFunc(514);break;case 5:a.depthFunc(518);break;case 6:a.depthFunc(516);break;case 7:a.depthFunc(517);break;default:a.depthFunc(515)}else a.depthFunc(515);d=b}},setLocked:function(a){b=a},setClear:function(b){e!==b&&(a.clearDepth(b),e=b)},reset:function(){b=!1;e=
|
|
|
+d=c=null}}},v=new function(){var b=!1,c=null,d=null,e=null,f=null,k=null,m=null,p=null,q=null;return{setTest:function(a){a?g(2960):h(2960)},setMask:function(d){c===d||b||(a.stencilMask(d),c=d)},setFunc:function(b,c,g){if(d!==b||e!==c||f!==g)a.stencilFunc(b,c,g),d=b,e=c,f=g},setOp:function(b,c,d){if(k!==b||m!==c||p!==d)a.stencilOp(b,c,d),k=b,m=c,p=d},setLocked:function(a){b=a},setClear:function(b){q!==b&&(a.clearStencil(b),q=b)},reset:function(){b=!1;q=p=m=k=f=e=d=c=null}}},n=a.getParameter(34921),
|
|
|
+y=new Uint8Array(n),u=new Uint8Array(n),H=new Uint8Array(n),G={},N=null,W=null,A=null,Mb=null,z=null,Yd=null,Y=null,B=null,C=null,D=null,F=!1,J=null,K=null,O=null,Q=null,L=null,R=a.getParameter(35661),E=!1;n=0;n=a.getParameter(7938);-1!==n.indexOf("WebGL")?(n=parseFloat(/^WebGL ([0-9])/.exec(n)[1]),E=1<=n):-1!==n.indexOf("OpenGL ES")&&(n=parseFloat(/^OpenGL ES ([0-9])/.exec(n)[1]),E=2<=n);var I=null,T={},X=new ca,M=new ca,U={};U[3553]=e(3553,3553,1);U[34067]=e(34067,34069,6);l.setClear(0,0,0,1);t.setClear(1);
|
|
|
+v.setClear(0);g(2929);t.setFunc(3);m(!1);q(1);g(2884);k(0);return{buffers:{color:l,depth:t,stencil:v},initAttributes:function(){for(var a=0,b=y.length;a<b;a++)y[a]=0},enableAttribute:function(a){f(a,0)},enableAttributeAndDivisor:f,disableUnusedAttributes:function(){for(var b=0,c=u.length;b!==c;++b)u[b]!==y[b]&&(a.disableVertexAttribArray(b),u[b]=0)},enable:g,disable:h,getCompressedTextureFormats:function(){if(null===N&&(N=[],b.get("WEBGL_compressed_texture_pvrtc")||b.get("WEBGL_compressed_texture_s3tc")||
|
|
|
+b.get("WEBGL_compressed_texture_etc1")||b.get("WEBGL_compressed_texture_astc")))for(var c=a.getParameter(34467),d=0;d<c.length;d++)N.push(c[d]);return N},useProgram:function(b){return W!==b?(a.useProgram(b),W=b,!0):!1},setBlending:k,setMaterial:function(a,b){2===a.side?h(2884):g(2884);var c=1===a.side;b&&(c=!c);m(c);1===a.blending&&!1===a.transparent?k(0):k(a.blending,a.blendEquation,a.blendSrc,a.blendDst,a.blendEquationAlpha,a.blendSrcAlpha,a.blendDstAlpha,a.premultipliedAlpha);t.setFunc(a.depthFunc);
|
|
|
+t.setTest(a.depthTest);t.setMask(a.depthWrite);l.setMask(a.colorWrite);p(a.polygonOffset,a.polygonOffsetFactor,a.polygonOffsetUnits)},setFlipSided:m,setCullFace:q,setLineWidth:function(b){b!==O&&(E&&a.lineWidth(b),O=b)},setPolygonOffset:p,setScissorTest:function(a){a?g(3089):h(3089)},activeTexture:r,bindTexture:function(b,c){null===I&&r();var d=T[I];void 0===d&&(d={type:void 0,texture:void 0},T[I]=d);if(d.type!==b||d.texture!==c)a.bindTexture(b,c||U[b]),d.type=b,d.texture=c},compressedTexImage2D:function(){try{a.compressedTexImage2D.apply(a,
|
|
|
+arguments)}catch(fa){console.error("THREE.WebGLState:",fa)}},texImage2D:function(){try{a.texImage2D.apply(a,arguments)}catch(fa){console.error("THREE.WebGLState:",fa)}},texImage3D:function(){try{a.texImage3D.apply(a,arguments)}catch(fa){console.error("THREE.WebGLState:",fa)}},scissor:function(b){!1===X.equals(b)&&(a.scissor(b.x,b.y,b.z,b.w),X.copy(b))},viewport:function(b){!1===M.equals(b)&&(a.viewport(b.x,b.y,b.z,b.w),M.copy(b))},reset:function(){for(var b=0;b<u.length;b++)1===u[b]&&(a.disableVertexAttribArray(b),
|
|
|
+u[b]=0);G={};I=N=null;T={};K=J=Mb=W=null;l.reset();t.reset();v.reset()}}}function Sg(a,b,c,d,e,f,g){function h(a,b){if(a.width>b||a.height>b){if("data"in a){console.warn("THREE.WebGLRenderer: image in DataTexture is too big ("+a.width+"x"+a.height+").");return}b/=Math.max(a.width,a.height);var c=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");c.width=Math.floor(a.width*b);c.height=Math.floor(a.height*b);c.getContext("2d").drawImage(a,0,0,a.width,a.height,0,0,c.width,c.height);console.warn("THREE.WebGLRenderer: image is too big ("+
|
|
|
+a.width+"x"+a.height+"). Resized to "+c.width+"x"+c.height);return c}return a}function k(a){return R.isPowerOfTwo(a.width)&&R.isPowerOfTwo(a.height)}function m(a,b){return a.generateMipmaps&&b&&1003!==a.minFilter&&1006!==a.minFilter}function q(b,c,e,f){a.generateMipmap(b);d.get(c).__maxMipLevel=Math.log(Math.max(e,f))*Math.LOG2E}function p(a,b){if(!e.isWebGL2)return a;if(6403===a){if(5126===b)return 33326;if(5131===b)return 33325;if(5121===b)return 33321}if(6407===a){if(5126===b)return 34837;if(5131===
|
|
|
+b)return 34843;if(5121===b)return 32849}if(6408===a){if(5126===b)return 34836;if(5131===b)return 34842;if(5121===b)return 32856}return a}function r(a){return 1003===a||1004===a||1005===a?9728:9729}function l(b){b=b.target;b.removeEventListener("dispose",l);a:{var c=d.get(b);if(b.image&&c.__image__webglTextureCube)a.deleteTexture(c.__image__webglTextureCube);else{if(void 0===c.__webglInit)break a;a.deleteTexture(c.__webglTexture)}d.remove(b)}b.isVideoTexture&&delete G[b.id];g.memory.textures--}function t(b){b=
|
|
|
+b.target;b.removeEventListener("dispose",t);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.memory.textures--}
|
|
|
+function v(a,b){var e=d.get(a);if(a.isVideoTexture){var f=a.id,h=g.render.frame;G[f]!==h&&(G[f]=h,a.update())}if(0<a.version&&e.__version!==a.version)if(f=a.image,void 0===f)console.warn("THREE.WebGLRenderer: Texture marked for update but image is undefined");else if(!1===f.complete)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{y(e,a,b);return}c.activeTexture(33984+b);c.bindTexture(3553,e.__webglTexture)}function n(c,g,h){h?(a.texParameteri(c,10242,f.convert(g.wrapS)),
|
|
|
+a.texParameteri(c,10243,f.convert(g.wrapT)),a.texParameteri(c,10240,f.convert(g.magFilter)),a.texParameteri(c,10241,f.convert(g.minFilter))):(a.texParameteri(c,10242,33071),a.texParameteri(c,10243,33071),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."),a.texParameteri(c,10240,r(g.magFilter)),a.texParameteri(c,10241,r(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."));
|
|
|
!(h=b.get("EXT_texture_filter_anisotropic"))||1015===g.type&&null===b.get("OES_texture_float_linear")||1016===g.type&&null===(e.isWebGL2||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 y(b,d,r){var x=d.isDataTexture3D?32879:3553;void 0===b.__webglInit&&(b.__webglInit=!0,d.addEventListener("dispose",l),b.__webglTexture=
|
|
|
a.createTexture(),g.memory.textures++);c.activeTexture(33984+r);c.bindTexture(x,b.__webglTexture);a.pixelStorei(37440,d.flipY);a.pixelStorei(37441,d.premultiplyAlpha);a.pixelStorei(3317,d.unpackAlignment);r=h(d.image,e.maxTextureSize);var t=e.isWebGL2?!1:1001!==d.wrapS||1001!==d.wrapT||1003!==d.minFilter&&1006!==d.minFilter;t&&!1===k(r)&&(r instanceof HTMLImageElement||r instanceof HTMLCanvasElement||r instanceof ImageBitmap)&&(void 0===N&&(N=document.createElementNS("http://www.w3.org/1999/xhtml",
|
|
|
"canvas")),N.width=R.floorPowerOfTwo(r.width),N.height=R.floorPowerOfTwo(r.height),N.getContext("2d").drawImage(r,0,0,N.width,N.height),console.warn("THREE.WebGLRenderer: image is not power of two ("+r.width+"x"+r.height+"). Resized to "+N.width+"x"+N.height),r=N);t=k(r);var v=f.convert(d.format),w=f.convert(d.type),u=p(v,w);n(x,d,t);var W=d.mipmaps;if(d.isDepthTexture){u=6402;if(1015===d.type){if(!e.isWebGL2)throw Error("Float Depth Texture only supported in WebGL2.0");u=36012}else e.isWebGL2&&(u=
|
|
@@ -777,21 +777,21 @@ a.name&&(f.name=a.name);void 0!==a.matrix?(f.matrix.fromArray(a.matrix),void 0!=
|
|
|
void 0!==a.layers&&(f.layers.mask=a.layers);if(void 0!==a.children){g=a.children;for(var h=0;h<g.length;h++)f.add(this.parseObject(g[h],b,c))}if("LOD"===a.type)for(a=a.levels,g=0;g<a.length;g++){h=a[g];var k=f.getObjectByProperty("uuid",h.object);void 0!==k&&f.addLevel(k,h.distance)}return f}});var eh={UVMapping:300,CubeReflectionMapping:301,CubeRefractionMapping:302,EquirectangularReflectionMapping:303,EquirectangularRefractionMapping:304,SphericalReflectionMapping:305,CubeUVReflectionMapping:306,
|
|
|
CubeUVRefractionMapping:307},Kf={RepeatWrapping:1E3,ClampToEdgeWrapping:1001,MirroredRepeatWrapping:1002},Lf={NearestFilter:1003,NearestMipMapNearestFilter:1004,NearestMipMapLinearFilter:1005,LinearFilter:1006,LinearMipMapNearestFilter:1007,LinearMipMapLinearFilter:1008};me.prototype={constructor:me,setOptions:function(a){this.options=a;return this},load:function(a,b,c,d){void 0===a&&(a="");void 0!==this.path&&(a=this.path+a);a=this.manager.resolveURL(a);var e=this,f=Hb.get(a);if(void 0!==f)return e.manager.itemStart(a),
|
|
|
setTimeout(function(){b&&b(f);e.manager.itemEnd(a)},0),f;fetch(a).then(function(a){return a.blob()}).then(function(a){return createImageBitmap(a,e.options)}).then(function(c){Hb.add(a,c);b&&b(c);e.manager.itemEnd(a)}).catch(function(b){d&&d(b);e.manager.itemError(a);e.manager.itemEnd(a)})},setCrossOrigin:function(){return this},setPath:function(a){this.path=a;return this}};Object.assign(ne.prototype,{moveTo:function(a,b){this.currentPath=new Na;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 hb;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);b=[];if(1===f.length){var g=f[0];var h=new hb;h.curves=g.curves;b.push(h);return b}var k=!e(f[0].getPoints());k=a?!k:k;h=[];var m=[],l=[],p=0;m[p]=void 0;l[p]=[];for(var n=
|
|
|
+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 hb;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,l=h.y-g.y;if(Math.abs(l)>
|
|
|
+Number.EPSILON){if(0>l&&(g=b[f],k=-k,h=b[e],l=-l),!(a.y<g.y||a.y>h.y))if(a.y===g.y){if(a.x===g.x)return!0}else{e=l*(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);b=[];if(1===f.length){var g=f[0];var h=new hb;h.curves=g.curves;b.push(h);return b}var k=!e(f[0].getPoints());k=a?!k:k;h=[];var m=[],l=[],p=0;m[p]=void 0;l[p]=[];for(var n=
|
|
|
0,x=f.length;n<x;n++){g=f[n];var t=g.getPoints();var v=e(t);(v=a?!v:v)?(!k&&m[p]&&p++,m[p]={s:new hb,p:t},m[p].s.curves=g.curves,k&&p++,l[p]=[]):l[p].push({h:g,p:t[0]})}if(!m[0])return c(f);if(1<m.length){n=!1;a=[];e=0;for(f=m.length;e<f;e++)h[e]=[];e=0;for(f=m.length;e<f;e++)for(g=l[e],v=0;v<g.length;v++){k=g[v];p=!0;for(t=0;t<m.length;t++)d(k.p,m[t].p)&&(e!==t&&a.push({froms:e,tos:t,hole:v}),p?(p=!1,h[t].push(k)):n=!0);p&&h[e].push(k)}0<a.length&&(n||(l=h))}n=0;for(e=m.length;n<e;n++)for(h=m[n].s,
|
|
|
-b.push(h),a=l[n],f=0,g=a.length;f<g;f++)h.holes.push(a[f].h);return b}});Object.assign(oe.prototype,{isFont:!0,generateShapes:function(a,b){void 0===b&&(b=100);var c=[],d=b;b=this.data;var e=Array.from?Array.from(a):String(a).split("");d/=b.resolution;var f=(b.boundingBox.yMax-b.boundingBox.yMin+b.underlineThickness)*d;a=[];for(var g=0,h=0,k=0;k<e.length;k++){var m=e[k];if("\n"===m)g=0,h-=f;else{var l=d;var p=g,n=h;if(m=b.glyphs[m]||b.glyphs["?"]){var x=new ne;if(m.o)for(var t=m._cachedOutline||(m._cachedOutline=
|
|
|
-m.o.split(" ")),v=0,w=t.length;v<w;)switch(t[v++]){case "m":var y=t[v++]*l+p;var u=t[v++]*l+n;x.moveTo(y,u);break;case "l":y=t[v++]*l+p;u=t[v++]*l+n;x.lineTo(y,u);break;case "q":var z=t[v++]*l+p;var B=t[v++]*l+n;var C=t[v++]*l+p;var D=t[v++]*l+n;x.quadraticCurveTo(C,D,z,B);break;case "b":z=t[v++]*l+p,B=t[v++]*l+n,C=t[v++]*l+p,D=t[v++]*l+n,y=t[v++]*l+p,u=t[v++]*l+n,x.bezierCurveTo(C,D,y,u,z,B)}l={offsetX:m.ha*l,path:x}}else l=void 0;g+=l.offsetX;a.push(l.path)}}b=0;for(e=a.length;b<e;b++)Array.prototype.push.apply(c,
|
|
|
+b.push(h),a=l[n],f=0,g=a.length;f<g;f++)h.holes.push(a[f].h);return b}});Object.assign(oe.prototype,{isFont:!0,generateShapes:function(a,b){void 0===b&&(b=100);var c=[],d=b;b=this.data;var e=Array.from?Array.from(a):String(a).split("");d/=b.resolution;var f=(b.boundingBox.yMax-b.boundingBox.yMin+b.underlineThickness)*d;a=[];for(var g=0,h=0,k=0;k<e.length;k++){var l=e[k];if("\n"===l)g=0,h-=f;else{var q=d;var p=g,n=h;if(l=b.glyphs[l]||b.glyphs["?"]){var x=new ne;if(l.o)for(var t=l._cachedOutline||(l._cachedOutline=
|
|
|
+l.o.split(" ")),v=0,w=t.length;v<w;)switch(t[v++]){case "m":var y=t[v++]*q+p;var u=t[v++]*q+n;x.moveTo(y,u);break;case "l":y=t[v++]*q+p;u=t[v++]*q+n;x.lineTo(y,u);break;case "q":var z=t[v++]*q+p;var B=t[v++]*q+n;var C=t[v++]*q+p;var D=t[v++]*q+n;x.quadraticCurveTo(C,D,z,B);break;case "b":z=t[v++]*q+p,B=t[v++]*q+n,C=t[v++]*q+p,D=t[v++]*q+n,y=t[v++]*q+p,u=t[v++]*q+n,x.bezierCurveTo(C,D,y,u,z,B)}q={offsetX:l.ha*q,path:x}}else q=void 0;g+=q.offsetX;a.push(q.path)}}b=0;for(e=a.length;b<e;b++)Array.prototype.push.apply(c,
|
|
|
a[b].toShapes());return c}});Object.assign(wf.prototype,{load:function(a,b,c,d){var e=this,f=new Ia(this.manager);f.setPath(this.path);f.load(a,function(a){try{var c=JSON.parse(a)}catch(k){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 oe(a)},setPath:function(a){this.path=a;return this}});jd.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(jd.prototype,{crossOrigin:"anonymous",onLoadStart:function(){},onLoadProgress:function(){},onLoadComplete:function(){},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 J,c=new Hd,d=new Qd;return function(e,f,g){function h(a,b,d,e,h){a=f+a;var l=jd.Handlers.get(a);null!==l?a=l.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=R.generateUUID();k[b]=a;return b}var k={},l={uuid:R.generateUUID(),
|
|
|
-type:"MeshLambertMaterial"},n;for(n in e){var p=e[n];switch(n){case "DbgColor":case "DbgIndex":case "opticalDensity":case "illumination":break;case "DbgName":l.name=p;break;case "blending":l.blending=a[p];break;case "colorAmbient":case "mapAmbient":console.warn("THREE.Loader.createMaterial:",n,"is no longer supported.");break;case "colorDiffuse":l.color=b.fromArray(p).getHex();break;case "colorSpecular":l.specular=b.fromArray(p).getHex();break;case "colorEmissive":l.emissive=b.fromArray(p).getHex();
|
|
|
+type:"MeshLambertMaterial"},q;for(q in e){var p=e[q];switch(q){case "DbgColor":case "DbgIndex":case "opticalDensity":case "illumination":break;case "DbgName":l.name=p;break;case "blending":l.blending=a[p];break;case "colorAmbient":case "mapAmbient":console.warn("THREE.Loader.createMaterial:",q,"is no longer supported.");break;case "colorDiffuse":l.color=b.fromArray(p).getHex();break;case "colorSpecular":l.specular=b.fromArray(p).getHex();break;case "colorEmissive":l.emissive=b.fromArray(p).getHex();
|
|
|
break;case "specularCoef":l.shininess=p;break;case "shading":"basic"===p.toLowerCase()&&(l.type="MeshBasicMaterial");"phong"===p.toLowerCase()&&(l.type="MeshPhongMaterial");"standard"===p.toLowerCase()&&(l.type="MeshStandardMaterial");break;case "mapDiffuse":l.map=h(p,e.mapDiffuseRepeat,e.mapDiffuseOffset,e.mapDiffuseWrap,e.mapDiffuseAnisotropy);break;case "mapDiffuseRepeat":case "mapDiffuseOffset":case "mapDiffuseWrap":case "mapDiffuseAnisotropy":break;case "mapEmissive":l.emissiveMap=h(p,e.mapEmissiveRepeat,
|
|
|
e.mapEmissiveOffset,e.mapEmissiveWrap,e.mapEmissiveAnisotropy);break;case "mapEmissiveRepeat":case "mapEmissiveOffset":case "mapEmissiveWrap":case "mapEmissiveAnisotropy":break;case "mapLight":l.lightMap=h(p,e.mapLightRepeat,e.mapLightOffset,e.mapLightWrap,e.mapLightAnisotropy);break;case "mapLightRepeat":case "mapLightOffset":case "mapLightWrap":case "mapLightAnisotropy":break;case "mapAO":l.aoMap=h(p,e.mapAORepeat,e.mapAOOffset,e.mapAOWrap,e.mapAOAnisotropy);break;case "mapAORepeat":case "mapAOOffset":case "mapAOWrap":case "mapAOAnisotropy":break;
|
|
|
case "mapBump":l.bumpMap=h(p,e.mapBumpRepeat,e.mapBumpOffset,e.mapBumpWrap,e.mapBumpAnisotropy);break;case "mapBumpScale":l.bumpScale=p;break;case "mapBumpRepeat":case "mapBumpOffset":case "mapBumpWrap":case "mapBumpAnisotropy":break;case "mapNormal":l.normalMap=h(p,e.mapNormalRepeat,e.mapNormalOffset,e.mapNormalWrap,e.mapNormalAnisotropy);break;case "mapNormalFactor":l.normalScale=p;break;case "mapNormalRepeat":case "mapNormalOffset":case "mapNormalWrap":case "mapNormalAnisotropy":break;case "mapSpecular":l.specularMap=
|
|
|
h(p,e.mapSpecularRepeat,e.mapSpecularOffset,e.mapSpecularWrap,e.mapSpecularAnisotropy);break;case "mapSpecularRepeat":case "mapSpecularOffset":case "mapSpecularWrap":case "mapSpecularAnisotropy":break;case "mapMetalness":l.metalnessMap=h(p,e.mapMetalnessRepeat,e.mapMetalnessOffset,e.mapMetalnessWrap,e.mapMetalnessAnisotropy);break;case "mapMetalnessRepeat":case "mapMetalnessOffset":case "mapMetalnessWrap":case "mapMetalnessAnisotropy":break;case "mapRoughness":l.roughnessMap=h(p,e.mapRoughnessRepeat,
|
|
|
e.mapRoughnessOffset,e.mapRoughnessWrap,e.mapRoughnessAnisotropy);break;case "mapRoughnessRepeat":case "mapRoughnessOffset":case "mapRoughnessWrap":case "mapRoughnessAnisotropy":break;case "mapAlpha":l.alphaMap=h(p,e.mapAlphaRepeat,e.mapAlphaOffset,e.mapAlphaWrap,e.mapAlphaAnisotropy);break;case "mapAlphaRepeat":case "mapAlphaOffset":case "mapAlphaWrap":case "mapAlphaAnisotropy":break;case "flipSided":l.side=1;break;case "doubleSided":l.side=2;break;case "transparency":console.warn("THREE.Loader.createMaterial: transparency has been renamed to opacity");
|
|
|
-l.opacity=p;break;case "depthTest":case "depthWrite":case "colorWrite":case "opacity":case "reflectivity":case "transparent":case "visible":case "wireframe":l[n]=p;break;case "vertexColors":!0===p&&(l.vertexColors=2);"face"===p&&(l.vertexColors=1);break;default:console.error("THREE.Loader.createMaterial: Unsupported",n,p)}}"MeshBasicMaterial"===l.type&&delete l.emissive;"MeshPhongMaterial"!==l.type&&delete l.specular;1>l.opacity&&(l.transparent=!0);d.setTextures(k);return d.parse(l)}}()});var Vd,
|
|
|
+l.opacity=p;break;case "depthTest":case "depthWrite":case "colorWrite":case "opacity":case "reflectivity":case "transparent":case "visible":case "wireframe":l[q]=p;break;case "vertexColors":!0===p&&(l.vertexColors=2);"face"===p&&(l.vertexColors=1);break;default:console.error("THREE.Loader.createMaterial: Unsupported",q,p)}}"MeshBasicMaterial"===l.type&&delete l.emissive;"MeshPhongMaterial"!==l.type&&delete l.specular;1>l.opacity&&(l.transparent=!0);d.setTextures(k);return d.parse(l)}}()});var Vd,
|
|
|
se={getContext:function(){void 0===Vd&&(Vd=new (window.AudioContext||window.webkitAudioContext));return Vd},setContext:function(a){Vd=a}};Object.assign(pe.prototype,{load:function(a,b,c,d){var e=new Ia(this.manager);e.setResponseType("arraybuffer");e.setPath(this.path);e.load(a,function(a){a=a.slice(0);se.getContext().decodeAudioData(a,function(a){b(a)})},c,d)},setPath:function(a){this.path=a;return this}});Object.assign(xf.prototype,{update:function(){var a,b,c,d,e,f,g,h,k=new O,l=new O;return function(m){if(a!==
|
|
|
this||b!==m.focus||c!==m.fov||d!==m.aspect*this.aspect||e!==m.near||f!==m.far||g!==m.zoom||h!==this.eyeSep){a=this;b=m.focus;c=m.fov;d=m.aspect*this.aspect;e=m.near;f=m.far;g=m.zoom;var p=m.projectionMatrix.clone();h=this.eyeSep/2;var n=h*e/b,q=e*Math.tan(R.DEG2RAD*c*.5)/g;l.elements[12]=-h;k.elements[12]=h;var t=-q*d+n;var v=q*d+n;p.elements[0]=2*e/(v-t);p.elements[8]=(v+t)/(v-t);this.cameraL.projectionMatrix.copy(p);t=-q*d-n;v=q*d-n;p.elements[0]=2*e/(v-t);p.elements[8]=(v+t)/(v-t);this.cameraR.projectionMatrix.copy(p)}this.cameraL.matrixWorld.copy(m.matrixWorld).multiply(l);
|
|
|
this.cameraR.matrixWorld.copy(m.matrixWorld).multiply(k)}}()});kd.prototype=Object.create(C.prototype);kd.prototype.constructor=kd;Object.assign(qe.prototype,{start:function(){this.oldTime=this.startTime=("undefined"===typeof performance?Date:performance).now();this.elapsedTime=0;this.running=!0},stop:function(){this.getElapsedTime();this.autoStart=this.running=!1},getElapsedTime:function(){this.getDelta();return this.elapsedTime},getDelta:function(){var a=0;if(this.autoStart&&!this.running)return this.start(),
|