   3D(ish) grid implementation?
  I'm currently trying to write a simple 3D tile engine (that is, 2D tiles in 3D space -- for now), and I've come to what seems like an extremely silly impasse.I don't know how.  I've got a mesh of vertices and have it outputted to the screen, camera and all, but I don't have a clue as to how I can actually render the tiles and their textures separately.  I could make some sort of supertexture and reduce the mesh's texture coordinates to the [0,1] range, but that seems beyond silly.  I could render each tile as a separate primitive, but I would think that would lead to huge batching problems and loads of excess vertices.How exactly is this done?   
  Render each tile as a separate primitive. It's not too many triangles. Not even close.If you need it for a 2d game (You probably won't), you can stuff the tilemap into a VBO or equivalent.   ;  While it's definitely possible to use gigantic textures (Megatextures -- wikipedia), it's not really necessary for a "simple" 3D tile engine ;)Besides, using megatextures takes away the whole advantage of a tile engine -- the ability to make many different maps with a limited selection of tiles. Every megatexture has to be manually put together/pre-rendered. Even if you manage to automate the process, you're really increasing the complexity of modding your engine.Definitely go with a different primitive for each tile... it makes things a lot simpler, and you'd be surprised how many poly's even an older graphics card can render ;)   ;  Oh, I'm not worried about how many polygons I can render, but how many draw calls I'll have to make, rendering each tile separately.  I won't pretend I've profiled this, but won't the ability to zoom out to... say... 256x256 tiles cause batching issues (65536 draw calls per frame)?   ;  Yes, that probably would. What I am imagining you are imagining when you say 'super texture' is silly. But a tile sheet is not, and would be a perfectly good solution.   ;  This is actually kinda serendipitous...I was just grappling with the exact same question.  I chose SDL and openGL with the primitive quads route.  So far happy, but performance could be a bit better.  (I need to optimize...)  Let us know what you choose, how it turns out..   