美文网首页
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 * 3.0;
    } else if (uv.x < 2.0 / 3.0) {
        uv.x = (uv.x - 1.0 / 3.0) * 3.0;
    } else {
        uv.x = (uv.x - 2.0 / 3.0) * 3.0;
    }
    if (uv.y <= 1.0 / 3.0) {
        uv.y = uv.y * 3.0;
    } else if (uv.y < 2.0 / 3.0) {
        uv.y = (uv.y - 1.0 / 3.0) * 3.0;
    } else {
        uv.y = (uv.y - 2.0 / 3.0) * 3.0;
    }
    gl_FragColor = texture2D(inputTexture, uv);
}

效果如下:


九屏特效.png

相关文章

网友评论

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

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