Non-RGBA Texture Storage



I've got a question that's motivated by curiousity more than
application. If I send a GL_LUMINANCE texture to the graphics card,
how do most implementations span the values across the red, green, and
blue channels? Are three values physically stored, or is just one
stored and somehow all accesses to any of the RGB channels funnel to
this one value? Same with alpha value -- is the implicit alpha of 1.0
at each texel, or just known on lookup?

The red book states that some implementations perform faster with
GL_RGBA over GL_RGB thanks to better memory alignment. This suggests
to me that implementations that perform worse do not store the
implicit alpha of 1.0 for GL_RGB textures (otherwise the memory
alignment would be the same). Is this interpretation correct?

Thanks for any insight!

- Chris

.