var b=null,c=!1;a?(b=Y.get(a).__webglFramebuffer,a.isWebGLRenderTargetCube&&(b=b[a.activeCubeFace],c=!0),T.copy(a.viewport),Sa.copy(a.scissor),U=a.scissorTest):(T.copy(ea).multiplyScalar(S),Sa.copy(ca).multiplyScalar(S),U=ga);R!==b&&(F.bindFramebuffer(F.FRAMEBUFFER,b),R=b);Z.viewport(T);Z.scissor(Sa);Z.setScissorTest(U);c&&(c=Y.get(a.texture),F.framebufferTexture2D(F.FRAMEBUFFER,F.COLOR_ATTACHMENT0,F.TEXTURE_CUBE_MAP_POSITIVE_X+a.activeCubeFace,c.__webglTexture,a.activeMipMapLevel))};this.readRenderTargetPixels=
function(a,b,c,d,e,f){if(a&&a.isWebGLRenderTarget){var g=Y.get(a).__webglFramebuffer;if(g){var h=!1;g!==R&&(F.bindFramebuffer(F.FRAMEBUFFER,g),h=!0);try{var k=a.texture,m=k.format,t=k.type;1023!==m&&la.convert(m)!==F.getParameter(F.IMPLEMENTATION_COLOR_READ_FORMAT)?console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format."):1009===t||la.convert(t)===F.getParameter(F.IMPLEMENTATION_COLOR_READ_TYPE)||1015===t&&(ia.get("OES_texture_float")||
ia.get("WEBGL_color_buffer_float"))||1016===t&&ia.get("EXT_color_buffer_half_float")?F.checkFramebufferStatus(F.FRAMEBUFFER)===F.FRAMEBUFFER_COMPLETE?0<=b&&b<=a.width-d&&0<=c&&c<=a.height-e&&F.readPixels(b,c,d,e,la.convert(m),la.convert(t),f):console.error("THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete."):console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.")}finally{h&&
F.bindFramebuffer(F.FRAMEBUFFER,R)}}}else console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.")};this.copyFramebufferToTexture=function(a,b,c,d){var e=c.image.width,f=c.image.height,g=la.convert(c.format);this.setTexture2D(c,0);F.copyTexImage2D(F.TEXTURE_2D,d||0,g,a,b,e,f,0)}}function Mb(a,b){this.name="";this.color=new H(a);this.density=void 0!==b?b:2.5E-4}function Nb(a,b,c){this.name="";this.color=new H(a);this.near=void 0!==b?b:1;this.far=void 0!==
F.bindFramebuffer(F.FRAMEBUFFER,R)}}}else console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.")};this.copyFramebufferToTexture=function(a,b,c){var d=b.image.width,e=b.image.height,f=la.convert(b.format);this.setTexture2D(b,0);F.copyTexImage2D(F.TEXTURE_2D,c||0,f,a.x,a.y,d,e,0)}}function Mb(a,b){this.name="";this.color=new H(a);this.density=void 0!==b?b:2.5E-4}function Nb(a,b,c){this.name="";this.color=new H(a);this.near=void 0!==b?b:1;this.far=void 0!==