I program a 2D game in which I need to copy many images of various sizes, going from 48x48 to 1024x768 pixels.
Everything works fine using glDrawPixels, but it is terribly slow (typically 30 fps on a XP2000+ and GF4, worse than UT2003…). I presume it is caused by the bandwidth limitation between the GPU and the processor memory (maybe I’m wrong, but I’ve tried to change everything - pixel format, pixel transfers are set to default, UNPACK_ALIGNEMENT that I have set to 1 since my images are 24 or 32 bits, and so on -, and it was still too slow.
So, what I would like is to be able to load in the video memory pictures of any size, like in Direct3D, but if I’m right it has to be powers of 2 in OpenGL…
I suppose there must be simple solutions to this problem, but I’ve been through many tutorials and faqs without finding an answer (for example, NeHe always uses small textures, which is not a problem) ? Does anybody have an idea ?
And sorry for my poor English…