<!-- SOLID-PLAYTIME · part 144 -->
nt.")}else if(E===null||E===Jo||E===Wo)B=t.DEPTH_COMPONENT24;else if(E===Ma)B=t.DEPTH_COMPONENT32F;else if(E===wc)B=t.DEPTH_COMPONENT16;return B}function S(L,E){if(U(L)===!0||L.isFramebufferTexture&&L.minFilter!==Go&&L.minFilter!==ur)return Math.log2(Math.max(E.width,E.height))+1;else if(L.mipmaps!==void 0&&L.mipmaps.length>0)return L.mipmaps.length;else if(L.isCompressedTexture&&Array.isArray(L.image))return E.mipmaps.length;else return 1}function A(L){let E=L.target;if(E.removeEventListener("dispose",A),w(E),E.isVideoTexture)u.delete(E)}function T(L){let E=L.target;E.removeEventListener("dispose",T),M(E)}function w(L){let E=i.get(L);if(E.__webglInit===void 0)return;let B=L.source,tt=h.get(B);if(tt){let st=tt[E.__cacheKey];if(st.usedTimes--,st.usedTimes===0)b(L);if(Object.keys(tt).length===0)h.delete(B)}i.remove(L)}function b(L){let E=i.get(L);t.deleteTexture(E.__webglTexture);let B=L.source,tt=h.get(B);delete tt[E.__cacheKey],r.memory.textures--}function M(L){let E=i.get(L);if(L.depthTexture)L.depthTexture.dispose(),i.remove(L.depthTexture);if(L.isWebGLCubeRenderTarget)for(let tt=0;tt<6;tt++){if(Array.isArray(E.__webglFramebuffer[tt]))for(let st=0;st<E.__webglFramebuffer[tt].length;st++)t.deleteFramebuffer(E.__webglFramebuffer[tt][st]);else t.deleteFramebuffer(E.__webglFramebuffer[tt]);if(E.__webglDepthbuffer)t.deleteRenderbuffer(E.__webglDepthbuffer[tt])}else{if(Array.isArray(E.__webglFramebuffer))for(let tt=0;tt<E.__webglFramebuffer.length;tt++)t.deleteFramebuffer(E.__webglFramebuffer[tt]);else t.deleteFramebuffer(E.__webglFramebuffer);if(E.__webglDepthbuffer)t.deleteRenderbuffer(E.__webglDepthbuffer);if(E.__webglMultisampledFramebuffer)t.deleteFramebuffer(E.__webglMultisampledFramebuffer);if(E.__webglColorRenderbuffer){for(let tt=0;tt<E.__webglColorRenderbuffer.length;tt++)if(E.__webglColorRenderbuffer[tt])t.deleteRenderbuffer(E.__webglColorRenderbuffer[tt])}if(E.__webglDepthRenderbuffer)t.deleteRenderbuffer(E.__webglDepthRenderbuffer)}let B=L.textures;for(let tt=0,st=B.length;tt<st;tt++){let Q=i.get(B[tt]);if(Q.__webglTexture)t.deleteTexture(Q.__webglTexture),r.memory.textures--;i.remove(B[tt])}i.remove(L)}let R=0;function O(){R=0}function V(){let L=R;if(L>=s.maxTextures)console.warn("THREE.WebGLTextures: Trying to use "+L+" texture units while this GPU supports only "+s.maxTextures);return R+=1,L}function k(L){let E=[];return E.push(L.wrapS),E.push(L.wrapT),E.push(L.wrapR||0),E.push(L.magFilter),E.push(L.minFilter),E.push(L.anisotropy),E.push(L.internalFormat),E.push(L.format),E.push(L.type),E.push(L.generateMipmaps),E.push(L.premultiplyAlpha),E.push(L.flipY),E.push(L.unpackAlignment),E.push(L.colorSpace),E.join()}function et(L,E){let B=i.get(L);if(L.isVideoTexture)xe(L);if(L.isRenderTargetTexture===!1&&L.isExternalTexture!==!0&&L.version>0&&B.__version!==L.version){let tt=L.image;if(tt===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(tt.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{ot(B,L,E);return}}else if(L.isExternalTexture)B.__webglTexture=L.sourceTexture?L.sourceTexture:null;n.bindTexture(t.TEXTURE_2D,B.__webglTexture,t.TEXTURE0+E)}function Z(L,E){let B=i.get(L);if(L.isRenderTargetTexture===!1&&L.version>0&&B.__version!==L.version){ot(B,L,E);return}n.bindTexture(t.TEXTURE_2D_ARRAY,B.__webglTexture,t.TEXTURE0+E)}function at(L,E){let B=i.get(L);if(L.isRenderTargetTexture===!1&&L.version>0&&B.__version!==L.version){ot(B,L,E);return}n.bindTexture(t.TEXTURE_3D,B.__webglTexture,t.TEXTURE0+E)}function W(L,E){let B=i.get(L);if(L.version>0&&B.__version!==L.version){Y(B,L,E);return}n.bindTexture(t.TEXTURE_CUBE_MAP,B.__webglTexture,t.TEXTURE0+E)}let ht={[dE]:t.REPEAT,[pE]:t.CLAMP_TO_EDGE,[mE]:t.MIRRORED_REPEAT},mt={[Go]:t.NEAREST,[UE]:t.NEAREST_MIPMAP_NEAREST,[Rc]:t.NEAREST_MIPMAP_LINEAR,[ur]:t.LINEAR,[Af]:t.LINEAR_MIPMAP_NEAREST,[$o]:t.LINEAR_MIPMAP_LINEAR},q={[LE]:t.NEVER,[HE]:t.ALWAYS,[RE]:t.LESS,[mU]:t.LEQUAL,[wE]:t.EQUAL,[PE]:t.GEQUAL,[CE]:t.GREATER,[DE]:t.NOTEQUAL};function dt(L,E){if(E.type===Ma&&e.has("OES_texture_float_linear")===!1&&(E.magFilter===ur||E.magFilter===Af||E.magFilter===Rc||E.magFilter===$o||E.minFilter===ur||E.minFilter===Af||E.minFilter===Rc||E.minFilter===$o))console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device.");if(t.texParameteri(L,t.TEXTURE_WRAP_S,ht[E.wrapS]),t.texParameteri(L,t.TEXTURE_WRAP_T,ht[E.wrapT]),L===t.TEXTURE_3D||L===t.TEXTURE_2D_ARRAY)t.texParameteri(L,t.TEXTURE_WRAP_R,ht[E.wrapR]);if(t.texParameteri(L,t.TEXTURE_MAG_FILTER,mt[E.magFilter]),t.texParameteri(L,t.TEXTURE_MIN_FILTER,mt[E.minFilter]),E.compareFunction)t.texParameteri(L,t.TEXTURE_COMPARE_MODE,t.COMPARE_REF_TO_TEXTURE),t.texParameteri(L,t.TEXTURE_COMPARE_FUNC,q[E.compareFunction]);if(e.has("EXT_texture_filter_anisotropic")===!0){if(E.magFilter===Go)return;if(E.