Some bad assumptions in here. Texture fetches = reading data from the textures that are loaded for use. Texture binding = loading the texture from one part of the GPU's ram into texture units. Very slow. You are also falsely correcting renderhjs about the one texture sheet. Every scene is going to get split up into…
You can use as many as you want, but: The GPU works like a factory assembly line. You tweak all the settings, then you send it a large batch of vertices to work on. The bigger and fewer the batches, the better. If you want to upload a different set of textures into the texture units, or change vertex arrays, or change any…
Every scene? We don't know the size of the scene or this engine that mayaterror is using. How large would these arrays have to be? Because he's even entertaining the idea of multiple draw calls per object, I am assuming the scene is fairly complex. I doubt the one sheet approach would be viable for anything other than…