gl blending

Somehow it seems that my texture pixels alpha is completely ignored when i try to do blending

i do:
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);

// … render something

The only thing that seems to have an effect is when i use
glColor4ub(255,255,255,50);

and then alpha on the ENTIRE rendered polygon is 50

How do i make it use the alpha values on the pixels?

Thanks!

Most probably your RGBA texture is not sent correctly to OpenGL.
Check you image loader, the texture parameters, etc.

if you upload images without alpha they get converted to alpha 255 which is completely opaque. most likely your textures are 24bit or if 32bit then alpha channel is 255 through all pixels.
your alpha blending seems to work fine because glColor4ub(255,255,255,50) works.

Hi all, and thanks for your replies.

i am using GL_BGRA (I’ve tried GL_RGBA as well)
and i definitely set “correct” alpha values in the texture.

So it’s seems that it’s not the issue.


glBindTexture(GL_TEXTURE_2D, g_texid[HAND_TEX]);
		glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
		glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
		glTexImage2D(GL_TEXTURE_2D, 0, 3, img.w, img.h, 0, GL_BGRA, GL_UNSIGNED_BYTE, img.data);

your internal format is 3 though.

Ok thanks a lot that’s probably it.

Thanks!