Salut
dans le programme que je fais, je n´utilise pas encore la composante alfa, mais au chargement des .BMP (je n´utilise que ça pour l´instant), j´ai ca :
for (i=0; i < infoheader.biWidth*infoheader.biHeight; i++)
{
// We load an RGB value from the file
fread(&rgb, sizeof(rgb), 1, l_file);
// And store it
l_texture[j+0] = rgb.rgbtRed; // Red component
l_texture[j+1] = rgb.rgbtGreen; // Green component
l_texture[j+2] = rgb.rgbtBlue; // Blue component
l_texture[j+3] = 255; // Alpha value
j += 4; // Go to the next position
}
sachant que ´l_texture´ est la donnée des infos de l´image. (tu vois : vu que je n´utilise pas encore le canal alfa, je mets 255...)
Ensuite, on lie la texture à ogl avec ca (apres quelques autres manip):
glTexImage2D(
GL_TEXTURE_2D, //target
0, //mipmap level
4, //nb couleurs
infoheader.biWidth, //largeur
infoheader.biHeight, //hauteur
0, //largeur du bord
GL_RGBA, //type des couleurs
GL_UNSIGNED_BYTE, //codage de chaque composante
l_texture //Image
);