美文网首页
OpenGLES滤镜开发汇总 —— 四分镜

OpenGLES滤镜开发汇总 —— 四分镜

作者: cain_huang | 来源:发表于2018-09-09 13:29 被阅读229次

四分镜无法就是把整张图片缩成四份,然后分别放在左上角、右上角、左下角、右下角等地方。我们可以通过改变UV坐标得到。
四分镜的fragment shader 如下:

varying highp vec2 textureCoordinate;

uniform sampler2D inputImageTexture;

void main() {
    vec2 uv = textureCoordinate;
    if (uv.x <= 0.5) {
        uv.x = uv.x * 2.0;
    } else {
        uv.x = (uv.x - 0.5) * 2.0;
    }
    if (uv.y <= 0.5) {
        uv.y = uv.y * 2.0;
    } else {
        uv.y = (uv.y - 0.5) * 2.0;
    }
    gl_FragColor = texture2D(inputImageTexture, fract(uv));
}

实现效果如下:


四分镜

相关文章

网友评论

      本文标题:OpenGLES滤镜开发汇总 —— 四分镜

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