I have optimization idea, I dont remember if I talked about that in some of my previous threads. Anyway, here it is - I would texture 3angles from atlas without glBegin/glEnd. My goal is to do it without GLSL because of compatibility reasons. There would be problem with tiling, which I solved sooner with GLSL, and now I want it without. So my first question (I cant find the answer anywhere) is where is actually stored the binded texture? If you will say GPU, then this plan falls.
If you will say CPU, here I go: so far without mipmaps. The atlas will have sub-images stored not as you see them, but linear (it will be like starting pointer, from which the bitmap will be stored in width*height*color of elements, then next one, then next one, and so. Then I will somehow change the place in memory where is pointer to binded texture and its width and height, and change those for particular texture - then render stuff - then change it to next texture values and so. This would save me all the begin-end-bindtexture slowdown AND textures would tile. But. The possibility of solution actually depends on where are those things stored in memory, so... anybody knows?