internal format

Hello,

Which is the correct value for the internal format for dealing with DIBs ?

I’m using the following:
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, ,w h, 0, GL_BGRA, GL_UNSIGNED_BYTE, NULL);

Is there a GL_BGRA internal format ?

TIA.

wpr

void glTexImage2D(
GLenum target,
GLint level,
GLint internalformat,
GLsizei width,
GLsizei height,
GLint border,
GLenum format,
GLenum type,
const GLvoid *pixels)

GLint internalformat

Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.

I think that in your case, if you use “GL_RGBA”, you’ll use also the alpha but if you use the “GL_RGB”, without the alpha, the result will be the same except if you use an alpha chanel with the texture.

[This message has been edited by Leyder Dylan (edited 12-18-2003).]

The implementation is free to internally store textures in whatever component ordering it likes best. This may be BGRA or even AGRB or something. You don’t need to know. The conversion is automatic.

There’s no need for explicit ordering on internal formats because you never touch them directly.