OpenGL doesn't expose means to use sub-texture as if it was the whole texture. One way of solving it is using a shader. The other way is to use a whole separate texture. Either way has same data bus overhead since both require an additional GPU draw call, the shader solution will be more computationally intensive to render. Lastly you can indeed use a mesh, but then you'll need to generate sub-quads in the whole thing and generate the whole thing from scratch if the texture coordinates have to move.
I don't need dynamic texture coordinates : I think I'm gonna generate image from the area of the original sheet data with a new image ( I've a limited set of textures for these polygons) :
I don't need dynamic texture coordinates : I think I'm gonna generate image from the area of the original sheet data with a new image ( I've a limited set of textures for these polygons) :
Xs/Ys is the top left corner of your texture quad (normalized) and Xl/Yl is the lower-right corner.
Note how you need two vertices (insert two at every texture end) to loop around the texture since you can't go out of range to wrap like with a seperate texture (:setWrapMode).