Альфа-смешение OpenGL

Я нашел 5349574673 страницы с альфа-смешиванием, но все еще не могу получить желаемый результат. Я пытаюсь заставить файлы gif / png отображаться правильно (с прозрачностью / полупрозрачностью ) с помощью opengl.

Вот мой бит инициализации:

glEnable(GL_TEXTURE_2D);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); //I've seen this on most tutorials
glDisable(GL_DEPTH_TEST); //it's a 2D game
//...loading matrices and so on

Я УВЕРЕН, что изображения имеют прозрачность и загружаются правильно.
glBlendFunc (GL_ONE, GL_ONE); работает, но я не могу сказать, делает ли он что-нибудь в альфа-канале, поскольку он будет отображаться как черный => смешивание работает
glColor4f (1f, 1f, 1f, 0.3f); работает нормально, я могу рисовать прозрачные штучки

P.S. Я использую этот пример http://lwjgl.org/wiki/index.php?title=Space_Invaders_Example_Game для обучения

EDIT Я использовал другие текстуры, закодированные с GIMP и другие загрузчики текстур, и теперь он работает нормально.

6
задан adrianton3 25 October 2011 в 07:19
поделиться