I'm using glTexSubImage2D with GL_LUMINANCE and GL_UNSIGNED_BYTE to display raw greyscale data from a camera directly - rather than having to repack it into an RGB bitmap manually.
I would like to run the camera in higher resolution mode, with 12 or 14bits/ pixel.
I can do this with simply by setting GL_SHORT
but the camera returns data in big endian and my openGL implementation seems to be drawing it the wrong way around (on x86).
Is there a simple way of telling openGL that the textures are the 'wrong' way round? I would like to avoid manually byteswaping the data just for display because all the other functions expect big endian data.