<!-- SOLID-PLAYTIME · part 156 -->
F,0,m.sortObjects),y.finish(),m.sortObjects===!0)y.sort(W,ht);if(vt=P.enabled===!1||P.isPresenting===!1||P.hasDepthSensing()===!1,vt)j.addToRenderList(y,_);if(this.info.render.frame++,Et===!0)Tt.beginShadows();let G=U.state.shadowsArray;if(z.render(G,_,F),Et===!0)Tt.endShadows();if(this.info.autoReset===!0)this.info.reset();let J=y.opaque,N=y.transmissive;if(U.setupLights(),F.isArrayCamera){let ut=F.cameras;if(N.length>0)for(let Mt=0,Pt=ut.length;Mt<Pt;Mt++){let wt=ut[Mt];Os(J,N,_,wt)}if(vt)j.render(_);for(let Mt=0,Pt=ut.length;Mt<Pt;Mt++){let wt=ut[Mt];de(y,_,wt,wt.viewport)}}else{if(N.length>0)Os(J,N,_,F);if(vt)j.render(_);de(y,_,F)}if(T!==null&&A===0)It.updateMultisampleRenderTarget(T),It.updateRenderTargetMipmap(T);if(_.isScene===!0)_.onAfterRender(m,_,F);if(Lt.resetDefaultState(),w=-1,b=null,g.pop(),g.length>0){if(U=g[g.length-1],Et===!0)Tt.setGlobalState(m.clippingPlanes,U.state.camera)}else U=null;if(d.pop(),d.length>0)y=d[d.length-1];else y=null};function Yt(_,F,G,J){if(_.visible===!1)return;if(_.layers.test(F.layers)){if(_.isGroup)G=_.renderOrder;else if(_.isLOD){if(_.autoUpdate===!0)_.update(F)}else if(_.isLight){if(U.pushLight(_),_.castShadow)U.pushShadow(_)}else if(_.isSprite){if(!_.frustumCulled||Ft.intersectsSprite(_)){if(J)yt.setFromMatrixPosition(_.matrixWorld).applyMatrix4(ot);let Mt=E.update(_),Pt=_.material;if(Pt.visible)y.push(_,Mt,Pt,G,yt.z,null)}}else if(_.isMesh||_.isLine||_.isPoints){if(!_.frustumCulled||Ft.intersectsObject(_)){let Mt=E.update(_),Pt=_.material;if(J){if(_.boundingSphere!==void 0){if(_.boundingSphere===null)_.computeBoundingSphere();yt.copy(_.boundingSphere.center)}else{if(Mt.boundingSphere===null)Mt.computeBoundingSphere();yt.copy(Mt.boundingSphere.center)}yt.applyMatrix4(_.matrixWorld).applyMatrix4(ot)}if(Array.isArray(Pt)){let wt=Mt.groups;for(let Vt=0,$t=wt.length;Vt<$t;Vt++){let Ot=wt[Vt],se=Pt[Ot.materialIndex];if(se&&se.visible)y.push(_,Mt,se,G,yt.z,Ot)}}else if(Pt.visible)y.push(_,Mt,Pt,G,yt.z,null)}}}let ut=_.children;for(let Mt=0,Pt=ut.length;Mt<Pt;Mt++)Yt(ut[Mt],F,G,J)}function de(_,F,G,J){let{opaque:N,transmissive:ut,transparent:Mt}=_;if(U.setupLightsView(G),Et===!0)Tt.setGlobalState(m.clippingPlanes,G);if(J)St.viewport(M.copy(J));if(N.length>0)Zn(N,F,G);if(ut.length>0)Zn(ut,F,G);if(Mt.length>0)Zn(Mt,F,G);St.buffers.depth.setTest(!0),St.buffers.depth.setMask(!0),St.buffers.color.setMask(!0),St.setPolygonOffset(!1)}function Os(_,F,G,J){if((G.isScene===!0?G.overrideMaterial:null)!==null)return;if(U.state.transmissionRenderTarget[J.id]===void 0)U.state.transmissionRenderTarget[J.id]=new Is(1,1,{generateMipmaps:!0,type:kt.has("EXT_color_buffer_half_float")||kt.has("EXT_color_buffer_float")?Cc:Ea,minFilter:$o,samples:4,stencilBuffer:s,resolveDepthBuffer:!1,resolveStencilBuffer:!1,colorSpace:ue.workingColorSpace});let ut=U.state.transmissionRenderTarget[J.id],Mt=J.viewport||M;ut.setSize(Mt.z*m.transmissionResolutionScale,Mt.w*m.transmissionResolutionScale);let Pt=m.getRenderTarget(),wt=m.getActiveCubeFace(),Vt=m.getActiveMipmapLevel();if(m.setRenderTarget(ut),m.getClearColor(V),k=m.getClearAlpha(),k<1)m.setClearColor(16777215,0.5);if(m.clear(),vt)j.render(G);let $t=m.toneMapping;m.toneMapping=Ps;let Ot=J.viewport;if(J.viewport!==void 0)J.viewport=void 0;if(U.setupLightsView(J),Et===!0)Tt.setGlobalState(m.clippingPlanes,J);if(Zn(_,G,J),It.updateMultisampleRenderTarget(ut),It.updateRenderTargetMipmap(ut),kt.has("WEBGL_multisampled_render_to_texture")===!1){let se=!1;for(let Re=0,Qe=F.length;Re<Qe;Re++){let Oe=F[Re],{object:He,geometry:zt,material:Je,group:pe}=Oe;if(Je.side===hn&&He.layers.test(J.layers)){let Kn=Je.side;Je.side=fi,Je.needsUpdate=!0,zs(He,G,J,zt,Je,pe),Je.side=Kn,Je.needsUpdate=!0,se=!0}}if(se===!0)It.updateMultisampleRenderTarget(ut),It.updateRenderTargetMipmap(ut)}if(m.setRenderTarget(Pt,wt,Vt),m.setClearColor(V,k),Ot!==void 0)J.viewport=Ot;m.toneMapping=$t}function Zn(_,F,G){let J=F.isScene===!0?F.overrideMaterial:null;for(let N=0,ut=_.length;N<ut;N++){let Mt=_[N],{object:Pt,geometry:wt,group:Vt,material:$t}=Mt;if($t.allowOverride===!0&&J!==null)$t=J;if(Pt.layers.test(G.layers))zs(Pt,F,G,wt,$t,Vt)}}function zs(_,F,G,J,N,ut){if(_.onBeforeRender(m,F,G,J,N,ut),_.modelViewMatrix.multiplyMatrices(G.matrixWorldInverse,_.matrixWorld),_.normalMatrix.getNormalMatrix(_.modelViewMatrix),N.onBeforeRender(m,F,G,J,_,ut),N.transparent===!0&&N.side===hn&&N.forceSinglePass===!1)N.side=fi,N.needsUpdate=!0,m.renderBufferDirect(G,F,J,N,_,ut),N.side=zo,N.needsUpdate=!0,m.renderBufferDirect(G,F,J,N,_,ut),N.side=hn;else m.renderBufferDirect(G,F,J,N,_,ut);_.onAfterRender(m,F,G,J,N,ut)}function Yc(_,F,G){if(F.isScene!==!0)F=Ht;let J=Dt.get(_),N=U.state.lights,ut=U.state.shadowsArray,Mt=N.state.version,Pt=B.getParameters(_,N.state,ut,F,G),wt=B.getProgramCacheKey(Pt),Vt=J.programs;if(J.environment=_.isMeshStandardMaterial?F.environment:null,J.fog=F.fog,J.envMap=(_.isMeshStandardMaterial?be:xe).get(_.envMap||J.environment),J.envMapRotatio