0

顶部纹理的黑色部分是透明的,但在 opengl es 中呈现为黑色。我在没有任何混合的情况下渲染,不知道这是我需要的

我该如何解决这个问题?谢谢

这是我的着色器:

    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;
    }

图片

4

1 回答 1

0

我在没有任何混合的情况下渲染,不知道是不是我需要的

是的,如果您希望某些东西是透明的,您需要根据 alpha 值进行混合或丢弃片段。

于 2012-08-17T05:35:51.490 回答