我画了两个纹理,首先是纹理 A,然后是纹理 B。我总是觉得 A 总是在 b 之上,即使纹理 A 的某些部分是完全透明的,它也只是显示屏幕的背景颜色。这里的背景颜色是指我设置的颜色glClearColor
。但是,无论我更改代码和图片,纹理的透明部分始终具有与背景颜色相同的颜色。
这是我的着色器语言源代码。
precision mediump float;
uniform sampler2D u_sampler;
varying vec2 v_TexCoord;
void main() {
gl_FragColor = texture2D(u_sampler, v_TexCoord);
}
而且我已经启用了混合功能。
glEnable(GL_DEPTH_TEST);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);