THREE.Face4=function(a,b,c,d,e,g,f){console.warn("THREE.Face4 has been removed. A THREE.Face3 will be created instead.");returnnewTHREE.Face3(a,b,c,e,g,f)};THREE.BufferAttribute=function(a,b){this.array=a;this.itemSize=b;this.needsUpdate=!1};
this.array[a]=b;this.array[a+1]=c;returnthis},setXYZ:function(a,b,c,d){a*=this.itemSize;this.array[a]=b;this.array[a+1]=c;this.array[a+2]=d;returnthis},setXYZW:function(a,b,c,d,e){a*=this.itemSize;this.array[a]=b;this.array[a+1]=c;this.array[a+2]=d;this.array[a+3]=e;returnthis}};THREE.Int8Attribute=function(a,b){console.warn("THREE.Int8Attribute has been removed. Use THREE.BufferAttribute( array, itemSize ) instead.");returnnewTHREE.BufferAttribute(a,b)};
THREE.Uint8Attribute=function(a,b){console.warn("THREE.Uint8Attribute has been removed. Use THREE.BufferAttribute( array, itemSize ) instead.");returnnewTHREE.BufferAttribute(a,b)};THREE.Uint8ClampedAttribute=function(a,b){console.warn("THREE.Uint8ClampedAttribute has been removed. Use THREE.BufferAttribute( array, itemSize ) instead.");returnnewTHREE.BufferAttribute(a,b)};
THREE.Int16Attribute=function(a,b){console.warn("THREE.Int16Attribute has been removed. Use THREE.BufferAttribute( array, itemSize ) instead.");returnnewTHREE.BufferAttribute(a,b)};THREE.Uint16Attribute=function(a,b){console.warn("THREE.Uint16Attribute has been removed. Use THREE.BufferAttribute( array, itemSize ) instead.");returnnewTHREE.BufferAttribute(a,b)};
THREE.Int32Attribute=function(a,b){console.warn("THREE.Int32Attribute has been removed. Use THREE.BufferAttribute( array, itemSize ) instead.");returnnewTHREE.BufferAttribute(a,b)};THREE.Uint32Attribute=function(a,b){console.warn("THREE.Uint32Attribute has been removed. Use THREE.BufferAttribute( array, itemSize ) instead.");returnnewTHREE.BufferAttribute(a,b)};
THREE.Float32Attribute=function(a,b){console.warn("THREE.Float32Attribute has been removed. Use THREE.BufferAttribute( array, itemSize ) instead.");returnnewTHREE.BufferAttribute(a,b)};THREE.Float64Attribute=function(a,b){console.warn("THREE.Float64Attribute has been removed. Use THREE.BufferAttribute( array, itemSize ) instead.");returnnewTHREE.BufferAttribute(a,b)};
b[d];if(cinstanceofg){a.array=newg(c);break}}returna}};THREE.Int8Attribute=function(a,b){console.warn("THREE.Int8Attribute has been removed. Use THREE.BufferAttribute( array, itemSize ) instead.");returnnewTHREE.BufferAttribute(a,b)};THREE.Uint8Attribute=function(a,b){console.warn("THREE.Uint8Attribute has been removed. Use THREE.BufferAttribute( array, itemSize ) instead.");returnnewTHREE.BufferAttribute(a,b)};
THREE.Uint8ClampedAttribute=function(a,b){console.warn("THREE.Uint8ClampedAttribute has been removed. Use THREE.BufferAttribute( array, itemSize ) instead.");returnnewTHREE.BufferAttribute(a,b)};THREE.Int16Attribute=function(a,b){console.warn("THREE.Int16Attribute has been removed. Use THREE.BufferAttribute( array, itemSize ) instead.");returnnewTHREE.BufferAttribute(a,b)};
THREE.Uint16Attribute=function(a,b){console.warn("THREE.Uint16Attribute has been removed. Use THREE.BufferAttribute( array, itemSize ) instead.");returnnewTHREE.BufferAttribute(a,b)};THREE.Int32Attribute=function(a,b){console.warn("THREE.Int32Attribute has been removed. Use THREE.BufferAttribute( array, itemSize ) instead.");returnnewTHREE.BufferAttribute(a,b)};
THREE.Uint32Attribute=function(a,b){console.warn("THREE.Uint32Attribute has been removed. Use THREE.BufferAttribute( array, itemSize ) instead.");returnnewTHREE.BufferAttribute(a,b)};THREE.Float32Attribute=function(a,b){console.warn("THREE.Float32Attribute has been removed. Use THREE.BufferAttribute( array, itemSize ) instead.");returnnewTHREE.BufferAttribute(a,b)};
THREE.Float64Attribute=function(a,b){console.warn("THREE.Float64Attribute has been removed. Use THREE.BufferAttribute( array, itemSize ) instead.");returnnewTHREE.BufferAttribute(a,b)};THREE.BufferGeometry=function(){this.id=THREE.GeometryIdCount++;this.uuid=THREE.Math.generateUUID();this.name="";this.type="BufferGeometry";this.attributes={};this.attributesKeys=[];this.offsets=this.drawcalls=[];this.boundingSphere=this.boundingBox=null};
THREE.BufferGeometry.prototype={constructor:THREE.BufferGeometry,addAttribute:function(a,b,c){!1===binstanceofTHREE.BufferAttribute?(console.warn("THREE.BufferGeometry: .addAttribute() now expects ( name, attribute )."),this.attributes[a]={array:b,itemSize:c}):(this.attributes[a]=b,this.attributesKeys=Object.keys(this.attributes))},getAttribute:function(a){returnthis.attributes[a]},addDrawCall:function(a,b,c){this.drawcalls.push({start:a,count:b,index:void0!==c?c:0})},applyMatrix:function(a){varb=
J,(V*K-L*R)*J,(V*M-L*H)*J);aa.set((C*P-T*N)*J,(C*R-T*K)*J,(C*H-T*M)*J);k[a].add(Y);k[b].add(Y);k[c].add(Y);m[a].add(aa);m[b].add(aa);m[c].add(aa)}functionb(a){La.x=e[3*a];La.y=e[3*a+1];La.z=e[3*a+2];la.copy(La);sa=k[a];Oa.copy(sa);Oa.sub(La.multiplyScalar(La.dot(sa))).normalize();Pa.crossVectors(la,sa);G=Pa.dot(m[a]);bb=0>G?-1:1;h[4*a]=Oa.x;h[4*a+1]=Oa.y;h[4*a+2]=Oa.z;h[4*a+3]=bb}if(void0===this.attributes.index||void0===this.attributes.position||void0===this.attributes.normal||void0===this.attributes.uv)console.warn("Missing required attributes (index, position, normal or uv) in BufferGeometry.computeTangents()");
J,(V*K-L*R)*J,(V*M-L*H)*J);aa.set((C*P-T*N)*J,(C*R-T*K)*J,(C*H-T*M)*J);k[a].add(Y);k[b].add(Y);k[c].add(Y);m[a].add(aa);m[b].add(aa);m[c].add(aa)}functionb(a){Ka.x=e[3*a];Ka.y=e[3*a+1];Ka.z=e[3*a+2];la.copy(Ka);sa=k[a];Na.copy(sa);Na.sub(Ka.multiplyScalar(Ka.dot(sa))).normalize();Oa.crossVectors(la,sa);G=Oa.dot(m[a]);ab=0>G?-1:1;h[4*a]=Na.x;h[4*a+1]=Na.y;h[4*a+2]=Na.z;h[4*a+3]=ab}if(void0===this.attributes.index||void0===this.attributes.position||void0===this.attributes.normal||void0===this.attributes.uv)console.warn("Missing required attributes (index, position, normal or uv) in BufferGeometry.computeTangents()");
function(){};this.setClearColor=function(a,b){H.set(a);C=void0!==b?b:1;da.min.set(-w,-A);da.max.set(w,A)};this.setClearColorHex=function(a,b){console.warn("THREE.CanvasRenderer: .setClearColorHex() is being removed. Use .setClearColor() instead.");this.setClearColor(a,b)};this.getClearColor=function(){returnH};this.getClearAlpha=function(){returnC};this.getMaxAnisotropy=function(){return0};this.clear=function(){!1===da.empty()&&(da.intersect(ka),da.expandByScalar(2),da.min.x+=w,da.min.y=-da.min.y+
function(){};this.setClearColor=function(a,b){H.set(a);C=void0!==b?b:1;da.min.set(-w,-A);da.max.set(w,A)};this.setClearColorHex=function(a,b){console.warn("THREE.CanvasRenderer: .setClearColorHex() is being removed. Use .setClearColor() instead.");this.setClearColor(a,b)};this.getClearColor=function(){returnH};this.getClearAlpha=function(){returnC};this.getMaxAnisotropy=function(){return0};this.clear=function(){!1===da.empty()&&(da.intersect(ya),da.expandByScalar(2),da.min.x+=w,da.min.y=-da.min.y+
A,da.max.x+=w,da.max.y=-da.max.y+A,1>C&&M.clearRect(da.min.x|0,da.min.y|0,da.max.x-da.min.x|0,da.max.y-da.min.y|0),0<C&&(k(THREE.NormalBlending),h(1),t("rgba("+Math.floor(255*H.r)+","+Math.floor(255*H.g)+","+Math.floor(255*H.b)+","+C+")"),M.fillRect(da.min.x|0,da.min.y|0,da.max.x-da.min.x|0,da.max.y-da.min.y|0)),da.makeEmpty())};this.clearColor=function(){};this.clearDepth=function(){};this.clearStencil=function(){};this.render=function(a,z){if(!1===zinstanceofTHREE.Camera)console.error("THREE.CanvasRenderer.render: camera is not an instance of THREE.Camera.");
THREE.SkinnedMesh&&(H=Math.min(e.skeleton.bones.length,H),H<e.skeleton.bones.length&&console.warn("WebGLRenderer: too many bones - "+e.skeleton.bones.length+", this GPU supports just "+H+" (try OpenGL instead of ANGLE)"));C=H}varP={precision:Y,supportsVertexTextures:rc,map:!!d.map,envMap:!!d.envMap,lightMap:!!d.lightMap,bumpMap:!!d.bumpMap,normalMap:!!d.normalMap,specularMap:!!d.specularMap,alphaMap:!!d.alphaMap,vertexColors:d.vertexColors,fog:c,useFog:d.fog,fogExp:cinstanceofTHREE.FogExp2,sizeAttenuation:d.sizeAttenuation,
b;a.spotLightPosition.needsUpdate=b;a.spotLightDistance.needsUpdate=b;a.spotLightDirection.needsUpdate=b;a.spotLightAngleCos.needsUpdate=b;a.spotLightExponent.needsUpdate=b;a.hemisphereLightSkyColor.needsUpdate=b;a.hemisphereLightGroundColor.needsUpdate=b;a.hemisphereLightDirection.needsUpdate=b}functionD(){vara=Ha;a>=xc&&console.warn("WebGLRenderer: trying to use "+a+" texture units while this GPU supports only "+xc);Ha+=1;returna}functionw(a,b){a._modelViewMatrix.multiplyMatrices(b.matrixWorldInverse,
functionM(a,b){if(a.width>b||a.height>b){varc=b/Math.max(a.width,a.height),d=document.createElement("canvas");d.width=Math.floor(a.width*c);d.height=Math.floor(a.height*c);d.getContext("2d").drawImage(a,0,0,a.width,a.height,0,0,d.width,d.height);console.log("THREE.WebGLRenderer:",a,"is too big ("+a.width+"x"+a.height+"). Resized to "+d.width+"x"+d.height+".");returnd}returna}functionH(a,b){l.bindRenderbuffer(l.RENDERBUFFER,a);b.depthBuffer&&!b.stencilBuffer?(l.renderbufferStorage(l.RENDERBUFFER,
Bb=l.getExtension("OES_element_index_uint");null===Ab&&console.log("THREE.WebGLRenderer: Float textures not supported.");null===xb&&console.log("THREE.WebGLRenderer: Standard derivatives not supported.");null===wb&&console.log("THREE.WebGLRenderer: Anisotropic texture filtering not supported.");null===sb&&console.log("THREE.WebGLRenderer: S3TC compressed textures not supported.");null===Bb&&console.log("THREE.WebGLRenderer: elementindex as unsigned integer not supported.");void0===l.getShaderPrecisionFormat&&
THREE.SpotLight&&s++,vinstanceofTHREE.HemisphereLight&&q++)}f=p;g=r;h=s;k=q;for(varx,y=0,w=0,E=b.length;w<E;w++){varz=b[w];z.castShadow&&(zinstanceofTHREE.SpotLight&&y++,zinstanceofTHREE.DirectionalLight&&!z.shadowCascade&&y++)}x=y;varC;if(ic&&e&&e.skeleton&&e.skeleton.useVertexTexture)C=1024;else{varK=l.getParameter(l.MAX_VERTEX_UNIFORM_VECTORS),H=Math.floor((K-20)/4);void0!==e&&einstanceofTHREE.SkinnedMesh&&(H=Math.min(e.skeleton.bones.length,H),H<e.skeleton.bones.length&&console.warn("WebGLRenderer: too many bones - "+
e.skeleton.bones.length+", this GPU supports just "+H+" (try OpenGL instead of ANGLE)"));C=H}varP={precision:Y,supportsVertexTextures:rc,map:!!d.map,envMap:!!d.envMap,lightMap:!!d.lightMap,bumpMap:!!d.bumpMap,normalMap:!!d.normalMap,specularMap:!!d.specularMap,alphaMap:!!d.alphaMap,vertexColors:d.vertexColors,fog:c,useFog:d.fog,fogExp:cinstanceofTHREE.FogExp2,sizeAttenuation:d.sizeAttenuation,logarithmicDepthBuffer:Ga,skinning:d.skinning,maxBones:C,useVertexTexture:ic&&e&&e.skeleton&&e.skeleton.useVertexTexture,
b;a.spotLightDirection.needsUpdate=b;a.spotLightAngleCos.needsUpdate=b;a.spotLightExponent.needsUpdate=b;a.hemisphereLightSkyColor.needsUpdate=b;a.hemisphereLightGroundColor.needsUpdate=b;a.hemisphereLightDirection.needsUpdate=b}functionD(){vara=Ha;a>=xc&&console.warn("WebGLRenderer: trying to use "+a+" texture units while this GPU supports only "+xc);Ha+=1;returna}functionw(a,b){a._modelViewMatrix.multiplyMatrices(b.matrixWorldInverse,a.matrixWorld);a._normalMatrix.getNormalMatrix(a._modelViewMatrix)}
d=document.createElement("canvas");d.width=Math.floor(a.width*c);d.height=Math.floor(a.height*c);d.getContext("2d").drawImage(a,0,0,a.width,a.height,0,0,d.width,d.height);console.log("THREE.WebGLRenderer:",a,"is too big ("+a.width+"x"+a.height+"). Resized to "+d.width+"x"+d.height+".");returnd}returna}functionH(a,b){l.bindRenderbuffer(l.RENDERBUFFER,a);b.depthBuffer&&!b.stencilBuffer?(l.renderbufferStorage(l.RENDERBUFFER,l.DEPTH_COMPONENT16,b.width,b.height),l.framebufferRenderbuffer(l.FRAMEBUFFER,
Bb=l.getExtension("OES_element_index_uint");null===Eb&&console.log("THREE.WebGLRenderer: Float textures not supported.");null===Ab&&console.log("THREE.WebGLRenderer: Standard derivatives not supported.");null===zb&&console.log("THREE.WebGLRenderer: Anisotropic texture filtering not supported.");null===sb&&console.log("THREE.WebGLRenderer: S3TC compressed textures not supported.");null===Bb&&console.log("THREE.WebGLRenderer: elementindex as unsigned integer not supported.");void0===l.getShaderPrecisionFormat&&
Sc=l.getShaderPrecisionFormat(l.FRAGMENT_SHADER,l.MEDIUM_FLOAT);l.getShaderPrecisionFormat(l.FRAGMENT_SHADER,l.LOW_FLOAT);varTc=0<Pc.precision&&0<Rc.precision,Jc=0<Qc.precision&&0<Sc.precision;"highp"!==Y||Tc||(Jc?(Y="mediump",console.warn("THREE.WebGLRenderer: highp not supported, using mediump.")):(Y="lowp",console.warn("THREE.WebGLRenderer: highp and mediump not supported, using lowp.")));"mediump"!==Y||Jc||(Y="lowp",console.warn("THREE.WebGLRenderer: mediump not supported, using lowp."));this.getContext=
b){console.warn("THREE.WebGLRenderer: .setClearColorHex() is being removed. Use .setClearColor() instead.");this.setClearColor(a,b)};this.getClearColor=function(){returnEa};this.getClearAlpha=function(){returnOa};this.clear=function(a,b,c){vard=0;if(void0===a||a)d|=l.COLOR_BUFFER_BIT;if(void0===b||b)d|=l.DEPTH_BUFFER_BIT;if(void0===c||c)d|=l.STENCIL_BUFFER_BIT;l.clear(d)};this.clearColor=function(){l.clear(l.COLOR_BUFFER_BIT)};this.clearDepth=function(){l.clear(l.DEPTH_BUFFER_BIT)};this.clearStencil=
b){console.warn("THREE.WebGLRenderer: .setClearColorHex() is being removed. Use .setClearColor() instead.");this.setClearColor(a,b)};this.getClearColor=function(){returnDa};this.getClearAlpha=function(){returnNa};this.clear=function(a,b,c){vard=0;if(void0===a||a)d|=l.COLOR_BUFFER_BIT;if(void0===b||b)d|=l.DEPTH_BUFFER_BIT;if(void0===c||c)d|=l.STENCIL_BUFFER_BIT;l.clear(d)};this.clearColor=function(){l.clear(l.COLOR_BUFFER_BIT)};this.clearDepth=function(){l.clear(l.DEPTH_BUFFER_BIT)};this.clearStencil=
k.type===THREE.LineStrip?l.LINE_STRIP:l.LINES,P(d.linewidth),l.drawArrays(k,0,e.__webglLineCount),G.info.render.calls++):kinstanceofTHREE.PointCloud&&(l.drawArrays(l.POINTS,0,e.__webglParticleCount),G.info.render.calls++,G.info.render.points+=e.__webglParticleCount)}};this.render=function(a,b,c,d){if(!1===binstanceofTHREE.Camera)console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");else{vare,f,g,h=a.fog;qa=-1;Za=null;Ub=!0;!0===a.autoUpdate&&a.updateMatrixWorld();
"opaque",b,Pa,h,!1,d),t(sa,b,Pa,h,!0,d),r(la,"transparent",b,Pa,h,!0,d));s(this.renderPluginsPost,a,b);c&&c.generateMipmaps&&c.minFilter!==THREE.NearestFilter&&c.minFilter!==THREE.LinearFilter&&C(c);this.setDepthTest(!0);this.setDepthWrite(!0)}};this.renderImmediateObject=function(a,b,c,d,e){varf=z(a,b,c,d,e);oa=-1;G.setMaterialFaces(d);e.immediateRenderCallback?e.immediateRenderCallback(f,l,zc):e.render(function(a){G.renderBufferImmediate(a,f,d)})};this.initMaterial=function(){console.warn("THREE.WebGLRenderer: .initMaterial() has been removed.")};
k.type===THREE.LineStrip?l.LINE_STRIP:l.LINES,P(d.linewidth),l.drawArrays(k,0,e.__webglLineCount),G.info.render.calls++):kinstanceofTHREE.PointCloud&&(l.drawArrays(l.POINTS,0,e.__webglParticleCount),G.info.render.calls++,G.info.render.points+=e.__webglParticleCount)}};this.render=function(a,b,c,d){if(!1===binstanceofTHREE.Camera)console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");else{vare,f,g,h=a.fog;qa=-1;cb=null;Ub=!0;!0===a.autoUpdate&&a.updateMatrixWorld();
"opaque",b,Oa,h,!1,d),t(sa,b,Oa,h,!0,d),r(la,"transparent",b,Oa,h,!0,d));s(this.renderPluginsPost,a,b);c&&c.generateMipmaps&&c.minFilter!==THREE.NearestFilter&&c.minFilter!==THREE.LinearFilter&&C(c);this.setDepthTest(!0);this.setDepthWrite(!0)}};this.renderImmediateObject=function(a,b,c,d,e){varf=z(a,b,c,d,e);pa=-1;G.setMaterialFaces(d);e.immediateRenderCallback?e.immediateRenderCallback(f,l,zc):e.render(function(a){G.renderBufferImmediate(a,f,d)})};this.initMaterial=function(){console.warn("THREE.WebGLRenderer: .initMaterial() has been removed.")};
y.shadowCameraNear,y.shadowCameraFar);elseif(yinstanceofTHREE.DirectionalLight)y.shadowCamera=newTHREE.OrthographicCamera(y.shadowCameraLeft,y.shadowCameraRight,y.shadowCameraTop,y.shadowCameraBottom,y.shadowCameraNear,y.shadowCameraFar);else{console.error("Unsupported light type for shadow");continue}e.add(y.shadowCamera);!0===e.autoUpdate&&e.updateMatrixWorld()}y.shadowCameraVisible&&!y.cameraHelper&&(y.cameraHelper=newTHREE.CameraHelper(y.shadowCamera),y.shadowCamera.add(y.cameraHelper));
y.shadowMapWidth/y.shadowMapHeight,y.shadowCameraNear,y.shadowCameraFar);elseif(yinstanceofTHREE.DirectionalLight)y.shadowCamera=newTHREE.OrthographicCamera(y.shadowCameraLeft,y.shadowCameraRight,y.shadowCameraTop,y.shadowCameraBottom,y.shadowCameraNear,y.shadowCameraFar);else{console.error("Unsupported light type for shadow");continue}e.add(y.shadowCamera);!0===e.autoUpdate&&e.updateMatrixWorld()}y.shadowCameraVisible&&!y.cameraHelper&&(y.cameraHelper=newTHREE.CameraHelper(y.shadowCamera),y.shadowCamera.add(y.cameraHelper));