Thank you for quick response,
By specific case I meant drawing VertexArray with a Texture, not necessarily displaying the whole Texture, but having the problem of Texture being too big. Since VertexArray could be drawn with only one Texture, breaking it into multiple Textures wouldn't help and as far as I know, this cannot be done with thor::BigTexture like this:
void draw(sf::RenderTarget& target, sf::RenderStates states) const override
{
states.transform *= getTransform();
const thor::BigTexture* bigTexture;
states.texture = bigTexture; //error
target.draw(m_vertices, states); //m_vertices of type sf::VertexArray
}
If I use multiple smaller Textures that would require multiple VertexArrays and multiple draw calls. Is this achievable in one draw call?
Not that it technically matters, but to be exact: I'm making animated bitmap text, so it makes sense I'll use VertexArray to store characters as quads, just changing texCoords as needed to update animation. With having 256+ glyphs, font sprite sheet image can easily exceed 5000x5000 px size, especially with hi-res glyphs or many animation frames. Even if I make multiple Textures and VertexArrays, not only does performance take an unnecessary hit which may be a tolerable compromise, but also Shaders that modify the VertexArray and the Texture will get messed up and I'm not sure if I'll be able adjust them, provided it's even possible. So I'd like to avoid multiple textures if anyhow possible, or at least mitigate issues caused by using them.