Resizing textures, multiple render targets, render pass

I’m attempting to use WebGLMultipleRenderTargets within EffectComposer and also respond to window size changes on the rendered canvas. The multiple render targets are used for a post-processing step on the rendered scene. I am also attempting to read a subset of pixels from one of the multiple render targets. From what I know about threejs, reading pixels from a WebGLMultipleRenderTargets isn’t supported in my version (r143) so I am accessing the native WebGL texture using the __webglTexture property and reading pixels using WebGL.

With this setup I’m having an issue where the pixels I read don’t match the rendered scene, but only after the window has been resized. I believe this is due to the textures owned by the multiple render targets aren’t being resized correctly. Looking into this a bit deeper, I found that resizing a texture changes the width/height of an image object, and I also found that this image object is only used within WebGLTextures:resizeImage however this function only seems to support resizing images that are backed by either HTMLCanvasElement, HTMLImageElement, or ImageBitmap. This resize function also prints out some warning logs when the image is resized but I never see these logs.

So it seems like even though the textures are setting the image width/height correctly, resizing textures, specifically textures created for a WebGLMultipleRenderTarget is not supported.

It seems like this boils down to resizing textures for all of textures, multiple render targets, and render pass, but could someone shed some light on what is and is not supported for resizing in threejs?