iOS GPUImage 类似分屏模糊

发布于 2022-09-11 23:15:42 字数 1477 浏览 19 评论 0

我想使用GPUImage实现如下效果:
企业微信截图_85fbbb6d-78cb-4353-b8e7-692329d5d5ce.png
正常视频在中间播放,视频背景为正常视频缩放后高斯处理后的视频同时播放。

但是我使用 GPUImage 处理后,发现效果很差(清晰度明显降低,琴弦和袖口有明显模糊)。
滤镜链为:

standardMovie -> customFilter -> customFilter_atTextureLocation:1
backgroudMovie -> cropFilter -> gaussianBlurFilter -> customFilter -> customFilter_atTextureLocation:0
customFilter -> GPUImageView

customFilter 片元着色器:

precision highp float;
varying vec2 textureCoordinate;
uniform float blurOffsetY;
uniform float blurTextureScal;
uniform sampler2D inputImageTexture;
uniform sampler2D inputImageTexture2;

void main() {
    highp vec2 uv = textureCoordinate;
    vec4 outPutcolor = vec4(0.0,0.0,0.0,1.0);
    if (uv.y >= blurOffsetY && uv.y <= 1.0 - blurOffsetY) {
        outPutcolor = texture2D(inputImageTexture2, vec2(uv.x , (uv.y - blurOffsetY)/(1.0 - 2.0*blurOffsetY)));
    }
    else {
        vec2 center = vec2(0.5, 0.5);
        uv = uv -  center;
        uv = uv / blurTextureScal;
        uv = uv + center;
        outPutcolor = texture2D(inputImageTexture, textureCoordinate);
    }
    gl_FragColor = outPutcolor;
}

35fc5a0c-e919-46df-8e76-73839c4be5da.jpg

刚接触 OpenGL ,求帮助

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文