GPUImage写双输入的滤镜

本文介绍了如何使用GPUImage库创建一个双输入滤镜。通过自定义GLSL着色器文件,可以实现复杂的图像处理效果,如亮度、透明度和混合模式的组合,简化代码并提高效率。GPUImageTwoInputFilter是实现双输入滤镜的基础,允许开发者实现叠加算法。通过实例展示了如何应用滤镜,并指出这种方法适用于需要组合多种滤镜效果的场景,如添加水印。
摘要由CSDN通过智能技术生成

今天主要来讲一下怎么用GPUImage来手撸一个双输入(blend)的滤镜。

那么先说一下为什么要自己手撸多输入的滤镜:

  1. 双输入的滤镜其实是三输入(也就是多个输入端滤镜)的简单版,让大家比较容易上手。

  2. 在实际上写app的时候,往往一个滤镜效果是不能满足需求的,而像:0.5的亮度+0.87的透明度+柔光混合+RGB调整,这种分开做都比较简单,但是合并起来则会使代码变得超长超恶心的效果才是需求,当然可以是利用现成的GPUImage的Filter来叠加达到效果,教程请看:用GPUImage做难一点点的效果 但是这里我们用一个fsh文件来写,那么代码量就大大滴减少了。

双输入的滤镜可以通过GPUImageTwoInputFilter来实现,只要实现了叠加的算法就可以了。

_downSoftLightBlendFilter = [[GPUImageTwoInputFilter alloc] initWithFragmentShaderFromFile:@"customBlendShader"];

customBlendShader.fsh 代码如下:

varying highp vec2 textureCoordinate;
varying highp vec2 textureCoordinate2;

uniform sampler2D inputImageTexture;
uniform sampler2D inputImageTexture2;

void main()
{
    /
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值