Я сейчас пытаюсь загрузить значок с прозрачным фоном.
Затем я создаю из него растровое изображение и пытаюсь отобразить биты с помощью glTexImage2D ().
Но фонзначок никогда не становится прозрачным: (*
Вот мой код:
DWORD dwBmpSize = 32*32*4;
byte* bmBits = new byte[dwBmpSize];
for(unsigned int i = 0; i <dwBmpSize; i+=4)
{
bmBits[i] = 255; // R
bmBits[i+1] = 0; // G
bmBits[i+2] = 0; // B
bmBits[i+3] = 255;// A
// I always get a red square, no matter what value i fill into alpha
}
//create texture from bitmap
glTexImage2D(target, 0,
GL_RGBA, 32, 32,
0, GL_RGBA, GL_UNSIGNED_BYTE, bmBits);
delete bmBits;
Редактировать: я изменил код, чтобы быть уверенным, что мои биты имеют альфа-канал. ТеперьЯ заполняю область pxl размером 32x32 пользовательскими значениями, чтобы увидеть, что происходит, вместо загрузки значка. Он по-прежнему не работает!
Чего мне не хватает? Или это просто невозможно?