Having an easy to use texture atlas would be great. Unfortunately, doing it right is not exactly easy. If I recall correctly, there are two big issues:
1) mipmapping – copies of your texture rendered at a lower resolution. You have to make sure that you don’t combine adjacent textures when the mipmaps are calculated.
2) Clamping the texture at the edges of your triangles. You can get some ugly artifacts at the edges of your triangles from neighboring textures. To prevent this, you have to clamp the texture at the edges. I’m pretty sure this needs to be done in the shader.
So, on the surface, a texture atlas seems easy to implement. But there are (at least) the above two issues to deal with. I don’t think these problems are enough to make it hard, but it does mean that whoever implements them needs to know some pretty low-level opengl stuff. That restricts the number of people that can tackle the problem. I wish I knew a bit more about this, because even though I know what the issues are (at least, I think I do), I don’t know how to address them. I’d definitely take a stab at implementing texture atlases if I wasn’t so mystified by glsl. Maybe I’ll get brave and dive into it someday. If any experts have some advice on where to start, I’d appreciate a few pointers.