Image Drawing


I would like to draw an Image using glReadPixels.

The problem is I have the color values for my pixels not in different RGB values but in one byte per pixel.

I tried with GL_COLOR_INDEX but it is not working.

Could anyone give me a hint?

Thanks, Andrei.

First, use glDrawPixels.
If the unsigned char is a greyscale, you can use GL_LUMINANCE.
If the unsigned char is an index into a palette (a color image like GIF) and you are in an OpenGL RGBA pixelformat (most likely, almost noone supports color indexed rendering in HW) you need to set up a palette lookup for the colors.
Look at glPixelTransfer and glPixelMap.
Don’t expect good performance.

OpenGL function reference is here: