I’ve noticed setTexture2D has been removed in recent versions of ThreeJS. In my experience this has been a really important function in production applications to give the developer more control about when this texture is first uploaded to the GPU. For example, uploading textures during a preloader rather than waiting until first render (which leads to a huge ‘jank’ in common WebGL apps). Currently, the functionality still seems to exist in the WebGLTextures interface, but not exposed to the user. The only option is to render a scene with the texture visible (such as on a full screen quad in a plain scene with ortho camera), and then immediately afterwards clear the screen in order to ensure there is no ‘flash’ of content displayed to the user.
Is there any particular reason this functionality has been removed?