[Solved] Alpha blending problem

Hey, i’m quite new to lwjgl/opengl however i’ve been writing games in java2d for quite awhile now. So anyways, this is my problem:

I’ve been trying to get alpha blending to work for the past 2 days, i’ve searched endlessly and tried a million different solutions, and i have a weird feeling it’s a very stupid mistake on my behalf, the texture i’m rendering are simply black where it should be transparent.

NOTE: To load and store texture data i’m using the texture class and loader used here: http://lwjgl.org/wiki/index.php?title=Space_Invaders_Example_Game
I have checked the textureloader class and it does load textures with RGBA. Also i tried setting the blend mode to (gl_one, gl_one) and i can see that it does infact blend with that mode.

Here is my gl init code:


	public void initGL() {
		Engine.debug("Initialising OpenGL");
		
		GL11.glMatrixMode(GL11.GL_PROJECTION);
		GL11.glLoadIdentity();
		GL11.glOrtho(0, WIDTH, HEIGHT, 0, -1, 1);
		GL11.glMatrixMode(GL11.GL_MODELVIEW);
		GL11.glLoadIdentity();
		GL11.glViewport(0, 0, WIDTH, HEIGHT);
		
		GL11.glDisable(GL11.GL_DEPTH_TEST);
		GL11.glEnable(GL11.GL_TEXTURE_2D);
		GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
		GL11.glEnable(GL11.GL_BLEND);
		
		Engine.debug("OpenGL Initialised!");
	}

and here is my rendering code:


public void drawTexture(Texture texture, int x, int y, int width, int height) {
		GL11.glPushMatrix();
		
		texture.bind();
		
		GL11.glTranslatef(x, y, 0);
		GL11.glBegin(GL11.GL_QUADS);
		
		GL11.glTexCoord2f(0, 0);
		GL11.glVertex2f(0, 0);
		
		GL11.glTexCoord2f(0, texture.getHeight());
		GL11.glVertex2f(0, height);
		
		GL11.glTexCoord2f(texture.getWidth(), texture.getHeight());
		GL11.glVertex2f(width, height);
		
		GL11.glTexCoord2f(texture.getWidth(), 0);
		GL11.glVertex2f(width, 0);
		
		GL11.glEnd();
		GL11.glPopMatrix();
	}

And finally, here is a screenshot of how it looks:

http://screensnapr.com/e/JwWsi2.png

Are you sure you have an alpha channel in your texture?

yes, positive, i even loaded 2 textures just to check if that was the problem.

EDIT: I checked if the image had an alpha channel in the texture loader and it says it doesn’t, however photoshop/gimp/image viewser all say it does.

EDIT2: Problem solved, textureloader loads the image as an image icon due to ‘signed code’ and then paints it onto a bufferedimage which has a predefined rgb not argb color space.