滤镜

作者: tp夕阳武士 | 来源:发表于2020-05-05 21:15 被阅读0次
    1.分屏

    分屏的实现思路就是调整顶点坐标与纹理坐标的映射关系

    2.灰色滤镜

    灰色滤镜有5种实现方案,都是取比例颜色

    • 浮点算法: Gray = (R0.3 , G0.59 , B*0.11 ,1.0);
    • 整数算法: Gray = (R30 , G59 , B11)/100;
    • 位移算法: Gray = (R76,G151,B*28)>>8;
    • 平均值法: Gray = (R+G+B) / 3;
    • 仅取绿值: Gray = G;
    3.颠倒
    //片元着色器中的代码
    precision highp float;
    uniform sampler2D Texture;
    varying vec2 TextureCoordsVarying;
    
    
    void main (void) {
        
    //思路 : 让y轴纹理翻转, 所以用1减去纹理坐标的y值就可以了
    //纹理坐标的y值取值范围是(0-1);
    vec4 mask = texture2D(Texture, vec2(TextureCoordsVarying.x,1.0-TextureCoordsVarying.y));
        
    gl_FragColor = mask;
        
    }
    

    相关文章

      网友评论

          本文标题:滤镜

          本文链接:https://www.haomeiwen.com/subject/nnfzwhtx.html