|
@@ -124,10 +124,10 @@ a=u;c.localClippingEnabled&&!0===f.clipShadows&&0!==f.clippingPlanes.length&&(u=
|
|
|
!0===a.isMeshDistanceMaterial&&(a.referencePosition.setFromMatrixPosition(g.matrixWorld),a.nearDistance=h,a.farDistance=l);return a}function g(b,d,e,l,n){if(!1!==b.visible){if(b.layers.test(d.layers)&&(b.isMesh||b.isLine||b.isPoints)&&(b.castShadow||b.receiveShadow&&3===n)&&(!b.frustumCulled||h.intersectsObject(b))){b.modelViewMatrix.multiplyMatrices(e.matrixWorldInverse,b.matrixWorld);var r=a.update(b),u=b.material;if(Array.isArray(u))for(var k=r.groups,q=0,m=k.length;q<m;q++){var t=k[q],v=u[t.materialIndex];
|
|
|
v&&v.visible&&(v=f(b,r,v,l,e.near,e.far,n),c.renderBufferDirect(e,null,r,v,b,t))}else u.visible&&(u=f(b,r,u,l,e.near,e.far,n),c.renderBufferDirect(e,null,r,u,b,null))}b=b.children;r=0;for(u=b.length;r<u;r++)g(b[r],d,e,l,n)}}var h=new Ma,l=new p,n=new p,r=new B,u=[],k=[],m={},t={0:1,1:0,2:2},w=new Aa({defines:{SAMPLE_RATE:.25,HALF_SAMPLE_RATE:.125},uniforms:{shadow_pass:{value:null},resolution:{value:new p},radius:{value:4}},vertexShader:"void main() {\n\tgl_Position = vec4( position, 1.0 );\n}",fragmentShader:"uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\n#include <packing>\nvoid main() {\n\tfloat mean = 0.0;\n\tfloat squared_mean = 0.0;\n\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy ) / resolution ) );\n\tfor ( float i = -1.0; i < 1.0 ; i += SAMPLE_RATE) {\n\t\t#ifdef HORIZONAL_PASS\n\t\t\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( i, 0.0 ) * radius ) / resolution ) );\n\t\t\tmean += distribution.x;\n\t\t\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n\t\t#else\n\t\t\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, i ) * radius ) / resolution ) );\n\t\t\tmean += depth;\n\t\t\tsquared_mean += depth * depth;\n\t\t#endif\n\t}\n\tmean = mean * HALF_SAMPLE_RATE;\n\tsquared_mean = squared_mean * HALF_SAMPLE_RATE;\n\tfloat std_dev = sqrt( squared_mean - mean * mean );\n\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}"}),
|
|
|
C=w.clone();C.defines.HORIZONAL_PASS=1;var y=new G;y.setAttribute("position",new M(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));var E=new na(y,w),D=this;this.enabled=!1;this.autoUpdate=!0;this.needsUpdate=!1;this.type=1;this.render=function(d,e,f){if(!1!==D.enabled&&(!1!==D.autoUpdate||!1!==D.needsUpdate)&&0!==d.length){var u=c.getRenderTarget(),k=c.getActiveCubeFace(),q=c.getActiveMipmapLevel(),m=c.state;m.setBlending(0);m.buffers.color.setClear(1,1,1,1);m.buffers.depth.setTest(!0);m.setScissorTest(!1);
|
|
|
-for(var t=0,v=d.length;t<v;t++){var y=d[t],p=y.shadow;if(!1!==p.autoUpdate||!1!==p.needsUpdate)if(void 0===p)console.warn("THREE.WebGLShadowMap:",y,"has no shadow.");else{l.copy(p.mapSize);var A=p.getFrameExtents();l.multiply(A);n.copy(p.mapSize);if(l.x>b||l.y>b)l.x>b&&(n.x=Math.floor(b/A.x),l.x=n.x*A.x,p.mapSize.x=n.x),l.y>b&&(n.y=Math.floor(b/A.y),l.y=n.y*A.y,p.mapSize.y=n.y);null!==p.map||p.isPointLightShadow||3!==this.type||(A={minFilter:1006,magFilter:1006,format:1023,stencilBuffer:!1},p.map=
|
|
|
-new Sa(l.x,l.y,A),p.map.texture.name=y.name+".shadowMap",p.mapPass=new Sa(l.x,l.y,A),p.camera.updateProjectionMatrix());null===p.map&&(p.map=new Sa(l.x,l.y,{minFilter:1003,magFilter:1003,format:1023,stencilBuffer:!1}),p.map.texture.name=y.name+".shadowMap",p.camera.updateProjectionMatrix());c.setRenderTarget(p.map);c.clear();A=p.getViewportCount();for(var x=0;x<A;x++){var H=p.getViewport(x);r.set(n.x*H.x,n.y*H.y,n.x*H.z,n.y*H.w);m.viewport(r);p.updateMatrices(y,x);h=p.getFrustum();g(e,f,p.camera,
|
|
|
-y,this.type)}p.isPointLightShadow||3!==this.type||(y=p,A=f,x=a.update(E),w.uniforms.shadow_pass.value=y.map.texture,w.uniforms.resolution.value=y.mapSize,w.uniforms.radius.value=y.radius,c.setRenderTarget(y.mapPass),c.clear(),c.renderBufferDirect(A,null,x,w,E,null),C.uniforms.shadow_pass.value=y.mapPass.texture,C.uniforms.resolution.value=y.mapSize,C.uniforms.radius.value=y.radius,c.setRenderTarget(y.map),c.clear(),c.renderBufferDirect(A,null,x,C,E,null));p.needsUpdate=!1}}D.needsUpdate=!1;c.setRenderTarget(u,
|
|
|
-k,q)}}}function Ck(c,a,b){function d(a,b,d){var e=new Uint8Array(4),f=c.createTexture();c.bindTexture(a,f);c.texParameteri(a,10241,9728);c.texParameteri(a,10240,9728);for(a=0;a<d;a++)c.texImage2D(b+a,0,6408,1,1,0,6408,5121,e);return f}function e(a){!0!==t[a]&&(c.enable(a),t[a]=!0)}function f(a){!1!==t[a]&&(c.disable(a),t[a]=!1)}function g(a,b,d,g,h,l,n,r){if(0===a)C&&(f(3042),C=!1);else if(C||(e(3042),C=!0),5!==a){if(a!==y||r!==Q){if(100!==E||100!==H)c.blendEquation(32774),H=E=100;if(r)switch(a){case 1:c.blendFuncSeparate(1,
|
|
|
+for(var t=0,v=d.length;t<v;t++){var y=d[t],p=y.shadow;if(!1!==p.autoUpdate||!1!==p.needsUpdate)if(void 0===p)console.warn("THREE.WebGLShadowMap:",y,"has no shadow.");else{l.copy(p.mapSize);var A=p.getFrameExtents();l.multiply(A);n.copy(p.mapSize);if(l.x>b||l.y>b)l.x>b&&(n.x=Math.floor(b/A.x),l.x=n.x*A.x,p.mapSize.x=n.x),l.y>b&&(n.y=Math.floor(b/A.y),l.y=n.y*A.y,p.mapSize.y=n.y);null!==p.map||p.isPointLightShadow||3!==this.type||(A={minFilter:1006,magFilter:1006,format:1023},p.map=new Sa(l.x,l.y,A),
|
|
|
+p.map.texture.name=y.name+".shadowMap",p.mapPass=new Sa(l.x,l.y,A),p.camera.updateProjectionMatrix());null===p.map&&(p.map=new Sa(l.x,l.y,{minFilter:1003,magFilter:1003,format:1023}),p.map.texture.name=y.name+".shadowMap",p.camera.updateProjectionMatrix());c.setRenderTarget(p.map);c.clear();A=p.getViewportCount();for(var x=0;x<A;x++){var H=p.getViewport(x);r.set(n.x*H.x,n.y*H.y,n.x*H.z,n.y*H.w);m.viewport(r);p.updateMatrices(y,x);h=p.getFrustum();g(e,f,p.camera,y,this.type)}p.isPointLightShadow||
|
|
|
+3!==this.type||(y=p,A=f,x=a.update(E),w.uniforms.shadow_pass.value=y.map.texture,w.uniforms.resolution.value=y.mapSize,w.uniforms.radius.value=y.radius,c.setRenderTarget(y.mapPass),c.clear(),c.renderBufferDirect(A,null,x,w,E,null),C.uniforms.shadow_pass.value=y.mapPass.texture,C.uniforms.resolution.value=y.mapSize,C.uniforms.radius.value=y.radius,c.setRenderTarget(y.map),c.clear(),c.renderBufferDirect(A,null,x,C,E,null));p.needsUpdate=!1}}D.needsUpdate=!1;c.setRenderTarget(u,k,q)}}}function Ck(c,
|
|
|
+a,b){function d(a,b,d){var e=new Uint8Array(4),f=c.createTexture();c.bindTexture(a,f);c.texParameteri(a,10241,9728);c.texParameteri(a,10240,9728);for(a=0;a<d;a++)c.texImage2D(b+a,0,6408,1,1,0,6408,5121,e);return f}function e(a){!0!==t[a]&&(c.enable(a),t[a]=!0)}function f(a){!1!==t[a]&&(c.disable(a),t[a]=!1)}function g(a,b,d,g,h,l,n,r){if(0===a)C&&(f(3042),C=!1);else if(C||(e(3042),C=!0),5!==a){if(a!==y||r!==Q){if(100!==E||100!==H)c.blendEquation(32774),H=E=100;if(r)switch(a){case 1:c.blendFuncSeparate(1,
|
|
|
771,1,771);break;case 2:c.blendFunc(1,1);break;case 3:c.blendFuncSeparate(0,0,769,771);break;case 4:c.blendFuncSeparate(0,768,0,770);break;default:console.error("THREE.WebGLState: Invalid blending: ",a)}else switch(a){case 1:c.blendFuncSeparate(770,771,1,771);break;case 2:c.blendFunc(770,1);break;case 3:c.blendFunc(0,769);break;case 4:c.blendFunc(0,768);break;default:console.error("THREE.WebGLState: Invalid blending: ",a)}N=A=x=p=null;y=a;Q=r}}else{h=h||b;l=l||d;n=n||g;if(b!==E||h!==H)c.blendEquationSeparate(pc[b],
|
|
|
pc[h]),E=b,H=h;if(d!==p||g!==x||l!==A||n!==N)c.blendFuncSeparate(Ua[d],Ua[g],Ua[l],Ua[n]),p=d,x=g,A=l,N=n;y=a;Q=null}}function h(a){ca!==a&&(a?c.frontFace(2304):c.frontFace(2305),ca=a)}function l(a){0!==a?(e(2884),a!==ja&&(1===a?c.cullFace(1029):2===a?c.cullFace(1028):c.cullFace(1032))):f(2884);ja=a}function n(a,b,d){if(a){if(e(32823),I!==b||J!==d)c.polygonOffset(b,d),I=b,J=d}else f(32823)}function r(a){void 0===a&&(a=33984+F-1);M!==a&&(c.activeTexture(a),M=a)}b=b.isWebGL2;var u=new function(){var a=
|
|
|
!1,b=new B,d=null,e=new B(0,0,0,0);return{setMask:function(b){d===b||a||(c.colorMask(b,b,b,b),d=b)},setLocked:function(b){a=b},setClear:function(a,d,f,g,h){!0===h&&(a*=g,d*=g,f*=g);b.set(a,d,f,g);!1===e.equals(b)&&(c.clearColor(a,d,f,g),e.copy(b))},reset:function(){a=!1;d=null;e.set(-1,0,0,0)}}},k=new function(){var a=!1,b=null,d=null,g=null;return{setTest:function(a){a?e(2929):f(2929)},setMask:function(d){b===d||a||(c.depthMask(d),b=d)},setFunc:function(a){if(d!==a){if(a)switch(a){case 0:c.depthFunc(512);
|
|
@@ -197,7 +197,7 @@ a.renderOrder;else if(a.isLOD)!0===a.autoUpdate&&a.update(b);else if(a.isLight)Q
|
|
|
a.skeleton.frame!==pb.render.frame&&(a.skeleton.update(),a.skeleton.frame=pb.render.frame),!a.frustumCulled||na.intersectsObject(a))if(d&&Tb.setFromMatrixPosition(a.matrixWorld).applyMatrix4(Vd),e=ma.update(a),f=a.material,Array.isArray(f))for(var g=e.groups,h=0,n=g.length;h<n;h++){var r=g[h],u=f[r.materialIndex];u&&u.visible&&N.push(a,e,u,c,Tb.z,r)}else f.visible&&N.push(a,e,f,c,Tb.z,null);a=a.children;e=0;for(f=a.length;e<f;e++)l(a[e],b,c,d)}}function n(a,b,c){for(var d=!0===b.isScene?b.overrideMaterial:
|
|
|
null,e=0,f=a.length;e<f;e++){var g=a[e],h=g.object,l=g.geometry,n=null===d?g.material:d;g=g.group;if(c.isArrayCamera){P=c;for(var u=c.cameras,k=0,q=u.length;k<q;k++){var m=u[k];h.layers.test(m.layers)&&(ya.viewport(T.copy(m.viewport)),Q.setupLights(m),r(h,b,m,l,n,g))}}else P=null,r(h,b,c,l,n,g)}}function r(a,b,c,d,e,f){a.onBeforeRender(ca,b,c,d,e,f);Q=ta.get(b,P||c);a.modelViewMatrix.multiplyMatrices(c.matrixWorldInverse,a.matrixWorld);a.normalMatrix.getNormalMatrix(a.modelViewMatrix);if(a.isImmediateRenderObject){var g=
|
|
|
k(c,b,e,a);ya.setMaterial(e);pa.reset();h(a,g)}else ca.renderBufferDirect(c,b,d,e,a,f);a.onAfterRender(ca,b,c,d,e,f);Q=ta.get(b,P||c)}function u(a,b,c){!0!==b.isScene&&(b=xg);var d=aa.get(a),e=Q.state.lights,h=e.state.version;c=ka.getParameters(a,e.state,Q.state.shadowsArray,b,c);var l=ka.getProgramCacheKey(c),n=d.program,r=!0;if(void 0===n)a.addEventListener("dispose",f);else if(n.cacheKey!==l)g(a);else{if(d.lightsStateVersion!==h)d.lightsStateVersion=h;else if(void 0!==c.shaderID){b=a.isMeshStandardMaterial?
|
|
|
-b.environment:null;d.envMap=ha.get(a.envMap||b);return}r=!1}r&&(c.uniforms=ka.getUniforms(a,c),a.onBeforeCompile(c,ca),n=ka.acquireProgram(c,l),d.program=n,d.uniforms=c.uniforms,d.outputEncoding=c.outputEncoding);c=n.getAttributes();if(a.morphTargets)for(l=a.numSupportedMorphTargets=0;l<ca.maxMorphTargets;l++)0<=c["morphTarget"+l]&&a.numSupportedMorphTargets++;if(a.morphNormals)for(l=a.numSupportedMorphNormals=0;l<ca.maxMorphNormals;l++)0<=c["morphNormal"+l]&&a.numSupportedMorphNormals++;c=d.uniforms;
|
|
|
+b.environment:null;d.envMap=ha.get(a.envMap||b);return}r=!1}r&&(c.uniforms=ka.getUniforms(a),a.onBeforeCompile(c,ca),n=ka.acquireProgram(c,l),d.program=n,d.uniforms=c.uniforms,d.outputEncoding=c.outputEncoding);c=n.getAttributes();if(a.morphTargets)for(l=a.numSupportedMorphTargets=0;l<ca.maxMorphTargets;l++)0<=c["morphTarget"+l]&&a.numSupportedMorphTargets++;if(a.morphNormals)for(l=a.numSupportedMorphNormals=0;l<ca.maxMorphNormals;l++)0<=c["morphNormal"+l]&&a.numSupportedMorphNormals++;c=d.uniforms;
|
|
|
if(!a.isShaderMaterial&&!a.isRawShaderMaterial||!0===a.clipping)d.numClippingPlanes=ia.numPlanes,d.numIntersection=ia.numIntersection,c.clippingPlanes=ia.uniform;d.environment=a.isMeshStandardMaterial?b.environment:null;d.fog=b.fog;d.envMap=ha.get(a.envMap||d.environment);d.needsLights=a.isMeshLambertMaterial||a.isMeshToonMaterial||a.isMeshPhongMaterial||a.isMeshStandardMaterial||a.isShadowMaterial||a.isShaderMaterial&&!0===a.lights;d.lightsStateVersion=h;d.needsLights&&(c.ambientLightColor.value=
|
|
|
e.state.ambient,c.lightProbe.value=e.state.probe,c.directionalLights.value=e.state.directional,c.directionalLightShadows.value=e.state.directionalShadow,c.spotLights.value=e.state.spot,c.spotLightShadows.value=e.state.spotShadow,c.rectAreaLights.value=e.state.rectArea,c.ltc_1.value=e.state.rectAreaLTC1,c.ltc_2.value=e.state.rectAreaLTC2,c.pointLights.value=e.state.point,c.pointLightShadows.value=e.state.pointShadow,c.hemisphereLights.value=e.state.hemi,c.directionalShadowMap.value=e.state.directionalShadowMap,
|
|
|
c.directionalShadowMatrix.value=e.state.directionalShadowMatrix,c.spotShadowMap.value=e.state.spotShadowMap,c.spotShadowMatrix.value=e.state.spotShadowMatrix,c.pointShadowMap.value=e.state.pointShadowMap,c.pointShadowMatrix.value=e.state.pointShadowMatrix);a=d.program.getUniforms();a=Qb.seqWithValue(a.seq,c);d.uniformsList=a}function k(a,b,c,d){!0!==b.isScene&&(b=xg);W.resetTextureUnits();var e=b.fog,f=c.isMeshStandardMaterial?b.environment:null,g=null===K?ca.outputEncoding:K.texture.encoding,h=ha.get(c.envMap||
|
|
@@ -990,12 +990,12 @@ Zg()+"\n\n\t\t\t#define ENVMAP_TYPE_CUBE_UV\n\t\t\t#include <cube_uv_reflection_
|
|
|
blending:0,depthTest:!1,depthWrite:!1});this._cubemapShader=this._equirectShader=null;this._compileMaterial(this._blurMaterial)};Ea.prototype.fromScene=function(a,b,d,e){void 0===b&&(b=0);void 0===d&&(d=.1);void 0===e&&(e=100);xh=this._renderer.getRenderTarget();var f=this._allocateTargets();this._sceneToCubeUV(a,d,e,f);0<b&&this._blur(f,0,0,b);this._applyPMREM(f);this._cleanup(f);return f};Ea.prototype.fromEquirectangular=function(a){return this._fromTexture(a)};Ea.prototype.fromCubemap=function(a){return this._fromTexture(a)};
|
|
|
Ea.prototype.compileCubemapShader=function(){null===this._cubemapShader&&(this._cubemapShader=si(),this._compileMaterial(this._cubemapShader))};Ea.prototype.compileEquirectangularShader=function(){null===this._equirectShader&&(this._equirectShader=ri(),this._compileMaterial(this._equirectShader))};Ea.prototype.dispose=function(){this._blurMaterial.dispose();null!==this._cubemapShader&&this._cubemapShader.dispose();null!==this._equirectShader&&this._equirectShader.dispose();for(var a=0;a<Ue.length;a++)Ue[a].dispose()};
|
|
|
Ea.prototype._cleanup=function(a){this._pingPongRenderTarget.dispose();this._renderer.setRenderTarget(xh);a.scissorTest=!1;If(a,0,0,a.width,a.height)};Ea.prototype._fromTexture=function(a){xh=this._renderer.getRenderTarget();var b=this._allocateTargets(a);this._textureToCubeUV(a,b);this._applyPMREM(b);this._cleanup(b);return b};Ea.prototype._allocateTargets=function(a){var b=void 0===a||1009!==a.type?!1:3E3===a.encoding||3001===a.encoding||3007===a.encoding;b={magFilter:1003,minFilter:1003,generateMipmaps:!1,
|
|
|
-type:1009,format:1023,encoding:b?a.encoding:3002,depthBuffer:!1,stencilBuffer:!1};var d=qi(b);d.depthBuffer=a?!1:!0;this._pingPongRenderTarget=qi(b);return d};Ea.prototype._compileMaterial=function(a){a=new na(Ue[0],a);this._renderer.compile(a,vh)};Ea.prototype._sceneToCubeUV=function(a,b,d,e){b=new ta(90,1,b,d);d=[1,-1,1,1,1,1];var f=[1,1,1,-1,-1,-1],g=this._renderer,h=g.outputEncoding,l=g.toneMapping,k=g.getClearColor(),m=g.getClearAlpha();g.toneMapping=0;g.outputEncoding=3E3;var p=a.background;
|
|
|
-if(p&&p.isColor){p.convertSRGBToLinear();var q=Math.min(Math.max(Math.ceil(Math.log2(Math.max(p.r,p.g,p.b))),-128),127);p=p.multiplyScalar(Math.pow(2,-q));g.setClearColor(p,(q+128)/255);a.background=null}for(p=0;6>p;p++)q=p%3,0==q?(b.up.set(0,d[p],0),b.lookAt(f[p],0,0)):1==q?(b.up.set(0,0,d[p]),b.lookAt(0,f[p],0)):(b.up.set(0,d[p],0),b.lookAt(0,0,f[p])),If(e,q*vb,2<p?vb:0,vb,vb),g.setRenderTarget(e),g.render(a,b);g.toneMapping=l;g.outputEncoding=h;g.setClearColor(k,m)};Ea.prototype._textureToCubeUV=
|
|
|
-function(a,b){var d=this._renderer;a.isCubeTexture?null==this._cubemapShader&&(this._cubemapShader=si()):null==this._equirectShader&&(this._equirectShader=ri());var e=a.isCubeTexture?this._cubemapShader:this._equirectShader,f=new na(Ue[0],e);e=e.uniforms;e.envMap.value=a;a.isCubeTexture||e.texelSize.value.set(1/a.image.width,1/a.image.height);e.inputEncoding.value=wb[a.encoding];e.outputEncoding.value=wb[b.texture.encoding];If(b,0,0,3*vb,2*vb);d.setRenderTarget(b);d.render(f,vh)};Ea.prototype._applyPMREM=
|
|
|
-function(a){var b=this._renderer,d=b.autoClear;b.autoClear=!1;for(var e=1;e<dj;e++)this._blur(a,e-1,e,Math.sqrt(kg[e]*kg[e]-kg[e-1]*kg[e-1]),fj[(e-1)%fj.length]);b.autoClear=d};Ea.prototype._blur=function(a,b,d,e,f){var g=this._pingPongRenderTarget;this._halfBlur(a,g,b,d,e,"latitudinal",f);this._halfBlur(g,a,d,d,e,"longitudinal",f)};Ea.prototype._halfBlur=function(a,b,d,e,f,g,h){var k=this._renderer,m=this._blurMaterial;"latitudinal"!==g&&"longitudinal"!==g&&console.error("blur direction must be either latitudinal or longitudinal!");
|
|
|
-var p=new na(Ue[e],m);m=m.uniforms;var u=ej[d]-1;u=isFinite(f)?Math.PI/(2*u):2*Math.PI/39;var q=f/u,v=isFinite(f)?1+Math.floor(3*q):20;20<v&&console.warn("sigmaRadians, "+f+", is too large and will clip, as it requested "+v+" samples when the maximum is set to 20");f=[];for(var t=0,w=0;20>w;++w){var x=w/q;x=Math.exp(-x*x/2);f.push(x);0==w?t+=x:w<v&&(t+=2*x)}for(q=0;q<f.length;q++)f[q]/=t;m.envMap.value=a.texture;m.samples.value=v;m.weights.value=f;m.latitudinal.value="latitudinal"===g;h&&(m.poleAxis.value=
|
|
|
-h);m.dTheta.value=u;m.mipInt.value=8-d;m.inputEncoding.value=wb[a.texture.encoding];m.outputEncoding.value=wb[a.texture.encoding];a=ej[e];If(b,3*Math.max(0,vb-2*a),(0===e?0:2*vb)+2*a*(4<e?e-8+4:0),3*a,2*a);k.setRenderTarget(b);k.render(p,vh)};K.create=function(a,b){console.log("THREE.Curve.create() has been deprecated");a.prototype=Object.create(K.prototype);a.prototype.constructor=a;a.prototype.getPoint=b;return a};Object.assign(Db.prototype,{createPointsGeometry:function(a){console.warn("THREE.CurvePath: .createPointsGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.");
|
|
|
+type:1009,format:1023,encoding:b?a.encoding:3002,depthBuffer:!1};var d=qi(b);d.depthBuffer=a?!1:!0;this._pingPongRenderTarget=qi(b);return d};Ea.prototype._compileMaterial=function(a){a=new na(Ue[0],a);this._renderer.compile(a,vh)};Ea.prototype._sceneToCubeUV=function(a,b,d,e){b=new ta(90,1,b,d);d=[1,-1,1,1,1,1];var f=[1,1,1,-1,-1,-1],g=this._renderer,h=g.outputEncoding,l=g.toneMapping,k=g.getClearColor(),m=g.getClearAlpha();g.toneMapping=0;g.outputEncoding=3E3;var p=a.background;if(p&&p.isColor){p.convertSRGBToLinear();
|
|
|
+var q=Math.min(Math.max(Math.ceil(Math.log2(Math.max(p.r,p.g,p.b))),-128),127);p=p.multiplyScalar(Math.pow(2,-q));g.setClearColor(p,(q+128)/255);a.background=null}for(p=0;6>p;p++)q=p%3,0==q?(b.up.set(0,d[p],0),b.lookAt(f[p],0,0)):1==q?(b.up.set(0,0,d[p]),b.lookAt(0,f[p],0)):(b.up.set(0,d[p],0),b.lookAt(0,0,f[p])),If(e,q*vb,2<p?vb:0,vb,vb),g.setRenderTarget(e),g.render(a,b);g.toneMapping=l;g.outputEncoding=h;g.setClearColor(k,m)};Ea.prototype._textureToCubeUV=function(a,b){var d=this._renderer;a.isCubeTexture?
|
|
|
+null==this._cubemapShader&&(this._cubemapShader=si()):null==this._equirectShader&&(this._equirectShader=ri());var e=a.isCubeTexture?this._cubemapShader:this._equirectShader,f=new na(Ue[0],e);e=e.uniforms;e.envMap.value=a;a.isCubeTexture||e.texelSize.value.set(1/a.image.width,1/a.image.height);e.inputEncoding.value=wb[a.encoding];e.outputEncoding.value=wb[b.texture.encoding];If(b,0,0,3*vb,2*vb);d.setRenderTarget(b);d.render(f,vh)};Ea.prototype._applyPMREM=function(a){var b=this._renderer,d=b.autoClear;
|
|
|
+b.autoClear=!1;for(var e=1;e<dj;e++)this._blur(a,e-1,e,Math.sqrt(kg[e]*kg[e]-kg[e-1]*kg[e-1]),fj[(e-1)%fj.length]);b.autoClear=d};Ea.prototype._blur=function(a,b,d,e,f){var g=this._pingPongRenderTarget;this._halfBlur(a,g,b,d,e,"latitudinal",f);this._halfBlur(g,a,d,d,e,"longitudinal",f)};Ea.prototype._halfBlur=function(a,b,d,e,f,g,h){var k=this._renderer,m=this._blurMaterial;"latitudinal"!==g&&"longitudinal"!==g&&console.error("blur direction must be either latitudinal or longitudinal!");var p=new na(Ue[e],
|
|
|
+m);m=m.uniforms;var u=ej[d]-1;u=isFinite(f)?Math.PI/(2*u):2*Math.PI/39;var q=f/u,v=isFinite(f)?1+Math.floor(3*q):20;20<v&&console.warn("sigmaRadians, "+f+", is too large and will clip, as it requested "+v+" samples when the maximum is set to 20");f=[];for(var t=0,w=0;20>w;++w){var x=w/q;x=Math.exp(-x*x/2);f.push(x);0==w?t+=x:w<v&&(t+=2*x)}for(q=0;q<f.length;q++)f[q]/=t;m.envMap.value=a.texture;m.samples.value=v;m.weights.value=f;m.latitudinal.value="latitudinal"===g;h&&(m.poleAxis.value=h);m.dTheta.value=
|
|
|
+u;m.mipInt.value=8-d;m.inputEncoding.value=wb[a.texture.encoding];m.outputEncoding.value=wb[a.texture.encoding];a=ej[e];If(b,3*Math.max(0,vb-2*a),(0===e?0:2*vb)+2*a*(4<e?e-8+4:0),3*a,2*a);k.setRenderTarget(b);k.render(p,vh)};K.create=function(a,b){console.log("THREE.Curve.create() has been deprecated");a.prototype=Object.create(K.prototype);a.prototype.constructor=a;a.prototype.getPoint=b;return a};Object.assign(Db.prototype,{createPointsGeometry:function(a){console.warn("THREE.CurvePath: .createPointsGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.");
|
|
|
a=this.getPoints(a);return this.createGeometry(a)},createSpacedPointsGeometry:function(a){console.warn("THREE.CurvePath: .createSpacedPointsGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.");a=this.getSpacedPoints(a);return this.createGeometry(a)},createGeometry:function(a){console.warn("THREE.CurvePath: .createGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.");for(var b=new O,d=0,e=a.length;d<e;d++){var f=a[d];b.vertices.push(new m(f.x,
|
|
|
f.y,f.z||0))}return b}});Object.assign(jb.prototype,{fromPoints:function(a){console.warn("THREE.Path: .fromPoints() has been renamed to .setFromPoints().");return this.setFromPoints(a)}});ti.prototype=Object.create(pa.prototype);ui.prototype=Object.create(pa.prototype);$g.prototype=Object.create(pa.prototype);Object.assign($g.prototype,{initFromArray:function(){console.error("THREE.Spline: .initFromArray() has been removed.")},getControlPointsArray:function(){console.error("THREE.Spline: .getControlPointsArray() has been removed.")},
|
|
|
reparametrizeByArcLength:function(){console.error("THREE.Spline: .reparametrizeByArcLength() has been removed.")}});Be.prototype.setColors=function(){console.error("THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.")};td.prototype.update=function(){console.error("THREE.SkeletonHelper: update() no longer needs to be called.")};Object.assign(Z.prototype,{extractUrlBase:function(a){console.warn("THREE.Loader: .extractUrlBase() has been deprecated. Use THREE.LoaderUtils.extractUrlBase() instead.");
|