然后正确显示?一个例子是在矩形中有一个圆球,同时能够在背景中看到另一个纹理.
编辑:此刻,当我加载纹理时,源图像中的透明像素显示为黑色.
对于iPhone和N95,这适用于:
如果要从原始数据加载纹理,请将内部和源格式设置为GL_RGBA.
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, textureWidth, textureHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, pointerToPixels);
渲染时,启用alpha混合:
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glEnable(GL_BLEND);
@Virne提供的答案是正确的,我可以将它用于Android设备,只需进行一些小的修改.myImage
我使用的对象是具有透明度的标准.png图像.
我用这个创建了纹理:
GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, myImage, 0);
而且(像Virne),我在渲染时启用了alpha混合:
gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA); gl.glEnable(GL10.GL_BLEND);