I have a block object that can have animated side textures. I can think of 3 ways to do it:
A) I rebuild the vertex buffer every frame with texture data from sprite_get_uvs. Simple, but doesn't seem ideal if the geometry isn't otherwise changing.
B) Set all my animation frames to be on their own texture pages so that they'll all have the same uv data and I can just switch which frame I pass into vertex_submit(..., sprite_get_texture()). No rebuilding the vertex buffer, but otherwise this seems wildly inefficient.
C) Build the vertex buffer once, but set a uniform with the data from sprite_get_uvs, then manually look up the correct pixel data from the texture in a shader.
Are these basically my options? Option C seems like the best (most performant, though not simplest), but for whatever reason I'm a little hesitant to make a shader that does its own texture lookup
