Opengl es 纹理上的Opengl渲染纹理将透明部分保留为黑色(见图)
顶部纹理的黑色部分是透明的,但在opengl es中渲染为黑色。 我渲染没有任何混合,不知道这是我需要的 我怎样才能解决这个问题?谢谢 这是我的着色器:Opengl es 纹理上的Opengl渲染纹理将透明部分保留为黑色(见图),opengl-es,Opengl Es,顶部纹理的黑色部分是透明的,但在opengl es中渲染为黑色。 我渲染没有任何混合,不知道这是我需要的 我怎样才能解决这个问题?谢谢 这是我的着色器: precision mediump float; varying vec2 v_texCoord; uniform sampler2D s_texture; uniform lowp float dist
precision mediump float;
varying vec2 v_texCoord;
uniform sampler2D s_texture;
uniform lowp float distance;
uniform lowp float slope;
void main()
{
highp vec4 color = vec4(1.0);
highp float d = v_texCoord.y * slope + distance;
highp vec4 c = texture2D(s_texture, v_texCoord);
c = (c - d * color) / (1.0 -d);
//vec4 textureColor = texture2D( s_texture, v_texCoord );
//gl_FragColor = textureColor;
gl_FragColor = c;
}
我渲染没有任何混合,不知道这是我需要的
是的,如果您希望某些东西是透明的,则需要根据alpha值或丢弃碎片。添加:GLES20.glEnable(GLES20.GL_BLEND);GLES20.glBlendFunc(GLES20.GL_SRC_ALPHA,GLES20.GL_ONE_减去SRC_ALPHA);