Не работает прозрачность текстуры OpenGL

У меня есть текстура OpenGL, привязанная к простому квадрату.

Моя проблема: Моя текстура 128x128 пикселей образ. Я заполняю это изображение только примерно 100x60 пикселей, остальные пиксели прозрачны. Я сохранил его в файле .png. Когда я рисую, прозрачная часть связанной текстуры белая.

Допустим, у меня есть фон. Когда я рисую этот новый четырехугольник на этом фоне, я могу ' Я не вижу сквозь прозрачную часть моей текстуры.

Есть предложения?

Код:

// Init code...
gl.glEnable(gl.GL_TEXTURE_2D);
gl.glDisable(gl.GL_DITHER);
gl.glDisable(gl.GL_LIGHTING);   
gl.glDisable(gl.GL_DEPTH_TEST);

gl.glTexEnvi(gl.GL_TEXTURE_ENV, gl.GL_TEXTURE_ENV_MODE, gl.GL_MODULATE); 

// Drawing code...
gl.glBegin(gl.GL_QUADS);
gl.glTexCoord2d(0.0, 0.0);
gl.glVertex3f(0.0f, 0.0f, 0.0f);
gl.glTexCoord2d(1.0, 0.0);
gl.glVertex3f(1.0f, 0.0f, 0.0f);
gl.glTexCoord2d(1.0, 1.0);
gl.glVertex3f(1.0f, 1.0f, 0.0f);
gl.glTexCoord2d(0.0, 1.0);
gl.glVertex3f(0.0f, 1.0f, 0.0f);
gl.glEnd();

Я перепробовал почти все, от включения смешивания до GL_REPLACE, однако я не могу заставить его работать.

Изменить:

// Texture. Have tested both gl.GL_RGBA and gl.GL_RGB8.
gl.glTexImage2D(gl.GL_TEXTURE_2D, 0, (int)gl.GL_RGBA, imgWidth, imgHeight,
            0, gl.GL_BGR_EXT, gl.GL_UNSIGNED_BYTE, bitmapdata.Scan0);
20
задан genpfault 7 August 2012 в 16:45
поделиться