美文网首页 移动 前端 Python Android Java
OpenGLES滤镜开发汇总 —— 仿抖音六屏特效

OpenGLES滤镜开发汇总 —— 仿抖音六屏特效

作者: cain_huang | 来源:发表于2019-03-08 23:46 被阅读0次

    分屏特效中的六屏特效。六屏特效是横向三等份,纵向缩成一半,然后填充纹理,只有横向三等份部分是裁剪了中间部分,纵向并没有做裁剪处理。shader 如下:

    // 仿抖音六屏特效
    precision highp float;
    uniform sampler2D inputTexture;
    varying highp vec2 textureCoordinate;
    
    void main() {
        highp vec2 uv = textureCoordinate;
        // 左右分三屏
        if (uv.x <= 1.0 / 3.0) {
            uv.x = uv.x + 1.0 / 3.0;
        } else if (uv.x >= 2.0 / 3.0) {
            uv.x = uv.x - 1.0 / 3.0;
        }
        // 上下分两屏,保留 0.25 ~ 0.75部分
        if (uv.y <= 0.5) {
            uv.y = uv.y + 0.25;
        } else {
            uv.y = uv.y - 0.25;
        }
        gl_FragColor = texture2D(inputTexture, uv);
    }
    

    效果如下:


    六分屏特效.png

    相关文章

      网友评论

        本文标题:OpenGLES滤镜开发汇总 —— 仿抖音六屏特效

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