OpenGL ES 2.0中透明边缘的问题

时间:2015-09-21 22:25:37

标签: android opengl-es

所以,我在Android中使用OpenGL ES 2.0在3D环境中使用一系列带有图像纹理的正方形制作动态壁纸。我遇到的问题是,我得到一条奇怪的黑线,在相机移动时闪烁。广场应该是透明的,我无法弄清楚导致这个或如何解决它的原因。我尝试过使用Anti Aliasing,并且我已经使用两者来设置透明度         GLES20.glBlendFunc(GLES20.GL_ONE,GLES20.GL_ONE_MINUS_SRC_ALPHA); 和

    GLES20.glBlendFunc(GLES20.GL_SRC_ALPHA, GLES20.GL_ONE_MINUS_SRC_ALPHA);

这就是我的壁纸现在的样子。三层(背景,女孩,草),草和女孩在顶部边缘显示暗线。

enter image description here

任何人都知道我做错了什么,或者如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

所以,看起来Andon M. Coleman是对的。我所要做的就是夹住纹理坐标以去除黑色边缘。 添加:

    GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_S, GLES20.GL_CLAMP_TO_EDGE);
    GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_T, GLES20.GL_CLAMP_TO_EDGE);

似乎可以解决问题。