<!-- SOLUV · part 651 -->
derTarget===!0?st.texture.colorSpace:ee.workingColorSpace,Ct=V.isMeshStandardMaterial||V.isMeshLambertMaterial&&!V.envMap||V.isMeshPhongMaterial&&!V.envMap,Pt=lt.get(V.envMap||At,Ct),$t=V.vertexColors===!0&&!!H.attributes.color&&H.attributes.color.itemSize===4,te=!!H.attributes.tangent&&(!!V.normalMap||V.anisotropy>0),Rt=!!H.morphAttributes.position,le=!!H.morphAttributes.normal,we=!!H.morphAttributes.color,xe=An;V.toneMapped&&(st===null||st.isXRRenderTarget===!0)&&(xe=I.toneMapping);let me=H.morphAttributes.position||H.morphAttributes.normal||H.morphAttributes.color,Be=me!==void 0?me.length:0,Et=G.get(V),Xe=T.state.lights;if(rt===!0&&(at===!0||M!==Q)){let _e=M===Q&&V.id===q;Ut.setState(V,M,_e)}let ie=!1;V.version===Et.__version?(Et.needsLights&&Et.lightsStateVersion!==Xe.state.version||Et.outputColorSpace!==vt||k.isBatchedMesh&&Et.batching===!1||!k.isBatchedMesh&&Et.batching===!0||k.isBatchedMesh&&Et.batchingColor===!0&&k._colorsTexture===null||k.isBatchedMesh&&Et.batchingColor===!1&&k._colorsTexture!==null||k.isInstancedMesh&&Et.instancing===!1||!k.isInstancedMesh&&Et.instancing===!0||k.isSkinnedMesh&&Et.skinning===!1||!k.isSkinnedMesh&&Et.skinning===!0||k.isInstancedMesh&&Et.instancingColor===!0&&k.instanceColor===null||k.isInstancedMesh&&Et.instancingColor===!1&&k.instanceColor!==null||k.isInstancedMesh&&Et.instancingMorph===!0&&k.morphTexture===null||k.isInstancedMesh&&Et.instancingMorph===!1&&k.morphTexture!==null||Et.envMap!==Pt||V.fog===!0&&Et.fog!==yt||Et.numClippingPlanes!==void 0&&(Et.numClippingPlanes!==Ut.numPlanes||Et.numIntersection!==Ut.numIntersection)||Et.vertexAlphas!==$t||Et.vertexTangents!==te||Et.morphTargets!==Rt||Et.morphNormals!==le||Et.morphColors!==we||Et.toneMapping!==xe||Et.morphTargetsCount!==Be||!!Et.lightProbeGrid!=T.state.lightProbeGridArray.length>0)&&(ie=!0):(ie=!0,Et.__version=V.version);let dn=Et.currentProgram;ie===!0&&(dn=ua(V,N,k),F&&V.isNodeMaterial&&F.onUpdateProgram(V,dn,Et));let Rn=!1,ii=!1,ji=!1,pe=dn.getUniforms(),be=Et.uniforms;if(y.useProgram(dn.program)&&(Rn=!0,ii=!0,ji=!0),V.id!==q&&(q=V.id,ii=!0),Et.needsLights){let _e=lm(T.state.lightProbeGridArray,k);Et.lightProbeGrid!==_e&&(Et.lightProbeGrid=_e,ii=!0)}if(Rn||Q!==M){y.buffers.depth.getReversed()&&M.reversedDepth!==!0&&(M._reversedDepth=!0,M.updateProjectionMatrix()),pe.setValue(P,"projectionMatrix",M.projectionMatrix),pe.setValue(P,"viewMatrix",M.matrixWorldInverse);let ri=pe.map.cameraPosition;ri!==void 0&&ri.setValue(P,ht.setFromMatrixPosition(M.matrixWorld)),w.logarithmicDepthBuffer&&pe.setValue(P,"logDepthBufFC",2/(Math.log(M.far+1)/Math.LN2)),(V.isMeshPhongMaterial||V.isMeshToonMaterial||V.isMeshLambertMaterial||V.isMeshBasicMaterial||V.isMeshStandardMaterial||V.isShaderMaterial)&&pe.setValue(P,"isOrthographic",M.isOrthographicCamera===!0),Q!==M&&(Q=M,ii=!0,ji=!0)}if(Et.needsLights&&(Xe.state.sunShadowMap.length>0&&pe.setValue(P,"sunShadowMap",Xe.state.sunShadowMap,Y),Xe.state.directionalShadowMap.length>0&&pe.setValue(P,"directionalShadowMap",Xe.state.directionalShadowMap,Y),Xe.state.spotShadowMap.length>0&&pe.setValue(P,"spotShadowMap",Xe.state.spotShadowMap,Y),Xe.state.pointShadowMap.length>0&&pe.setValue(P,"pointShadowMap",Xe.state.pointShadowMap,Y)),k.isSkinnedMesh){pe.setOptional(P,k,"bindMatrix"),pe.setOptional(P,k,"bindMatrixInverse");let _e=k.skeleton;_e&&(_e.boneTexture===null&&_e.computeBoneTexture(),pe.setValue(P,"boneTexture",_e.boneTexture,Y))}k.isBatchedMesh&&(pe.setOptional(P,k,"batchingTexture"),pe.setValue(P,"batchingTexture",k._matricesTexture,Y),pe.setOptional(P,k,"batchingIdTexture"),pe.setValue(P,"batchingIdTexture",k._indirectTexture,Y),pe.setOptional(P,k,"batchingColorTexture"),k._colorsTexture!==null&&pe.setValue(P,"batchingColorTexture",k._colorsTexture,Y));let si=H.morphAttributes;if((si.position!==void 0||si.normal!==void 0||si.color!==void 0)&&U.update(k,H,dn),(ii||Et.receiveShadow!==k.receiveShadow)&&(Et.receiveShadow=k.receiveShadow,pe.setValue(P,"receiveShadow",k.receiveShadow)),(V.isMeshStandardMaterial||V.isMeshLambertMaterial||V.isMeshPhongMaterial)&&V.envMap===null&&N.environment!==null&&(be.envMapIntensity.value=N.environmentIntensity),be.dfgLUT!==void 0&&(be.dfgLUT.value=qS()),ii){if(pe.setValue(P,"toneMappingExposure",I.toneMappingExposure),Et.needsLights&&hm(be,ji),yt&&V.fog===!0&&Nt.refreshFogUniforms(be,yt),Nt.refreshMaterialUniforms(be,V,j,J,T.state.transmissionRenderTarget[M.id]),Et.needsLights&&Et.lightProbeGrid){let _e=Et.lightProbeGrid;be.probesSH.value=_e.texture,be.probesMin.value.copy(_e.boundingBox.min),be.probesMax.value.copy(_e.boundingBox.max),be.probesResolution.value.copy(_e.resolution)}qs.upload(P,md(Et),be,Y)}if(V.isShaderMaterial&&V.uniformsNeedUpdate===!0&&(qs.upload(P,md(Et),be,Y),V.uniformsNeedUpdate=!1),V.isSpriteMaterial&&pe.setValue(P,"center",k.center),pe.setValue(P,"modelViewMatrix",k.modelViewMatrix),pe.setValue(P,"normalMatrix",k.normalMatrix),pe.setValue(P,"modelMatrix",k.matrixWorld),V.uniformsGroups!==