I’d like to blit some large non-power-or-two 2D images directly onto my scene. glDrawPixels() seems perfect for this, except for one thing - the pixels array it uses has to be stored in processor memory. Is there a way to move this into the GPU’s memory? My image data won’t change very often, so I’m thinking this would boost performance.
Render-to-texture will be much quicker in this case.
Be sure to use glTexSubImage2D and not glTexImage2D after you inited your texture.
As for having an image thats NPOT, either use a NPOT-extension of put it in a POT sized texture and ‘select’ your image with texcoords.
HTH