<!-- SOLID CITY · part 3370 -->
ata)}else t.compressedTexImage3D(i.TEXTURE_2D_ARRAY,K,_e,fe.width,fe.height,Q.depth,0,fe.data,0,0);else Be("WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()");else He?F&&t.texSubImage3D(i.TEXTURE_2D_ARRAY,K,0,0,0,fe.width,fe.height,Q.depth,de,Le,fe.data):t.texImage3D(i.TEXTURE_2D_ARRAY,K,_e,fe.width,fe.height,Q.depth,0,de,Le,fe.data);_.layerUpdates.size>0&&_.clearLayerUpdates()}else{He&&Ye&&t.texStorage2D(i.TEXTURE_2D,pe,_e,De[0].width,De[0].height);for(let K=0,me=De.length;K<me;K++)fe=De[K],_.format!==Fn?de!==null?He?F&&t.compressedTexSubImage2D(i.TEXTURE_2D,K,0,0,fe.width,fe.height,de,fe.data):t.compressedTexImage2D(i.TEXTURE_2D,K,_e,fe.width,fe.height,0,fe.data):Be("WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):He?F&&t.texSubImage2D(i.TEXTURE_2D,K,0,0,fe.width,fe.height,de,Le,fe.data):t.texImage2D(i.TEXTURE_2D,K,_e,fe.width,fe.height,0,de,Le,fe.data)}else if(_.isDataArrayTexture)if(He){if(Ye&&t.texStorage3D(i.TEXTURE_2D_ARRAY,pe,_e,Q.width,Q.height,Q.depth),F)if(_.layerUpdates.size>0){let K=Ph(Q.width,Q.height,_.format,_.type);for(let me of _.layerUpdates){let Se=Q.data.subarray(me*K/Q.data.BYTES_PER_ELEMENT,(me+1)*K/Q.data.BYTES_PER_ELEMENT);t.texSubImage3D(i.TEXTURE_2D_ARRAY,0,0,0,me,Q.width,Q.height,1,de,Le,Se)}_.clearLayerUpdates()}else t.texSubImage3D(i.TEXTURE_2D_ARRAY,0,0,0,0,Q.width,Q.height,Q.depth,de,Le,Q.data)}else t.texImage3D(i.TEXTURE_2D_ARRAY,0,_e,Q.width,Q.height,Q.depth,0,de,Le,Q.data);else if(_.isData3DTexture)He?(Ye&&t.texStorage3D(i.TEXTURE_3D,pe,_e,Q.width,Q.height,Q.depth),F&&t.texSubImage3D(i.TEXTURE_3D,0,0,0,0,Q.width,Q.height,Q.depth,de,Le,Q.data)):t.texImage3D(i.TEXTURE_3D,0,_e,Q.width,Q.height,Q.depth,0,de,Le,Q.data);else if(_.isFramebufferTexture){if(Ye)if(He)t.texStorage2D(i.TEXTURE_2D,pe,_e,Q.width,Q.height);else{let K=Q.width,me=Q.height;for(let Se=0;Se<pe;Se++)t.texImage2D(i.TEXTURE_2D,Se,_e,K,me,0,de,Le,null),K>>=1,me>>=1}}else if(_.isHTMLTexture){if("texElementImage2D"in i){let K=i.canvas;if(K.hasAttribute("layoutsubtree")||K.setAttribute("layoutsubtree","true"),Q.parentNode!==K){K.appendChild(Q),f.add(_),K.onpaint=me=>{let Se=me.changedElements;for(let se of f)Se.includes(se.image)&&(se.needsUpdate=!0)},K.requestPaint();return}if(i.texElementImage2D.length===3)i.texElementImage2D(i.TEXTURE_2D,i.RGBA8,Q);else{let Se=i.RGBA,se=i.RGBA,Ue=i.UNSIGNED_BYTE;i.texElementImage2D(i.TEXTURE_2D,0,Se,se,Ue,Q)}i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE)}}else if(De.length>0){if(He&&Ye){let K=nt(De[0]);t.texStorage2D(i.TEXTURE_2D,pe,_e,K.width,K.height)}for(let K=0,me=De.length;K<me;K++)fe=De[K],He?F&&t.texSubImage2D(i.TEXTURE_2D,K,0,0,de,Le,fe):t.texImage2D(i.TEXTURE_2D,K,_e,de,Le,fe);_.generateMipmaps=!1}else if(He){if(Ye){let K=nt(Q);t.texStorage2D(i.TEXTURE_2D,pe,_e,K.width,K.height)}F&&t.texSubImage2D(i.TEXTURE_2D,0,0,0,de,Le,Q)}else t.texImage2D(i.TEXTURE_2D,0,_e,de,Le,Q);p(_)&&b(G),he.__version=ce.version,_.onUpdate&&_.onUpdate(_)}R.__version=_.version}function Ve(R,_,B){if(_.image.length!==6)return;let G=ot(R,_),Z=_.source;t.bindTexture(i.TEXTURE_CUBE_MAP,R.__webglTexture,i.TEXTURE0+B);let ce=n.get(Z);if(Z.version!==ce.__version||G===!0){t.activeTexture(i.TEXTURE0+B);let he=rt.getPrimaries(rt.workingColorSpace),J=_.colorSpace===Si?null:rt.getPrimaries(_.colorSpace),Q=_.colorSpace===Si||he===J?i.NONE:i.BROWSER_DEFAULT_WEBGL;t.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,_.flipY),t.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,_.premultiplyAlpha),t.pixelStorei(i.UNPACK_ALIGNMENT,_.unpackAlignment),t.pixelStorei(i.UNPACK_COLORSPACE_CONVERSION_WEBGL,Q);let de=_.isCompressedTexture||_.image[0].isCompressedTexture,Le=_.image[0]&&_.image[0].isDataTexture,_e=[];for(let se=0;se<6;se++)!de&&!Le?_e[se]=m(_.image[se],!0,s.maxCubemapSize):_e[se]=Le?_.image[se].image:_.image[se],_e[se]=pt(_,_e[se]);let fe=_e[0],De=r.convert(_.format,_.colorSpace),He=r.convert(_.type),Ye=v(_.internalFormat,De,He,_.normalized,_.colorSpace),F=_.isVideoTexture!==!0,pe=ce.__version===void 0||G===!0,K=Z.dataReady,me=E(_,fe);tt(i.TEXTURE_CUBE_MAP,_);let Se;if(de){F&&pe&&t.texStorage2D(i.TEXTURE_CUBE_MAP,me,Ye,fe.width,fe.height);for(let se=0;se<6;se++){Se=_e[se].mipmaps;for(let Ue=0;Ue<Se.length;Ue++){let Ce=Se[Ue];_.format!==Fn?De!==null?F?K&&t.compressedTexSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+se,Ue,0,0,Ce.width,Ce.height,De,Ce.data):t.compressedTexImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+se,Ue,Ye,Ce.width,Ce.height,0,Ce.data):Be("WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):F?K&&t.texSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+se,Ue,0,0,Ce.width,Ce.height,De,He,Ce.data):t.texImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+se,Ue,Ye,Ce.width,Ce.height,0,De,He,Ce.data)}}}else{if(Se=_.mipmaps,F&&pe){Se.length>0&&me++;let se=nt(_e[0]);t.te